劉賀濱 侯超鈞



摘 ?要: 本文針對高校師生作業的管理需求,開發了基于Spring Boot框架與MySQL數據庫的作業管理系統。該系統有教師端、學生端和管理員端,教師端提供課程建立,作業發布與網上批改、作業打包下載等功能,學生端提供作業查看,作業附件下載,作業上傳和作業分數查看等功能,管理員端提供用戶管理和課程管理等功能。系統前端基于Bootstrap框架并結合JavaScript和jQuery進行開發,系統后端采用Spring Boot架構整合開發,使用結果表明能有效提高作業管理效率,可為其他高校的作業管理系統的設計提供有益的參考。
關鍵詞:?Spring Boot;MySQL;作業管理系統
中圖分類號: TP311.52????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2019.09.012
本文著錄格式:劉賀濱,侯超鈞.?基于Java EE在線作業管理系統的設計與實現[J]. 軟件,2019,40(9):55-58
Design and Implementation of Online Assignment Management System Based on Java EE
LIU He-bin, HOU Chao-jun*
(College of Computational Science, Zhongkai University of Agriculture and Engineering, Guangzhou 510225,?China)
【Abstract】: This paper is aim to fulfill the demand from the homework management in university. The assignment management system based on Spring Boot framework and MySQL database is developed. The system is composed of teacher platform, student platform, and administrator platform. In particular, the teacher platform provides functional such as publishing a course, publishing an assignment, packaging a download assignment, and scoring assignments. The student platform provides functional such as applying for a course, downloading a job attachment, uploading an assignment, and viewing an assignment score. The administrator platform provides functional such as adding, deleting users, and deleting courses. The front-end client is developed via the Bootstrap framework together with JavaScript and jQuery. The back-end is implemented with Spring Boot architecture. The system presented an effectively improvement of the efficiency of assignment management, and provided useful reference for the other universities.
【Key words】: Spring boot; MySQL; Assignment management system
在學校日常教學活動中,管理學生作業是必不可少的一個環節。在現有教育技術模式下,使用網絡提交電子版作業已經相當普及,學生不再需要把紙質的作業遞交給老師批改[1]。不少高校都開始使用課程中心或作業管理系統來提供學生作業管理[2-3],如我校由上海卓越睿星數碼科技有限公司開發的課程中心,但普遍存在一些問題,如只提供了簡單的作業發布與上傳功能,沒有給予老師完善的網上作業批改功能,其中批改反饋不靈活、成績錄入和統計不方便、較少提供作業批量下載功能、學生在線答疑交流等方面不完善,沒有充分考慮教師對電子作業批改和反饋等實際需求[4]。
本文開發一個作業管理系統,系統分為教師端,學生端和管理員端,實現了課程管理,學生管理,作業管理,自定義考試和課程討論等功能。軟件界面靈活,操作簡單。系統采用Java EE技術和MySQL數據庫,運用Spring Boot + MyBaits進行項目開發,其中,前端采用Bootstrap框架實現Web頁面設計,運用jQuery框架庫來簡化JavaScript編碼設計,提高編程效率,采用Ajax用于實時異步交互數據,提高了用戶的操作友好。
1.1系統框架設計
本系統架構分為視圖UI層,控制器層(Controller層)、業務層、數據持久層以及邏輯組件層。學生提交作業時,在瀏覽器發起一個業務請求,經過Controller層對請求進行處理,將作業的URL保存至MySQL中。教師下載作業時,在瀏覽器發起一個業務請求,Controller層讀取該作業對應學生提交作業的URL并打包下載對應的文件。系統相應流程圖如圖1所示。
1.2技術實現
系統后臺采用Java EE技術,Spring Boot框架和MyBatis整合實現,前端采用Bootstrap框架與HTML5+CSS3+jQuery技術實現Web頁面設計,以IntelliJ IDEA為后臺開發工具,?MySQL為后臺數據庫,使用Ajax進行實時數據異步更新。
(1)Spring Boot框架
Spring框架被稱為“配置煉獄”,開發者會花費大量時間去理解和編寫各種配置文件。為此,Spring Boot采用“約定優先配置”的思想,把Spring框架中許多原本由開發者編寫的配置文件自動生成默認配置文件[5]。開發者在Spring Boot規定的默認配置下開發,可專心開發業務邏輯,使開發效率更高[6]。
(2)MyBatis框架
MyBatis是一款優秀的持久層框架,支持定制化SQL、存儲過程以及高級映射,避免了JDBC代碼和手動設置參數以及獲取結果集[7],可使用XML或者注解用于配置和原始映射,通過其內部方法將一個Java接口和普通Java對象映射成數據庫中的一個記錄,大大提升了軟件開發效率。
(3)Thymeleaf
Thymeleaf是一個基于XML/XHTML/HTML5模板引擎,能極大地便利前端與后端程序員之間工作交接。前端程序員在瀏覽器查看HTML,則是有瀏覽器解析的結果;后端程序員在服務器端訪問頁面,Thymeleaf標簽會更換其中的靜態數據,展示帶著數據的動態頁面。此外,Spring Boot對Thymeleaf也有非常好的集成,只需簡單配置相應的包,則可進行頁面開發。
(4)MySQL
MySQL是Web應用開發中常用的關系數據庫管理系統[8]。MySQL使用了標準SQL語言形式,支持混合多種編程語言,同時支持大型數據庫,可存儲超過上萬條記錄的數據倉庫。
(5)Bootstrap
Bootstrap框架是一組用于網站和網絡應用程序開發的HTML、CSS和JavaScript框架,提供了相當豐富的組件,可以快速地開發網站的前端界面,通過柵格系統與table表格等組件,可以讓界面的布局設計更加簡便[9]。
(6)數據庫設計
本文采用ER圖來涉及系統數據庫,通過ER圖表示實體類型、屬性和聯系,用以描述作業管理系統的概念模型[10-11]。圖2是對系統設計的E-R圖,對應有10個實體,分別是管理員、學生、教師、課程、學生選課表、學生考試成績表、學生作業成績表、教師任課表、試卷、作業等實體。
系統分教師端、學生端和管理員端。教師端提供學生管理、作業管理和考試管理等功能,學生端提供學生完成作業和參加考試等功能,教師和學生可以通過本系統可以進行在線互相交流,學生能通過與老師和同學之間的交流及時解決在學習過程中遇到的問題,有效提高教學效果。
2.1教師端
教師端有如下七大功能,教師端用例圖如圖3所示。
(1)課程定義功能
教師可以建立多門授課課程,每門課程需要定義相應課程代碼、課程名稱、課程性質、課程簡介、課程學時和課程學分等基本信息。
(2)學生管理功能
課程新建后,教師可根據課程性質進行學生選課管理。如果課程是必修課,老師需要設定其授課的專業班級,將該專業的班級學生統一歸入該課程;如果課程是選修課,老師可以通過手動信息錄入與Excel批量導入兩種方式設置授課學生。對于批量導入,系統提供Excel導入模板,教師根據要求在Excel文件中準備好學生名單信息即可。
(3)作業發布功能
教師可以在課程中發布作業,可以輸入作業要求,并附加該作業所需的圖片資源與文件材料等,并設置參與作業的學生班級。教師可以設定作業發布時間與結束提交時間,可以對過期提交的作業進行設置,如,是否允許學生補交,補交作業可以設置扣減分數等。參與該課程的學生都會收到作業通知。對于超過期限且不容許遲交的作業,學生將無法提交,需要老師重新設置該學生的提交。
(4)作業下載功能
以課程的其中一次作業為單位,提供收集參與該課程的學生作業的功能,對逾期未提交作業的學生統一發出通知。教師可以查看每次作業的收集情況,可以修改學生提交作業的時間,對某次作業,可以對指定學生提交的作業進行統一打包下載。
(5)作業批改功能
老師對作業進行批閱之后,可以給作業打分,并能反饋意見給該同學,對達不到要求作業可以退回學生。還提供老師自定義批改評語,方便教師作業批改。同時,老師可以發布優秀作業,供學生參考借鑒。
(6)試卷發布功能
每個課程均可發布單元考試,考試類型均為選擇題形式,教師可以選擇不同的章節與知識點來組卷,并設置選擇題的組題個數,定義考試時間、截至時間等信息。教師可以在網頁界面錄入題庫,也可以使用Excel模板導入,導入的試題可以設置其所屬的章節與知識點。
2.2學生端
學生端有如下五個功能,學生端用例圖如圖4所示。
(1)作業通知功能
提示學生查看未完成作業,讓學生能準時完成作業。學生提交完作業后,學生可以查看教師批改的作業分數與批改評語,如果作業被教師退回,可以重新提交作業。學生可以在網站上查看老師選出的優秀作業,通過學習優秀作業,促進學生之間互相學習與交流。
(2)作業提交功能
提供了附件上傳的方式,學生可以添加圖片和附件,作業發布時設定了提交期限,超過提交期限且不允許遲交的作業,學生將無法提交。對于設置了允許遲交的作業,學生提交后,系統會做出相應記錄,并設置相應的扣分項。
(3)考試參與功能
學生需要參加課程發布的考試,要在規定時間內完成。超出試卷的截止時間,學生該次考試的分數為0分,考試試題都是選擇題,考試提交后能直接顯示分數。考試成績由系統自動打分,學生提交考試答案后,可查看到考試分數。
(4)交流功能
學生之間、學生和教師之間均可通過交流區進行交流,主要通過發帖的方式進行,其他人都可以對帖子進行回復或增加評論。
2.3管理員端
管理員端具有管理權限和檢索功能,管理員端用例圖如圖5所示。
(1)用戶管理功能
管理員一般為學校的教務員,具有對用戶和課
程管理的權限,能夠對用戶進行管理,如管理教師與學生的個人信息,可以批量導入學生賬號。
(2)課程管理功能
管理員可以通過教師、班級或課程來搜索學生信息,可查看同一個班級的學生,可查看選修了某一個課程的所有學生。可以對課程相關信息進行設置與修改。
2.4系統界面
圖6是教師端作業管理的界面。左邊是系統的導航欄,里面是系統功能的導航。在教師作業管理界面,教師可以查看自己發布的所有作業。在作業信息顯示部分,“操作”欄有“下載作業”按鈕,點擊后邊“下載作業”按鈕,系統會下載打包成壓縮包的形式的學生提交的所有作業。
教師把學生提交的作業批閱之后,可以在作業打分界面給作業打分,作業打分界面如圖7所示。在作業打分界面,可以看到學生提交的作業。教師在最后一欄點擊“評分”按鈕,系統回彈出分數輸入框,輸入相應分數,便可為該作業打分,再次點擊該按鈕可修改分數,打分結果實時更新在該界面。
圖8是學生端作業查看的界面。左邊是系統的導航欄,里面是各種功能的導航。在學生作業管理界面,學生能夠下載老師上傳的附件,當作業完成時,學生能將作業上傳。在作業上傳管理界面,“操作”欄中有兩個按鈕,分別為“下載附件”和“上傳作業”。點擊前一個按鈕即可下載附件,點擊后一個按鈕選中作業即可上傳。
作業管理系統是根據我校教師和學生的作業管理需求,以及現有作業管理系統的一些問題,從易用性和高效性的角度去設計和開發。系統的主要目的是方便教師發布作業,下載作業和作業打分,同時方便學生查看作業,提交作業和查看作業分數。本系統在開發中,使用了目前流行的Spring Boot、MyBatis和BootStrap等開源框架,提供給仲愷的教師和學生一個方便快捷的作業管理平臺,同時本系
統的設計與實現也作為其他高校學生作業管理系統的改進提供一個有益參考。
參考文獻