教务管理系统的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教务管理系统的开发
1 问题分析
教务管理是高校必不可少的管理内容,烦琐、复杂而准确度要求高。随着高校扩招和信息化的进程,教务管理日趋复杂,龙其是选课、排课和成绩管理。在此,围绕选课业务所涉及的业务内容开发一个简单的教务管理系统。教务系统业务包括如下内容。
(1)学生管理:系统管理员对学生基本情况进行登记、删除和修改。学生可以查
看自己的信息。
(2)教师管理:系统管理员对所有专职教师进行曲登记、删除和修改,包括教师
任课信息。教师可以查看自己的信息。
(3)课程管理:系统管理员对本校所有开过课程和新开课程进行登记、删除和修
改。
(4)选课程管理:每学期开学以前要进行学生选课工作。学生可以在所有开设课
程中选择自己尚未选择的课程。
(5)成绩管理:期末考试结束后,教师登录学生成绩,各学院将学生成绩结果报
教务处。学生可以查看自己的成绩。
2 可行性研究
1.经济可行性
2.技术可行性
3.社会可行性
3 面向对象的分析
3.1 建立用例模型
根据问题分析的业务描述,得到系统用例图如图1 所示。每个用例规约如表1 至表9 所示。
表“修改密码”用例规约
表6 “教师信息管理”用例规约
表“选课”用例规约
表“查询成绩”用例规约
3.2 建立类模型
根据用例图寻找系统类(实体类)。本系统中的实体类共有 5 个:用户、学生、课程、
教师、成绩。类图如图2 所示。
1
图教务管理系统的类图
3.3 创建顺序图
有了用例图和用例规约,可以对系统有一个初步的了解,为了更全面地掌握系统的处理流程,下一步可以选用顺序图描述系统的处理顺序。对每个用例或者相关的几个用例可以创建一个顺序图。在本系统中,除了身份验证、修改密码、查询成绩用例外,其余用例涉及的主要内容就是对信息的管理(增加、删除、修改)操作。因为都是同类的处理,所以这里只对学生基本信息管理用例和选课管理创建顺序图,可以用它来理解其他的用例处理过程。
学生信息管理顺序图如图3 所示,选课管理顺序图如图4 所示。
图 4
选课管理顺序图
系统管理员
学生基本信息管理界面
学生基本信息修改界面
学生实体
校验修改信息 (3) 执行修改操作
(2)校验修改信息
(3)
执行修改操作 (1)获得删除信息
4.请求查询
(1)获得查询条件
(2)执行查询
图 3 学生信息管理顺序图
系统管理员 学生
选课界面 选课实体
1.请求选课
1.请求添加
2.请求修改
3.请求删除
(1)校验添加信息
(2)执行添加操作
(1)打开修改页面
(2)执行删除操作
已选课程查询界面 1.1获得课程信息
1.2校验选课数据
1.3执行选课程操
作
4 数据库设计
数据库设计是在DBMS 的支持下,按照应用的要求设计出合理的数据结构。由于采用了面向对象的开发方法,这里给出类模型到关系模型的转化过程。本系统用MySql 数据库,系统数据库名称:教务信息库:jwglxt 。
4.1 类模型到关系模型的转化
对3.3 中得到的类型模型进行分析,有用户、学生、课程、教师、成绩5 个实体类。考虑到实际应用中,教师和所授课程变化频率较高,因此,将关联类授课作为一个单独的关系模式,用来描述教师和所授课程的关系。选课变化的频率较高,将关联类选课也作为一个单独的关系模式。其余各个实体类分别映射成数据库中的关系模式。
4.2 数据库结构
(1)表名:用户信息表(如表10 所示)。标志:systemUser。
)表名:学生信息表(如表所示)。
标志:student。表11 学生信息表
4)表名:教师信息表
5)表名:成绩表
6)表名:教师授课表
7)表名:选课表
5 面向对象的设计
5.1 设计软件类
1.实体类
在OOA 阶段得到的是类图中的类都是实体(关联)类,包括用户实体、学生实体、课程实体、教师实体(教师信息和教师任课信息)、成绩实体、选课关联、授课关联。每个实体类在实现的时候要对应一个数据对象。
2.边界类由用例模型可知,每个用例实现要对应一个页面,也就是一个边界类。其中,“选课” 用例要对应选课和查看选课结果两个页面。在系统实现中,每个边界类要对应一个页面,如果使用JSP制作页面,那么每一个边界类对应一个JSP文件。考虑到再添加一个系统的首页,本系统的边界类有:login.jsp ——用户登录边界类modifyPassword.jsp ——修改密码regist.jsp——注册
index.jsp ——系统首页
3.控制类控制类的作用是控制每个程序的流程和程序的执行状态,而本身尽量不要完成业务功能,通过对各个组件的设计调度完成整个的应用程序。为每个用例实现建立一个控制类,控制用例实现过程的程序流程。原系统共有9个用例,那么需对应9个控制类,由于控制类的实现方式取决于编程使用的程序框架和程序结构,因此在设计阶段不给出控制类的文件名。系统的9 个控制类如下。
(1)登录控制类。接收登录请求,控制登录过程的执行状态,调用模型,得到处理结果,转发请求给index.jsp 。
(2)修改密码控制类。接收修改密码请求,控制修改密码的执行状态,调用模型
modifyPassword.jsp 。
(3)注册控制类。
(4)学生信息管理。
(5)教师信息管理。
(6)课程信息管理。
(7)选课管理。
(8)录入成绩。
(9)成绩查询。
5.2 设计软件体系结构
本系统采用MVC 设计模式搭建程序结构,模型用来完成对业务逻辑的封装;控制器控制各个程序流程,也就是上一步设计的控制类的实现;视图用来显示页面,也就是上一步设计的边界类的实现。
模型部分除了包含对上一步设计的实体类的属性封装外,还需要实现实体类对应的各个方法。对全部的业务功能进行分类,设计各个业务Bean 如下。
1.chooseCourseService.java
用于处理选课业务,包含下面的方法:
student_showCourse() ——显示目前已开设的课程。
insertChooseCourse(String studentName, String[] courseName) ——插入一条选课