网上选课系统java大作业_Java面向对象设计大作业——公选课选课系统
功能調(diào)查與系統(tǒng)功能框架圖
功能
本系統(tǒng)模擬公選課選課系統(tǒng),由學(xué)生或管理員使用該系統(tǒng),管理員可以自定義增加或刪除課程,學(xué)生可以進行選課和查看已選課程。
系統(tǒng)功能框架圖
類的設(shè)計(UML類圖)
類說明
AdministratorService:
說明:管理員對課程的操作
主要方法:addCourse 是向Courses.txt文件中增加課程;
deleteCourse是從Courses.txt文件中刪除相應(yīng)的課程
Course:
說明:課程類
主要屬性:name(課程名稱),teacher(任課教師),numberSelected(課程已選人數(shù)),numberOfStudents(課程限制人數(shù)),ArrayListstudents = new ArrayList<>() (學(xué)生名單,使用ArrayList存儲,使用ArrayList可以很方便的增刪查改學(xué)生名單)
主要方法:add 是向?qū)W生名單中添加學(xué)生;
delete是從學(xué)生名單中刪除某位學(xué)生;
Student:
說明:學(xué)生類
主要屬性:name(學(xué)生名字),private Listelective = new ArrayList<>()(該學(xué)生的課程信息,使用ArrayList存儲,使用ArrayList可以很方便的增刪查改某個或某些課程)
主要方法:add 是向課程信息中添加某個課程;
delete是從課程信息中刪除某個課程;
StudentCourseOperation:
說明:學(xué)生對課程的操作
主要方法:readStuCourse 是從文件中讀取該學(xué)生的課程信息;
writeStuCourse是向文件中寫入該學(xué)生的課程信息;
UserService:
說明:用戶服務(wù)類,包括用戶登錄及注冊
主要屬性:FILE_PATH(用戶文件的路徑),currentUser(當前用戶的用戶名),file(File型變量,登錄后,如果該用戶沒有相應(yīng)的課程txt文件(即首次登錄)則創(chuàng)建一個課程txt文件)
主要方法:login 是用戶登錄;
register是用戶注冊;
系統(tǒng)的包(package)的規(guī)劃設(shè)計
特色
DAO模式
使用了兩個DAO接口,分別是CourseDAO和StudentDAO
好處:雖然現(xiàn)在只用ArrayList進行數(shù)據(jù)存儲,但是如果以后要用數(shù)據(jù)庫或其他數(shù)據(jù)類型存儲數(shù)據(jù)的話,Course類和Student類不用更改,直接新寫一個相應(yīng)的數(shù)據(jù)庫類實現(xiàn)DAO接口即可。
MVC模式
以管理員增加課程的操作舉例:
實現(xiàn)數(shù)據(jù)持久化
使用txt文件存儲用戶名密碼、每個學(xué)生用戶的課程信息,以實現(xiàn)數(shù)據(jù)持久化
使用阿里巴巴代碼規(guī)范掃描插件對項目代碼進行掃描
首次掃描后發(fā)現(xiàn)大量錯誤:
修改代碼規(guī)范后:
使用Git管理代碼
基本完成了系統(tǒng)的初步原型
簡單演示如下:
登錄界面:
注冊界面:
注冊成功:
登錄成功:
選擇身份界面:
學(xué)生界面:
查看已選課程:
確定選課:
管理員操作界面:
總結(jié)
以上是生活随笔為你收集整理的网上选课系统java大作业_Java面向对象设计大作业——公选课选课系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java迪杰斯特拉算法介绍_178-迪杰
- 下一篇: 千影浏览器怎么将首页改成百度?