教务管理系统的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教务管理系统的开发
(采用面向对象方法开发)
1 问题分析
教务管理是高校必不可少的管理内容,烦琐、复杂而准确度要求高。随着高校扩招和信息化的进程,教务管理日趋复杂,龙其是选课、排课和成绩管理。在此,围绕选课业务所涉及的业务内容开发一个简单的教务管理系统。教务系统业务包括如下内容。
(1)学生管理:系统管理员对学生基本情况进行登记、删除和修改。学生可以查看自己的信息。
(2)教师管理:系统管理员对所有专职教师进行曲登记、删除和修改,包括教师任课信息。教师可以查看自己的信息。
(3)课程管理:系统管理员对本校所有开过课程和新开课程进行登记、删除和修改。
(4)选课程管理:每学期开学以前要进行学生选课工作。学生可以在所有开设课程中选择自己尚未选择的课程。
(5)成绩管理:期末考试结束后,教师登录学生成绩,各学院将学生成绩结果报教务处。学生可以查看自己的成绩。
2 可行性研究
1.经济可行性
2.技术可行性
3.社会可行性
3 面向对象的分析
3.1 建立用例模型
根据问题分析的业务描述,得到系统用例图如图1所示。每个用例规约如表1至表9所示。
图1 系统用例图
表2 “注册”用例规约
表7 “选课”用例规约
表8 “录入成绩”用例规约
3.2 建立类模型
根据用例图寻找系统类(实体类)。本系统中的实体类共有5个:用户、学生、课程、教师、成绩。类图如图2所示。
图2 教务管理系统的类图
3.3 创建顺序图
有了用例图和用例规约,可以对系统有一个初步的了解,为了更全面地掌握系统的处理流程,下一步可以选用顺序图描述系统的处理顺序。对每个用例或者相关的几个用例可以创建一个顺序图。在本系统中,除了身份验证、修改密码、查询成绩用例外,其余用例涉及的主要内容就是对信息的管理(增加、删除、修改)操作。因为都是同类的处理,所以这里只对学生基本信息管理用例和选课管理创建顺序图,可以用它来理解其他的用例处理过程。
学生信息管理顺序图如图3所示,选课管理顺序图如图4所示。
图3 学生信息管理顺序图
图4 选课管理顺序图
4 数据库设计
数据库设计是在DBMS的支持下,按照应用的要求设计出合理的数据结构。由于采用了面向对象的开发方法,这里给出类模型到关系模型的转化过程。本系统用MySql数据库,系统数据库名称:教务信息库:jwglxt。
4.1 类模型到关系模型的转化
对3.3中得到的类型模型进行分析,有用户、学生、课程、教师、成绩5个实体类。考虑到实际应用中,教师和所授课程变化频率较高,因此,将关联类授课作为一个单独的关系模式,用来描述教师和所授课程的关系。选课变化的频率较高,将关联类选课也作为一个单独的关系模式。其余各个实体类分别映射成数据库中的关系模式。
4.2 数据库结构
(1)表名:用户信息表(如表10所示)。
标志:systemUser。
(3)表名:学生信息表(如表11所示)。
标志:student。
(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)——插入一条选课
记录。
●finishCouser(String studentName)——查询已选课程。
2.operateService
实现用户的相关操作业务,包含下面的方法:
……
5.3 人机交互界面设计
6 面向对象实现
6.1 制定代码规范
6.2 编写代码