公选课选课系统
1、功能调查
①所有公选课课程界面:
课程列表信息:课程名称 课程类别 任课教师 上课时间地点 人数限制 已选人数
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201208213713204-2050138824.png)
②已选课程界面:
已选课程列表信息:课程名称(选课状态) 课程类别 任课教师 上课时间地点
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201208191724848-708284051.png)
2、系统功能框架图:
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209135940877-601489754.png)
3、类的设计:
①用户:
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209211205881-1786264630.png)
②课程
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209211056973-1785634998.png)
4、类说明:
类:
②User:存放用户相关信息,用户名密码及对于用户信息的获取和修改
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209215638588-1402079478.png)
③UserDaoImpl:登录注册操作,提取文件数据以及将数据存入文件
④Course:存放课程相关信息及对于课程相关信息的获取和修改
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209215704593-1451637623.png)
⑤CourseListDaoImpl:将所有课程存入文件以及从文件中获取所有课程信息,对于课程的增删以及对于课程信息的修改
⑥SelectedCourseListDaoImpl:将所有已选择课程存入文件以及从文件中获取所有已选择课程信息,选择课程以及取消选课
接口:
①UserDao:对于用户操作
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209215110540-659393799.png)
②CourseListDao:对于公选课程操作
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209215928548-1958540668.png)
③SelectedCourseListDao:对于已选课程操作
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209215127877-141600032.png)
5、系统的包(package)的规划设计:
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209204540546-361439947.png)
6、特色
①DAO模式:
1、隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了藕合性,提高了可复用性。
2、隔离了不同数据库实现。采用面向接口编程,如果底层数据库变化,只要增加 DAO 接口的新实现类即可,原有实现不用修改。该原则降低了代码的藕合性,提高了代码扩展性和系统的可移植性。
②数据持久化:分别将用户数据存入文件students.txt,administrators.txt,课程数据存入文件courses.txt,已选课程数据存入文件用户名.txt(不同用户不同文件)中
③Map存储课程:删改课程时,输入课程ID可以直接定位,不需要遍历List
![](https://img2020.cnblogs.com/blog/1778470/202012/1778470-20201209215526626-1908088950.png)
posted @
2020-12-09 14:13
泗汐
阅读(
107)
评论()
编辑
收藏
举报