時(shí)俊雅,黃蘇雨
(武漢東湖學(xué)院 計(jì)算機(jī)科學(xué)學(xué)院,湖北 武漢 430212)
近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,大規(guī)模在線教育資源平臺(tái)受到了學(xué)生、研究者的廣泛關(guān)注,給學(xué)習(xí)環(huán)境和教學(xué)環(huán)境帶來(lái)了重大變革。在線學(xué)習(xí)系統(tǒng)越來(lái)越受到人們的關(guān)注和喜歡,在線教育資源平臺(tái)中的海量學(xué)習(xí)資源為學(xué)生提供了更多選擇和機(jī)會(huì)[1]。在線教育作為教育信息化發(fā)展的新遠(yuǎn)景,為學(xué)生提供了廣泛的學(xué)習(xí)資源和個(gè)性化的學(xué)習(xí)服務(wù)平臺(tái),幫助他們進(jìn)行個(gè)性化的學(xué)習(xí)和主動(dòng)學(xué)習(xí)可以滿(mǎn)足更多學(xué)生的學(xué)習(xí)需求。傳統(tǒng)的線下學(xué)習(xí)需要在特定的時(shí)間和空間進(jìn)行,存在實(shí)踐和空間的限制;缺乏靈活性,表現(xiàn)在課程內(nèi)容不夠個(gè)性化、學(xué)習(xí)進(jìn)度受限;交互和反饋不足,無(wú)法滿(mǎn)足不同學(xué)生的需求。因此,開(kāi)發(fā)一個(gè)基于Java的大學(xué)生在線學(xué)習(xí)系統(tǒng),突破時(shí)間和空間的限制,為教師和學(xué)生提供更多的教學(xué)資源和交流方式具有十分重要的現(xiàn)實(shí)意義[2]。
基于Java的大學(xué)生在線學(xué)習(xí)平臺(tái)的意義是通過(guò)Java技術(shù)進(jìn)行在線學(xué)習(xí)平臺(tái)的管理,利用互聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)課程和教學(xué)資源的數(shù)字化,大大提高了教學(xué)質(zhì)量和學(xué)生的學(xué)習(xí)能力。其目的是促進(jìn)學(xué)生能夠全面發(fā)展,激發(fā)學(xué)生的自主學(xué)習(xí)能力,提高學(xué)生對(duì)學(xué)習(xí)的主動(dòng)性,打破時(shí)間和空間的限制,使學(xué)習(xí)環(huán)境更加多樣化。通過(guò)在線平臺(tái)的學(xué)習(xí),也可以改變學(xué)生的上網(wǎng)不良習(xí)慣,能夠輔助和促進(jìn)課程的學(xué)習(xí)[3]。本系統(tǒng)用Java語(yǔ)言的跨平臺(tái)性和易擴(kuò)展性,結(jié)合spring框架的輕量級(jí)和高效性,構(gòu)建了一個(gè)功能完善、界面友好、操作簡(jiǎn)便的在線學(xué)習(xí)系統(tǒng)。本文將從相關(guān)技術(shù)、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等方面對(duì)系統(tǒng)進(jìn)行詳細(xì)的介紹。
本章將介紹系統(tǒng)所涉及的相關(guān)技術(shù),包括Java語(yǔ)言、Spring框架、MySQL數(shù)據(jù)庫(kù)等。
是一種面向?qū)ο蟆⒕幾g型、跨平臺(tái)的高級(jí)程序設(shè)計(jì)語(yǔ)言,具有簡(jiǎn)單、健壯、安全、可移植等特點(diǎn),是目前最流行的編程語(yǔ)言之一。本系統(tǒng)使用Java作為開(kāi)發(fā)語(yǔ)言,利用其強(qiáng)大的類(lèi)庫(kù)和工具支持各種功能的實(shí)現(xiàn)[3]。
Spring是一種基于Java平臺(tái)的開(kāi)源應(yīng)用程序框架,它提供了一系列模塊來(lái)簡(jiǎn)化企業(yè)級(jí)應(yīng)用開(kāi)發(fā),如控制反轉(zhuǎn)(IoC)、面向切面編程(AOP)、數(shù)據(jù)訪問(wèn)(DAO)、事務(wù)管理(TX)、Web開(kāi)發(fā)(MVC)等。本系統(tǒng)使用spring作為主要的開(kāi)發(fā)框架,采用其MVC模式來(lái)實(shí)現(xiàn)前后端分離,以及利用其他模塊來(lái)提高代碼質(zhì)量和效率[4]。
MySQL是一種開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),支持多種操作系統(tǒng)和編程語(yǔ)言,具有高性能、可擴(kuò)展性、易用性等優(yōu)點(diǎn)。本系統(tǒng)使用MySQL作為數(shù)據(jù)存儲(chǔ)和管理的工具,通過(guò)JDBC驅(qū)動(dòng)來(lái)實(shí)現(xiàn)與Java程序的連接和交互。
本系統(tǒng)主要包括以下功能:
(1)用戶(hù)管理。該模塊負(fù)責(zé)用戶(hù)的注冊(cè)、登錄、修改密碼、用戶(hù)角色的劃分和權(quán)限控制等操作。用戶(hù)分為教師和學(xué)生兩種角色,教師可以創(chuàng)建和管理課程,學(xué)生可以加入和學(xué)習(xí)課程。
(2)課程管理。該模塊負(fù)責(zé)課程的創(chuàng)建、修改、刪除等操作,以及課程的分類(lèi)、查詢(xún)、推薦等功能。每個(gè)課程包含課程信息、課程資源、課程作業(yè)、課程測(cè)試、課程討論等子模塊。
(3)資源分享。該模塊負(fù)責(zé)資源的上傳、下載、預(yù)覽等操作,以及資源的分類(lèi)、查詢(xún)、評(píng)價(jià)等功能。資源包括文檔、視頻、音頻、圖片等多種格式,可以由教師或?qū)W生上傳,也可以從外部鏈接導(dǎo)入。
(4)作業(yè)提交。該模塊負(fù)責(zé)作業(yè)的發(fā)布、提交、批改等操作,以及作業(yè)的查詢(xún)、評(píng)分、反饋等功能。作業(yè)可以由教師發(fā)布,要求學(xué)生在指定時(shí)間內(nèi)完成并提交,教師可以在線批改并給出評(píng)分和反饋。
(5)在線測(cè)試。該模塊負(fù)責(zé)測(cè)試的生成、發(fā)布、參與等操作以及測(cè)試的查詢(xún)、評(píng)分、統(tǒng)計(jì)等功能。測(cè)試可以由教師生成,包括單選題、多選題、判斷題、填空題、問(wèn)答題等多種題型,學(xué)生可以在指定時(shí)間內(nèi)參與測(cè)試并得到自動(dòng)評(píng)分和統(tǒng)計(jì)結(jié)果。
(6)討論區(qū)。該模塊負(fù)責(zé)討論的發(fā)起、回復(fù)、刪除等操作,以及討論的查詢(xún)、推薦、置頂?shù)裙δ堋S懻摽梢杂山處熁驅(qū)W生發(fā)起,針對(duì)某個(gè)課程或某個(gè)話(huà)題進(jìn)行交流和互動(dòng),支持文字、圖片、表情等多種形式的內(nèi)容。
(1)可用性。本系統(tǒng)應(yīng)該具有良好的用戶(hù)界面和用戶(hù)體驗(yàn),方便用戶(hù)進(jìn)行各種操作和交互,提供清晰的提示和反饋信息,避免出現(xiàn)錯(cuò)誤和異常情況。
(2)可靠性。本系統(tǒng)應(yīng)該保證數(shù)據(jù)的完整性和一致性,防止數(shù)據(jù)丟失或損壞,同時(shí)應(yīng)該具有良好的容錯(cuò)能力和恢復(fù)能力,能夠處理各種異常情況,并提供備份和恢復(fù)機(jī)制。
(3)安全性。本系統(tǒng)應(yīng)該保證用戶(hù)的隱私和數(shù)據(jù)的安全性,防止用戶(hù)信息泄露或數(shù)據(jù)被篡改,同時(shí)應(yīng)該提供合理的身份認(rèn)證和權(quán)限控制機(jī)制,防止未授權(quán)的訪問(wèn)和操作。
(4)可維護(hù)性。本系統(tǒng)具有良好的代碼結(jié)構(gòu)和文檔規(guī)范,方便開(kāi)發(fā)者進(jìn)行代碼編寫(xiě)和修改,同時(shí)提供合理的測(cè)試和調(diào)試工具,方便開(kāi)發(fā)者進(jìn)行代碼檢查和錯(cuò)誤定位。
(5)可擴(kuò)展性。本系統(tǒng)具有良好的模塊化和組件化設(shè)計(jì),方便開(kāi)發(fā)者進(jìn)行功能添加和修改,同時(shí)提供合理的接口和協(xié)議規(guī)范,方便開(kāi)發(fā)者進(jìn)行系統(tǒng)集成和協(xié)作。
(1)管理員用例。管理員的功能模塊包括學(xué)生管理、教師管理、學(xué)院管理、課程管理、論壇管理、公告管理。
(2)學(xué)生用例。學(xué)生功能模塊包括登錄系統(tǒng)、管理個(gè)人信息功能、學(xué)習(xí)課程功能、文件查看功能、討論管理、公告查看功能、查看,完成作業(yè)功能。
(3)教師用例。教師模塊功能主要包括課程文件管理功能、發(fā)布討論功能、發(fā)布,查看作業(yè)功能、個(gè)人信息管理功能。
系統(tǒng)的總體功能,可分為3大模塊:管理員模塊、學(xué)生模塊、教師模塊。將這些模塊進(jìn)行總體功能的實(shí)現(xiàn)和系統(tǒng)的完整運(yùn)行。系統(tǒng)結(jié)構(gòu)功能如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)功能
本文根據(jù)系統(tǒng)的功能需求共設(shè)計(jì)了8個(gè)數(shù)據(jù)庫(kù)表,分別為管理員信息存儲(chǔ)管理表(admin)、學(xué)生信息存儲(chǔ)管理表(student)、教師信息存儲(chǔ)管理表(teacher)、課程信息表(course)、作業(yè)信息存儲(chǔ)表(task_question)、討論信息存儲(chǔ)表(discuss)、在線視頻信息存儲(chǔ)表(course_video)、學(xué)院信息存儲(chǔ)表(college)。通過(guò)對(duì)需求的分析描繪出模塊功能的E-R圖,如圖2所示。

圖2 大學(xué)生在線學(xué)習(xí)系統(tǒng)數(shù)據(jù)E-R圖
用戶(hù)可以輸入姓名、身份證號(hào)、手機(jī)號(hào)、密碼、選擇角色注冊(cè)賬戶(hù),同時(shí)輸入對(duì)應(yīng)賬號(hào)密碼,點(diǎn)擊登錄,提示密碼輸入錯(cuò)誤,重新點(diǎn)擊輸入正確密碼就能登錄到相應(yīng)身份的頁(yè)面。
管理員登錄成功后,可以對(duì)學(xué)生信息和教師信息進(jìn)行管理,同時(shí)還具有對(duì)相關(guān)課程進(jìn)行管理的功能。
點(diǎn)擊學(xué)生管理欄進(jìn)行學(xué)生信息查詢(xún),可以清晰地看到每個(gè)學(xué)生的姓名、學(xué)號(hào)、所屬學(xué)院、聯(lián)系電話(huà)、身份證號(hào)、性別等信息,如果學(xué)生信息有誤,可修改為正確的學(xué)生信息。
點(diǎn)擊添加學(xué)生信息,編輯輸入信息,包括學(xué)生姓名、學(xué)號(hào)、電話(huà)、身份證號(hào)等,選擇性別和所屬學(xué)院,然后提交完成,顯示添加成功。
管理員課程管理。管理員可以新增課程,查看課程信息并進(jìn)行增刪改查。
本系統(tǒng)主要包含學(xué)生功能模塊、教師功能模塊、管理員功能模塊。其中,學(xué)生功能模塊包含注冊(cè)登錄、個(gè)人信息管理、課程學(xué)習(xí)等功能。教師功能模塊包含教師身份登錄、個(gè)人信息管理、課程上傳等功能。管理員功能模塊包含系統(tǒng)設(shè)置、用戶(hù)管理、資源管理實(shí)現(xiàn)對(duì)學(xué)生、教師信息的添加、修改、刪除和查詢(xún)等功能。該系統(tǒng)能夠提高學(xué)生的學(xué)習(xí)效率,可以避免傳統(tǒng)教學(xué)模式下時(shí)間和空間的限制,對(duì)學(xué)生來(lái)講學(xué)習(xí)的課程是多樣性的,學(xué)生可以根據(jù)自己的特點(diǎn)學(xué)習(xí),取長(zhǎng)補(bǔ)短,個(gè)性化學(xué)習(xí),節(jié)約時(shí)間,節(jié)約資源,師生交流也更自由方便。