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