面向对象大作业
面向对象第二次大作业
1.功能调查与系统功能框架图:本系统应该包含什么功能、谁使用这个系统。
- 本系统应该包含学生增加课程,删除课程,展示学生所选课程,判断学生是否选课重复或已选满,还包含课程删除学生,添加学生,展示选该课程的学生,判断该课程是否已人满,课程和学生都应该包含老师属性。该系统可以供学生和老师使用。
2.类的设计:UML类图,应展现主要类之间的关系。
3.类说明:说明主要类的属性和主要方法。使用到集合相关(List、Set、Map)类,要重点说明,为什么用这种数据类型存储数据。
- Student类,该类包含学生姓名、ID、选择的科目和课程类数组,主要方法就是增加课程和删除课程,展示学生所选课程,判断是否重复选课以及是否已选满课程。增加课程就是先判断是否已选满,再遍历判断是否已选过,然后增加课程;删除课程先判断是否有这个课,再删除,同时也把在课程类里面的学生删掉;展示课程和判断的两个方法都是遍历数组即可。
- Teacher类,该类包含老师ID、姓名和课程类数组,主要方法就是有参构造函数和无参构造函数。
- Course类,该类包含课程名字、课程ID、课程的老师、课程学分和学生类的数组,主要方法是增加学生,删除学生,展示该课程的学生,判断该学生是否选了该课以及是否该课程已人满。增加学生时,先判断该学生是否已选了该课以及该课程是否已人满,再做增加操作;删除学生时,先判断该学生是否选了该课,再删除;展示学生和判断的两个方法都是遍历数组即可。
- Main类,主要做数据的输入。
4.系统的包(package)的规划设计。
- 该package包含了Student类、Teacher类、Course类和Main主类。
5.特色(可选):
-
是否使用Git管理代码?
-
是否真的已经完成系统的初步原型(可以进行简单演示)。