教务管理系统的开发

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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) ——插入一条选课

相关文档
最新文档