面向对象的选课系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生选课系统
1用户需求
学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。如表3-1
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课操作等;
(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;
(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
B.录入成绩更方便,
2可行性分析
技术可行性
本系统需要配有Office软件的PC机,网络环境和作为数据库服务器的计算机,系统对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求
经济可行性
由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的
人力,物力。
操作可行性
界面设计时充分考虑管理人员的习惯,制作了较精美的人机操作界面,使得操作简单、数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。3系统需求分析
3.1用例图
用例图(图3-7)说明
(1)系统的外部角色有:学生用户、教师用户和管理员。
(2)系统主要用例的文档描述:
①学生管理用例:学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。
②教师管理用例:教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。
③信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、教师信息管理用例和课程信息管理用例。
④学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。
⑤教师信息管理用例:信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。
⑥课程信息管理用例:信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。
⑦修改密码用例:所有用户都可见的功能,用于修改用户的密码信息。
(3)系统用例之间的关系:
①学生管理用例与选课、查看选课、退课三用例之间是包含关系。
②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。
③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。
④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。
⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。
⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。
图3-7 学生选课系统用例图
3.2类图
类图说明:
(1)Admin是管理员类,主要方法有两个:modifyPWD() 用于修改用户的密码;loginCheck() 用于用户登录验证。
(2)Student是学生类,主要方法有:studentAdd() 用于添加学生;studentDel() 用于删除学生;studentUpdate() 用于更新学生信息;getStudents() 用于获取学生列表。
(3)Teacher类是教师类,主要方法有:teacherAdd() 用于添加教师;teacherDel()
用于删除教师;teacherUpdate() 用于更新教师信息;getTeachers() 用于获取教师列表。
(4)Course类是一个课程类,主要方法有:courseAdd() 用于添加课程;courseMod() 用于修改课程;courseUpdate() 用于修改课程信息;getCourses() 用于获取课程列表。
(5)Elect类是一个选课表类,主要方法有:elect() 选修课程;electDel() 退选课程;getElectInfo() 获取选课信息;haveSubmit() 检测是否已提交过成绩;submitScore() 提交成绩。
图3-8学生选课系统类图
3.3顺序图
(1) 学生用户选课的顺序图
图3-10 学生用户选课的顺序图(2) 教师提交成绩顺序图
图3-11 教师提交成绩顺序图
3.4状态图
状态图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期。状态图的任务就是用来描述一个对象所处的可能状态以及状态之间的转移,并给出状态变化序列的起点和终点。
以“课程”这一对象为例,建立课程的状态图。其它对象的状态图不再叙述。
3.2 E-R图分析
经过上述系统功能分析和需求总结,设计如下所示的实体和属性的定义:
课程信息(课程号,课程名,授课教师,教室,剩余名额,上课时间,学分)
学生信息(学号,姓名,性别,班级,出生年月日,是否已选课)
教师信息(姓名,性别,出生年月,所授课程)
学生登录信息(学号,用户名,密码,权限)
教师登录信息(用户名,密码,权限)
学生选课信息(学号,课程号,学期,课程成绩)
教师授课信息(课程号,学期,教室,上课时间,学生名单,学生成绩)
本系统根据上面的设计规划出的实体有:课程信息实体,学生信息实体,教师信息实体,学生登录信息实体,教师登录信息实体,学生选课信息实体,教师授课信息。实体之间关系的E-R图如图3-2所示。