基於Java的選課管理系統的設計與實現
一、項目介紹
針對學校選課存在的漏選、錯選及擁塞的問題,設計並實現一種基於Java語言的選課管理系統。該系統采用B/S結構,前端使用bootstrap框架,后端則由Spring、MyBatis、Maven等多種技術。使用mysql來對選課系統中數據進行處理。
學生選課系統的參與者包括學生, 老師, 系統管理員。系統可以簡單描述如下:學生以學生身份用ID登陸系統, 進入學生主界面可以查詢個人課表, 進行選課操作;教師選擇教師身份用ID登陸系統, 進入教師主界主界面可以查看課表, 選課學生名單, 並打印;系統管理員具有最高權限, 可以控制選課的開始和結束、增刪改課程、管理學生和教師的資料。
二、需求分析
用例(Use Case)的核心概念中首先它是一個業務過程(business process),經過邏輯整理抽象出來的一個業務過程,這是用例的實質。什么是業務過程?在待開發軟件所處的業務領域內完成特定業務任務(business task)的一系列活動就是業務過程。
整體項目業務流程圖如下:
用例圖如下:
三、類圖
識別出設計類圖中的類,以及它的屬性及方法,繪制設計類圖。類圖可以幫助我們識別業務中需求的人、業務概念、物品和事件等,並理清他們之間的關系。需求中提到的各種業務概念、人物等,經抽象后可視之為類。本文類圖主要使用UML圖。
四、數據建模
Student表即學生信息表。主要用於存放學生的信息。
Teacher表。主要用於存儲老師的信息數據。
Course表即課程信息表。主要用於課程信息的存儲。
五、概念原型
概念原型是一種虛擬的、理想化的軟件產品形式。概念原型 = 用例 + 數據模型。
用戶的角色主要分為三類:第一類是系統管理員,主要負責 維護協同管理系統的正常運行。第二類是屬於普通用戶的教 師,可以完成課程的增加刪除與學生成績的登錄管理及在線答 疑等工作。第三類用戶主要是學生,他們只能進行選課與查詢 課程。對於這些用戶,他們通過自己的賬號和密碼能夠正常登 錄選課系統,並且根據用戶角色的不同顯示各自所需的數據和 相關操作按鈕。系統的管理員能夠對整個系統進行管理和維 護;老師能夠使用選課系統進行開設新課程和給所選的課程進 行評分;同學們能夠在選課系統上進行課程的選擇。
1) 表示層。由前端框架 bootstrap和JSP技術設計而成,主 要用於前端界面登錄窗口、管理員窗口、教師窗口和學生選課 窗口的展示和操作,它是用戶與課程管理系統交互的界面。客戶機通過瀏覽器訪問選課系統可以直接進行選課程、開設課 程、維護管理等一系列操作。
2) 中間功能層。該層是選課系統業務處理的核心層,主要 負責前端用戶的請求與處理,后端數據層的數據調用和判斷 等。其主要功能是用戶存儲數據、調用數據和對各種業務邏輯 進行處理。
3) 數據服務層。主要負責學生數據、教師數據、課程數據 等與選課系統相關數據的存儲和訪問,是選課系統數據的大 本營。
六、總結
本文通過軟件工程課堂上學習的知識進行用例建模和業務領域建模,以及數據建模,最終形成概念原型,提升了自己的需求分析和概念原型設計的能力與軟件工程專業素養。通過這次課程,讓我能夠更加抽象的對工程實踐項目進行規范的設計而不是隨意的堆疊,對工程實踐項目的推動很有幫助。