面向对象第二次大作业(公选课系统)

一.前期调查与系统功能结构图

(1)前期调查



(2)系统功能结构框架图

二.UML图

三.类的说明

(1)GeneralElectiveCourse类是一个公选课类,包含公选课的一些属性和获取属性的方法,例如name课程名称、credit学分等,以及重写的toString方法,
属性belong用来存放这门课有哪些学生选择,因为这是一个课程对应多个学生,是一个一对多的关系,且每个学生不能重复选择该门课,所以belong应为集合
类型,想要其内部自动排序,设置成TreeSet
(2)AlternativeClass类是一个可供选择的公选课类,包含了一些可以选择的公选课,因为公修课的数量是不确定的,且考虑到要用下标来进行相关操作,所以
使用ArrayList类型的course来存放课程
(3)MyCourse类是我的课程类,里面存放了用户所选择学习的公选课程,同样的采用ArrayList来进行存取
(4)Student类是学生类,用来存取学生的相关信息,但目前只是这样设计,具体的功能还没实现
(5)Menu类是一个菜单类,用来展示界面

四.系统的包的规划

系统的包划分为ui包和service包,其中ui包存放界面及相关展示代码,而service包提供业务逻辑,包括公选课及

相关操作的处理,例如增加公选课或学生取消公选课等

五.特色

(1)系统的基本功能可以运行,运行结果如下

a.系统界面

b.添加公选课

c.选择想要学习的公选课

d.取消选择的公选课

(2)使用文件进行公选课的存取

a.文件内容格式如下

b.显示所有公选课文件代码如下

c.添加公选课文件代码如下

原文地址:https://www.cnblogs.com/sym2446/p/14089932.html