教务管理系统的开发

发布时间:   来源:文档文库   
字号:

教务管理系统的开发
(采用 面向对象方法 开发)
1 问题分析
教务管理是高校必不可少的管理内容, 烦琐、 复杂而准确度要求高。 随着高校扩招和信 息化的进程,教务管理日趋复杂,龙其是选课、排课和成绩管理。在此,围绕选课业务所涉 及的业务内容开发一个简单的教务管理系统。教务系统业务包括如下内容。
1 2 3 4 5
学生管理:系统管理员对学生基本情况进行登记、删除和修改。学生可以查 看自己的信息。
教师管理:系统管理员对所有专职教师进行曲登记、删除和修改,包括教师 任课信息。教师可以查看自己的信息。
课程管理:系统管理员对本校所有开过课程和新开课程进行登记、删除和修 改。
选课程管理:每学期开学以前要进行学生选课工作。学生可以在所有开设课 程中选择自己尚未选择的课程。
成绩管理:期末考试结束后,教师登录学生成绩,各学院将学生成绩结果报 教务处。学生可以查看自己的成绩。
2 可行性研究
1.经济可行性 2.技术可行性 3.社会可行性
3 面向对象的分析
3.1 建立用例模型
根据问题分析的业务描述,得到系统用例图如图 1 所示。每个用例规约如表 1 至表 9 所示。






1 “身份验证”用例规约
用例名称 用例 ID 参与者 用例说明 前置条件 主事件流
身份验证
P1
使用系统的任何角色 身份验证
1 用户输入用户名、密码,选择用户类型 2 检索用户信息库
1 若输入信息不正确,执行 A1 2 若输入信息正确,执行 3
3.登录到系统管理页面首面
备选事件流 异常事件流



A1 :提示:“输入的信息不正确”
打开系统管理页面首页,记录用户类型
后置条件
2 “注册”用例规约
用例名称 用例 ID 参与者 用例说明 前置条件 主事件流
注册
P2
使用系统的任何角色 注册用户信息
1 用户输入注册用户名、密码和用户类型 2 选择注册功能
1 若该用户已经存在,执行 A1


2 若该用户不存在,执行 3




3.将用户数据写入数据库中
备选事件流 异常事件流



A1 :提示:“该用户已存在”
用户信息被正确更新
3 “修改密码”用例规约
后置条件
用例名称 用例 ID



参与者 用例说明 前置条件 主事件流 备选事件流 异常事件流








后置条件
4 “学生信息管理”用例规约

用例名称

用例 ID

参与者 用例说明 前置条件 主事件流 备选事件流 异常事件流








后置条件
5 “课程信息管理”用例规约

用例名称

用例 ID

参与者 用例说明 前置条件 主事件流 备选事件流 异常事件流







后置条件
6 “教师信息管理”用例规约
用例名称 用例 ID


参与者


用例说明




前置条件 主事件流 备选事件流 异常事件流






后置条件

7 “选课”用例规约
用例名称 用例 ID 参与者 用例说明 前置条件 主事件流 备选事件流 异常事件流










后置条件
8 “录入成绩”用例规约

用例名称

用例 ID 参与者 用例说明 前置条件 主事件流 备选事件流 异常事件流








后置条件

9 “查询成绩”用例规约
用例名称 用例 ID 参与者 用例说明 前置条件 主事件流 备选事件流 异常事件流








后置条件

2“注册”用例规约
用例名称 用例 ID



参与者




用例说明 前置条件 主事件流 备选事件流 异常事件流






后置条件

3.2 建立类模型

根据用例图寻找系统类(实体类) 。本系统中的实体类共有 5 个:用户、学生、课程、
教师、成绩。类图如图 2 所示。
学生

选课

用户
-学生ID -学生姓名 +add( +modify( +delete( +select(

-ID -课程ID -学生ID

-用户 ID
授课


-ID -教师 ID -课程ID +modify(
-密码 -用户名 -用户角色 +add( +select(


+add( +delete( +select(


1



成绩
-ID -课程ID

课程

教师


-课程ID


-教师 ID
**

-学生 ID -成绩 +add( +delete( +select(

1*


-课程名 +add( +modify( +delete( +select(



-教师姓名 +add( +modify( +delete( +select(
2 教务管理系统的类图
3.3 创建顺序图
有了用例图和用例规约, 可以对系统有一个初步的了解, 为了更全面地掌握系统的处理 流程,下一步可以选用顺序图描述系统的处理顺序。 对每个用例或者相关的几个用例可以创 建一个顺序图。在本系统中,除了身份验证、修改密码、查询成绩用例外,其余用例涉及的 主要内容就是对信息的管理(增加、删除、修改)操作。因为都是同类的处理,所以这里只 对学生基本信息管理用例和选课管理创建顺序图,可以用它来理解其他的用例处理过程。
学生信息管理顺序图如图 3 所示,选课管理顺序图如图 4 所示。




系统管理员

学生基本信息管理界面
1.请求添加
学生基本信息修改界面

学生实体
(1校验添加信息
(2执行添加操作
2.请求修改
(1打开修改页面
(2校验修改信息校验修改信
执行修改操作
(3 (3 执行修改操作
3.请求删除
(1获得删除信息
(2执行删除操作




4.请求查询




(1获得查询条件
(2执行查询







3 学生信息管理顺序图
系统管理员 学生
1.请求选课
选课界面 已选课程查询界面 选课实体
1.1获得课程信息
1.2校验选课数据
1.3执行选课程操

4 选课管理顺序图


4 数据库设计
数据库设计是在 DBMS 的支持下,按照应用的要求设计出合理的数据结构。由于采用 了面向对象的开发方法,这里给出 类模型到关系模型的转化 过程。本系统用 MySql 数据库, 系统数据库名称: 教务信息库:
jwglxt
4.1 类模型到关系模型的转化
3.3 中得到的类型模型进行分析,有用户、学生、课程、教师、成绩 5 个实体类。考 虑到实际应用中, 教师和所授课程变化频率较高, 因此, 将关联类授课作为一个单独的关系 模式, 用来描述教师和所授课程的关系。 选课变化的频率较高, 将关联类选课也作为一个单 独的关系模式。其余各个实体类分别映射成数据库中的关系模式。
4.2 数据库结构
1)表名:用户信息表(如表 10 所示)。 标志: systemUser
10 用户信息表
字段名
是否为主键
类型
是否允许为空
备注
用户 ID 密码 用户名 用户角色
id password userName
int
varchar(20 varchar(20
userRole varchar(2
3 表名:学生信息表(如表 11 所示)。
标志: student 11 学生信息表 字段名
是否为主键
类型
是否允许为空
备注 学生 ID 学生姓名
studentId studentName

int
varchar(20 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 编写代码


本文来源:https://www.2haoxitong.net/k/doc/c1be31ca5afafab069dc5022aaea998fcd224015.html

《教务管理系统的开发.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式