1、教学事务管理系统实例 教学事务管理系统实例 一、系统分析 1.1 背景分析 随着我国高等教育由精英化教育进入大众化教育,全国各所高校学生人数的增加,社会的信息化发展,教学管理从原来的人工管理逐步向计算机管理成为必然,利用计算机来管理整个教学过程,来提高教学事务管理的效率,从而解决手工管理的效率低、易出错、耗费人力等问题。 通过该系统的实施,将繁杂的教学事务管理等方面通过系统来实施,其中包括对学生的学籍管理,课程的选择,成绩录入,各种通知单的打印输出等。使得教学事务方便快捷,以此来提高学校教学事务的运转效率。 1.2 功能需求分析 1.2.1 总体功能分析 通过对学
2、校教务处、各教学单位的详细调查,要求本系统应具有以下功能: (1)系统使用人员比较多,需要较好的权限管理设置。 (2)提供学生、教师、课程、选课等信息查询。 (3)学生、教师、院系、班级、课程、学生选课等信息的录入、修改、删除操作的管理。 (4)灵活的信息打印功能。 (5)完善的用户管理机制,以增强系统的安全性。 (6)数据备份及恢复功能,保证系统数据的安全性。 1.2.2 可行性分析 复杂的教学事务管理系统软件对于用户而言太庞大、太复杂,使用起来效果并不是很好。这就需要数据库应用系统开发人员开发出一套即界面友好、操作简便,功能又比较强大的教学事务管理系统软件来管理繁杂的教学事
3、务相关信息。 本教学事务管理系统,包括学生、教师、院系、课程、成绩等在内的基础数据管理、数据打印、学生添加选修课、教师修改学生选课信息及系统管理等几部分。 1.2.3总体规划 教学事务管理系统后台是一个以 2005为数据库的管理系统,系统由学生管理平台、教师平台、管理员平台及系统管理模块组成,规划系统功能模块如下。 ⒈ 学生平台主要实现查询功能,还有添加选课功能。 学生平台分为3个部分:学生本人的详细基本信息查询核实,综合查询和实现部分添加选课信息。 ⑴学生本人的详细基本信息查询核实,学生基本信息包括:学号,姓名,性别,密码(提供给学生登录系统进行部分信息操作时使用),入学时间,
4、学籍状态,政治面貌,年龄,联系方式(,电话号码),所属院系,所属专业,所属班级,籍贯,住宿信息(住宿楼号,宿舍号),个人照片等。学生查询核实时,必须输入本人学号,姓名,以及密码。 ⑵综合查询包括查询院系信息,专业信息,班级信息,选课信息,课程信息,成绩信息。查询时,只需要选择相关信息输入相关条件,即可查询。 ⑶实现部分选课信息即学生可以对一些选修课进行选修,但是对必修课不许进行自行选课。 ⒉ 教师平台主要实现查询功能,还有部分学生信息操作功能。 教师平台包括3个部分:本人详细信息查询核实,综合查询,实现学生选课信息的修改。 ⑴本人详细信息查询核实,教师基本信息包括:教师编号和姓名,密
5、码,(供给教师登录该系统时,对系统部分信息进行操作)性别,年龄,教师职称,执教时间,政治面貌,所属院系,联系方式(电子邮箱,电话号码),住宿信息(住宿楼号,宿舍号),籍贯,月薪,个人照片等。查询核实时,教师必须输入:教师编号,姓名,密码。 ⑵综合查询包括查询院系信息,专业信息,班级信息,选课信息,课程信息,成绩信息。查询时,只需要选择相关信息输入相关条件,即可查询。 ⑶实现学生选课信息的操作,修改学生的选课信息即对学生的选课成绩进行录入以及修改。 ⒊ 管理员平台其拥有学生的功能,亦有教师的功能,同时还负责管理教师,学生,以及系统的全部信息。 管理员平台主要有两部分构成,包括基本信息管理
6、和综合查询。 (一)基本信息管理包括以下几个部分: (1)学生基本信息管理。学生基本信息包括:学号,姓名,性别,密码(提供给学生登录系统进行部分信息操作时使用),入学时间,学籍状态,政治面貌,年龄,联系方式(,电话号码),所属院系,所属专业,所属班级,籍贯,住宿信息(住宿楼号,宿舍号),个人照片等。学生信息管理操作包括:①录入学籍信息;②修改学生基本信息(按学号修改);③删除学生基本信息,对休学,退学等的学生的基本信息进行删除;④查询学生信息。 (2)教师基本信息管理。教师的基本信息包括:教师编号和姓名,密码,(供给教师登录该系统时,对系统部分信息进行操作)性别,年龄,教师职称,执教时间
7、政治面貌,所属院系,联系方式(电子邮箱,电话号码),住宿信息(住宿楼号,宿舍号),籍贯,月薪,个人照片等。教师信息管理操作包括:①录入教师基本信息;②修改教师基本信息;③删除教师信息,对不在该校工作了的教师的信息进行删除;④查询教师信息。 (3)院系信息管理。院系信息包括:院系编号,院系名称,负责人,备注信息。院系信息管理操作包括:①添加院系信息;②修改院系信息(按编号修改);③删除院系信息(按编号进行删除);④查询院系信息。 (4)专业信息管理,专业信息包括:专业编号,专业名称,所属院系,备注。专业信息管理操作包括:①添加专业信息;②修改专业信息(按专业编号修改);③删除专业信息(按编
8、号进行删除);④查询专业信息。 (5)班级信息管理,班级信息包括:班级编号,班级名称,班主任,人数,所属专业,所属院系,备注。班级信息管理操作包括:①添加班级信息;②修改班级信息(按班级编号修改);③删除班级信息(按班级编号删除);④查询班级信息。 (6)课程信息管理,课程信息包括:课程编号,课程名,课程类别,课时,学分。课程信息管理操作包括:①添加课程信息;②修改课程信息(按课程编号修改);③删除课程信息(按课程编号删除);④查询课程信息。 (7)选课信息管理,选课信息包括:学生信息(学号,姓名),课程信息(课程编号,课程名),责任教师信息(教师编号,教师姓名),成绩,所得学分。选课信
9、息管理操作包括:①添加选课信息;②修改选课信息(按学号,课程编号,责任教师编号修改);③删除选课信息(按学号,课程编号,责任教师编号删除);④查询选课信息。 (二)综合查询。综合查询包括查询院系信息,专业信息,班级信息,选课信息,课程信息,成绩信息,教师信息。查询时,只需要输入相关信息和其相关的查询条件,即可查询。 (1)查询院系信息:可以按院系编号或院系名称进行查询。 (2)查询专业信息:可以按专业编号、专业名称或所属院系进查询。 (3)查询班级信息:可以按班级编号、班级名称、所属专业或所属院系进行查询。 (4)查询选课信息:可以按学号、课程编号、课程名、课程类别或学生姓名进行查询
10、 (5)查询课程信息:可以按课程编号、课程名或课程类别进行查询。 (6)查询教师信息:可以按教师编号、姓名、所属院系、政治面貌或职称进行查询。 (7)查询成绩信息:可以按班级编号、学生姓名、班级名称或选课科目数进行查询。 (8)查询学生信息:可以按学号、学生姓名、所属班级、所属专业或所属院系进行查询。 ⒋ 系统管理 该模块是把每个使用本系统的人员作为一个用户,可以根据每个使用人员的不同情况所确定的使用范围授予每个用户不同的权限,通过对用户和用户权限的管理保障系统数据的安全性,同时该子系统还具有修改用户密码的功能、数据库备份、数据库还原功能。在这个模块里把用户分为:学生,教师,管理
11、员。不同的角色进入系统后,相应的操作权限不同。学生用户只能进行信息的查询和选课(选修课)登记;教师用户只能对自己的信息进行查询,学生选课成绩录入和修改;管理员用户功能比较强大,可对基本信息的添加,修改,删除,查询操作,能够允许修改密码,备份数据库及还原数据库。 1.3 数据需求分析 1.3.1 系统数据流程图 用户的需求具体体现在各种信息的提供、保存、更新、查询统计打印上,这就要求数据库结构应充分满足各种信息的输入和输出。系统应定义数据结构、收集基本数据以及设置数据处理的流程,组成一份详细的数据字典,为以后的具体设计与实现奠定基础。在仔细分析、调研有关教学管理业务处理过程的基础上,可得到
12、系统的数据流图。 ⒈ 教学事物管理系统顶层数据流图 教学事物管理系统顶层数据流图如图2-2所示。 图2-2 教学事物管理系统顶层数据流图 ⒉ 教学事物管理系统第一层数据流图 教学事物管理系统流程图细化后得到第一层数据流图如图2-3所示 图2-3 教学事物管理系统流第一层数据流图 ⒊ 教学事物管理系统第二层数据流图 教学事物管理系统细化后得到第二层数据流图如图2-4∽图2-7所示 图2-4 教学事物管理系统第二层数据流图 图2-5 教学事物管理系统第二层数据流图 图2-6教学事物管理系统第二层数据流图 图2-7教学事物管理系统第二层数据流图 1.
13、3.2 数据字典 二、系统设计 2.1 功能模块设计 基于需求分析及项目规划的表述,可对上述各项功能按照结构化程序设计的要求进行集中分层结构化,自上而下逐层设置得到系统功能结构图,如图2-1。 图2-1 系统功能结构图 2.2 数据库概念结构设计 数据库概念结构设计就是模型的分析与设计,它是整个数据库设计的关键。图是根据用户的需求,设计各种实体以及它们之间的关系。下面使用实体-联系()模型来描述系统的概念结构,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体实际信息,通过相互之间的作用形成数据的流动。教学事务管理系统的
14、部分实体的图及其关系描述如下。 选课 p n m 图2-8 院系实体与专业实体的图及其关系 图2-9 学生选修教师课程的图及其关系 2.3 数据库逻辑设计 2.3.1 数据库环境说明 考虑该系统的定位与现有技术力量,决定采用 2005作为系统的后台数据库开发环境。 2.3.2数据库命名标准与规范 说明:下表1所列为数据库及各表、视图的命名方法,具体信息请参阅2.4.5表、视图汇总。 表1 数据库及各表、视图的命名方法 名称 类型 命名办法约定 系统数据库 字母 表 基本表 汉字或字母 查询 查询 汉字 字段 字段 汉字
15、或字母 根据教学事务管理系统的总体需求,通过对教学事务管理系统的内容、数据流程分析及系统总体功能模块的梳理,可归纳出系统数据库的逻辑结构,设计并产生下列数据项和数据结构。 图2-9数据库逻辑结构图 2.4. 数据库物理设计 根据上述的数据库概念结构设计与数据库逻辑结构设计的结果,现在可以实施将其转化为 2005数据库系统所支持的实际数据模型,并形成数据库中各个表格之间的关系。 1. 表、视图汇总 表2 教学事务管理系统表、视图汇总 视图/表名 类型 说明 基本表 集中保存系统用户的帐号、密码 基本表 存放学生信息 基本表 存放教师信息
16、 基本表 存放班级信息 基本表 存放学生选课信息 基本表 存放院系信息 基本表 存放专业信息 基本表 存放课程信息 基本表 教师工资信息 基本表 集中存放学生课程成绩 查询 学生课程成绩查询 查询 班级信息查询 查询 课程信息查询 查询 学生信息查询 查询 教师信息查询 查询 选课记录查询 查询 专业记录查询 2.各表、视图设计详解 [说明]:空缺位置表示无要求,主键在约束栏注明。由于篇幅所限,这里只给出重要的表。 基本表:[] 字段名称 数据类型及长度 约束 说明
17、20) 学号(主键) (50) 密码 (30) 姓名 (2) ‘男’或 ‘女’ 性别 年龄 (50) 政治面貌 (50) 职务 (20) 院系编号(外键) (20) 专业编号(外键) (50) 学生电子邮箱 (20) 电话 (20) 班级编号(外键) 入学时间 (10) 学生学籍状态 (100) 籍贯 学生相片 (10) 学生所住楼号 (10) 宿舍号 基本表:[] 字
18、段名称 数据类型及长度 约束 说明 (10) 系统管理员编号 (30) 管理员姓名 (10) 管理员密码 基本表:[] 字段名称 数据类型 约束 说明 (20) 教师编号 (50) 教师密码 (30) 姓名 (2) ‘男’或 ‘女’ 性别 (10) 政治面貌 年龄 执教时间 (20) 院系编号(外键) (50) 教师职务 (50) 教师电子邮箱 (20) 教师电话 (10) 教师所住楼号
19、 (10) 教师宿舍号 (100) 教师籍贯 教师相片 基本表:[] 字段名称 数据类型 约束 说明 (20) 院系编号(主键) (50) 院系名称 (50) 院系负责人 院系备注 基本表:[] 字段名称 数据类型 约束 说明 (20) 专业编号(主键) (20) 院系编号(外键) (50) 专业名称 (50) 专业负责人 专业备注 基本表:[] 字段名称 数据类型 约束 说明 (20) 班级编号
20、主键) (20) 院系编号(外键) (20) 专业编号(外键) (20) 班级名称 (20) 班主任 人数 备注 基本表:[] 字段名称 数据类型 约束 说明 (20) 课程编号(主键) (30) 课程姓名 (50) 课程类别 课程课时 课程学分 基本表:[] 字段名称 数据类型 约束 说明 (20) 课程编号(外键) (20) 学号(外键) (20) 教师编号(外键) (50)
21、 选课时间 成绩 学分 (10) 总评 视图:[学生选课信息统计] 图2-10 学生选课信息统计视图结构 视图:[学生信息查询] 图2-11 学生信息查询视图结构 视图:[专业信息查询] 图2-12 专业信息查询视图结构 注:由于篇幅所限,其他视图结构:[略]。 三、系统实现 3.1 系统架构设计 主文件架构如图2-13所示。 图2-13主文件架构图 3.2 系统实现 3.2.1数据库的实现 经过上述的需求分析和概念结构设计后,得到数据库的逻辑结构。现在就可以在 2005数据库的系统中实现该逻辑结构。教
22、学事务管理系统由11个数据表、31个存储过程和7个视图构成,其中数据表/视图结构参见2.4节。由于篇幅所限,存储过程的创建以学生信息的操作(添加、删除、修改、查询)为例。 (1)创建添加学生信息的存储过程 (20), (50), (30), (2), , (50), (50), (50), (50), (20), (50), (20), , (10), (100), , (10), (10) (20) (20) (20) () ()
23、 1 (2)创建修改学生信息的存储过程 (20), (30), (50), (2), , (50), (50), (50), (50), (50), (20), (20), , , (10), (100), (10), (10) (20) (20) (20) '休学' '退学' 1 ( ) , , , , , , , , , , , , ,
24、 , , , (3)创建删除学生信息的存储过程 (20) (20) 1 (4)创建查询学生信息的存储过程 (20), (100), (50) , (2) , , (50) , (50) , (50) , (50) , (50) , (20) , (20), , (10) , (100) , (10) , (10) 学号, 密码, 姓名, 性别, 年龄, 职务, 院
25、系, 专业, 政治面貌, , 电话号码, 班级, 入学时间, 学籍状态, 籍贯, 楼号, 宿舍号 学号 3.2.2子功能模块的实现 ①登录界面() 为了保证系统的安全,本系统设置了三种身份验证模式:学生(只能使用学生模块)、教师(只能使用教师模块)、管理员(具有系统的全部权限)。系统登录界面如图2-14所示。 图2-14系统登录界面 系统登录模块的主要代码如下: 登录按钮 1( , e) { ( "" "") {
26、 ("请你输入完整的登录信息"); } { i = 0; (); 以学生身份登录系统 1 = (" * '" + + "' '" + + "'", ); 1 = 1(); (1()) { i = 1;
27、 = (); (); (); = ; = ; = ; } 1(); 以管理员身份登录系统 2 = (" * '" + + "' '" + + "'", );
28、2 = 2(); (2()) { i = 1; = (); (); (); = ; = ; = ; = ; }
29、2(); 以教师身份登录系统 3 = (" * '" + + "' '" + + "'", ); 3 = 3(); (3()) { i = 1; = (); (); (); = ;
30、 = ; = ; = ; = ; } (i 0) { ("用户信息不正确!请你重新输入"); = ""; = ""; } 3();
31、 (); } } 取消按钮 ( , e) { (); } 重置按钮 ( , e) { = ""; = ""; } ②教学事务管理系统主界面() 设计美观、简洁、导航方便的系统主界面,能提高用户的工作效率。教学事务管理系统的主界面如图2-15所示。 图2-15系统主界面 系统主界面的主要代码如下:
32、 ( , e) { = (); (); } ( , e) { = (); (); } ( , e) { = (); (); } ( , e) { (); }
33、 ( , e) { (); f = (); (); } ( , e) { = (); (); } ( , e) { = (); (); } ( , e) { = ();
34、 (); } ( , e) { = (); (); } 1( , e) { (); f = (); (); } 1( , e) { (); } ( , e) {
35、 = (); (); } ( , e) { = (); (); } ③学生平台() 学生平台包括:个人信息查询(如图2-16所示)、综合信息查询(如图2-17所示)、添加选课信息(如图2-18所示)。 图2-16学生平台—个人信息查询 图2-17学生平台—综合信息查询 图2-18学生平台—添加选课信息 学生平台模块的主要代码如下: : { =
36、); () { (); } ( ) { = (); (); = (, ); [] b = ([])(); ( > 0) { = (b, ); (b, 0, ); 1 = ();
37、 (); } (); } 学生个人信息查询模块按钮 ( , e) { = (); (); = ("", ); 设置命令的类型为存储过程 = ; ("", ,20) = ; ("", ,100) = ; ("", ,100) = ;
38、 属于输出类型参数 ("", , 2); ("", ); ("", ,100); ("", ,100); ("", ,100); ("", ,20); ("", ,100); ("", , 100); ("", ,100); ("", ); ("", ,100); (""
39、 ,100); ("", ,100); ("", ,100); 设置参数的类型为输出参数,默认情况下是输入, [""] = ; [""] = ; [""] = ; [""] = ; [""] = ; [""] = ; [""] = ; [""] = ; [""] = ;
40、 [""] = ; [""] = ; [""] = ; [""] = ; [""] = ; 执行存储过程 (); { (" 头像 学号='" + + "'"); } () { } 2 = [""](
41、); = [""](); = [""](); = [""](); = [""](); = [""](); = [""](); = [""](); = [""](); = [""](); = [""]();
42、 = [""](); = [""](); = [""](); = [""](); = [""](); 1 = [""](); = " * 学号='" + + "' 姓名='" + + "' 密码='" + + "'"; 1 = (, ); = (); 1();
43、 2 = [0]; (, "查询成功", "信息提示", , ); (); } 1( , e) { (1 "选课信息") { 2(); 2("全部"); 2("学号"); 2("姓名"); 2("课程名"
44、); 2("课程类别"); 2("课程编号"); } (1 "学生信息") { 2(); 2("学号"); 2("姓名"); 2("所属班级"); 2("所属专业"); 2("所属院系"); }
45、 (1 "班级信息") { 2(); 2("全部"); 2("班级编号"); 2("班级名称"); 2("所属院系"); 2("所属专业"); } (1 "院系信息") { 2(); 2("全部");
46、 2("院系编号"); 2("院系名称"); } (1 "专业信息") { 2(); 2("全部"); 2("专业编号"); 2("专业名称"); 2("所属院系"); } (1 "课程信息") {
47、 2(); 2("全部"); 2("课程编号"); 2("课程名称"); 2("课程类别"); } (1 "成绩信息") { 2(); 2("全部"); 2("学号"); 2("姓名"); 2
48、"班级编号"); 2("班级名称"); 2("选课科目数"); } } 学生综合信息查询模块按钮 ( , e) { = (); (); = ""; (1 "选课信息") { (2 "学号") {
49、 = " * 学号='" + 1 + "'"; } (2 "全部") { = " * "; } (2 "姓名") { = " * 姓名='" + 1 + "'"; } (2 "课程名")
50、 { = " * 课程名='" + 1 + "'"; } (2 "课程类别") { = " * 课程类别='" + 1 + "'"; } (2 "课程编号") { = " * 课程编号='" + 1 + "'






