《教学管理系统设计与实现》第1页共27页1引言为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率。随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。1.1课题背景随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求[1];信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径.校园网信息系统建设的重要性越来越为成人高校所重视。1.2课题意义利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。[2]例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的软件。[3]在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。《教学管理系统设计与实现》第2页共27页2系统分析2.1需求分析1.需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。[4]新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。2.需求分析的过程1)调查教学组织机构的总体状况。本教学系统主要由教师管理系统,学生管理系统以及教务管理系统。2)熟悉各部门的业务活动状况。调查各部门的业务活动情况,对现行系统的功能和和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。3)对教学管理中各应用的信息要求和操作要求进行详细分析,从中得到:该教学系统的各个应用从数据库中得到哪些信息,这些信息的具体内容和性质是什么,要求完成什么样的处理功能,对某些处理要求的相应时间,既对数据的安全,完整性的要求。4)确定系统的边界。确定整个系统中哪些由计算机完成,哪些将来由系统完成,哪些由人工完成。由计算机完成的功能就是新系统完成的功能。2.2数据字典经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1所示。下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需求。《教学管理系统设计与实现》第3页共27页图2.1教学管理业务流程图1.调查用户需求1)教务处需求�学籍处理:�新生入学档案的录入�毕业学生档案的处理�学生档案的处理包括插入,删除以及修改《教学管理系统设计与实现》第4页共27页学生基本信息的查询�统计功能:按专业,系以及班级统计人数按专业,系以及班级统计学生的成绩以及排名按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正毕业的学生。按专业,系以及班级查询未注册学生的基本信息及人数�教师信息系统的管理:教师档案的录入教师基本信息的查询教师基本信息的更新包括修改,添加和修改教室设备的管理:教室基本信息的录入教室基本信息的查询包括占用情况教室基本信息的更新修改,添加和修改�制定教学计划:根据专业教学秘书提供和教师的任课信息表制定教学计划把教学计划输入课程管理数据库和教师任课数据库排课:根据教学计划为每个专业排课每个专业的学生可以查询自己的课程教务处可以根据教学计划修改课程表将课程表分发给老师,学生,教室管理员和院系�通知:通知学生放假及开学时间通知学生培养计划通知教师教授课程及任课教材发放学生的成绩单《教学管理系统设计与实现》第5页共27页2)学生交费功能:每年按规定的时间缴纳学费如果接到学校的补缴费用通知应该补缴注册:每年在规定的时间内向教务处注册�查询功能:查询考试成绩及班级排名查询课程信息查询教学培养计划查询任课老师的信息查询上课地点及上课时间查询放假及开学通知3)教师工资领取:按规定的时间领取工资考核学生:按照教学大纲的要求对学生考核监督学生的学习进度�查询:查询教学培养计划查询课程表查询学生的总体成绩查询学生所用的教材4)各系需求分班功能:按照男女生平衡的原则进行分班。查询功能:按学生姓名,学号及班级查询查询每个班级成绩最优及最差学生《教学管理系统设计与实现》第6页共27页统计功能:按班级统计男、女生人数,各地区人数及总人数按专业统计男、女生人数,总人数统计各班各科的总成绩及总成绩2.分析用户需求在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示。图2.2教学系统总框架图经分析之后,本系统要用到九个基本表:系表,班级,学生表,课程表,选课表、教室表、占用表、教师表,教授表。数据结构定义如下。系表:定义了系的有关信息系号,系名,系主任班级:定义了班级的有关信息班号,班名,班主任,系号学生表:定义了学生的有关信息学生号:姓名,性别,省份,备注,年龄,班级号课程表:定义了课程的有关信息课程号,课程名,学分,教师号选课表:定义了选课的基本信息学号,课程号,成绩教室表:定义了教室的有关信息教室号,教室名,教室位置占用表:定义了班级使用教室的有关信息班级号:教室号,上课时间,占用学时教师表:定义了教师的有关信息教师号,姓名,职称,性别,年龄教授表:定义了教师教授班级的信息教师号,班级号,课程号,教授时间教学管理系统学生管理系统后勤管理系统教师管理系统学籍管理系统课程管理系统《教学管理系统设计与实现》第7页共27页3系统设计3.1概念结构设计1.概念结构设计概念结构设计的方法与步骤1)概念结构设计的方法设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本教学系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向上地进行需求分析然后再自底上上地进行概念设计。2)概念结构设计的步骤概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视图,得到全局的概念结构。3)数据抽象与局部视图设计按照图3.2教学学管理系统总框架图,设计局部E-R图,如图3.1。图3.1局部E-R图《教学管理系统设计与实现》第8页共27页图3.2教学学管理系统总框架图3.2逻辑结构设计1.逻辑结构设计E-R图向关系模型的转换,将图3.2总体概念结构E-R图转化成关系模型。系表(系号,系名,系主任)主键:系号班级表(班号,班名,班主任,系号)主键:班号外键:系号学生表(学生号,姓名,性别,年龄,班级号)主键:学生号外键:班号课程表(课程号,课程名,学分,教师号)主键:可称号外键:教师号选课表(学号,课程号,成绩)主键:学号可称号外键:学号课程号教室表(教室号,教室名,教室位置)主键:教室号占用表(班级号,教室号,上课时间,占用学时)主键:班级号教室号教师表(教师号,姓名,职称,性别,年龄,工资)主键:教室号教授表(教师号,班级号,课程号,教授时间)主键:教室号班级号1.数据模型的优化数据库德逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的优化。规范《教学管理系统设计与实现》第9页共27页化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。关系数据模型的优化通常以规范化理论为指导,方法为:1)确定数据依赖。分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。根据需求分析可知:a)系表的数据依赖:{系号-系名,系号-系主任}b)班级表的数据依赖:{班号-班名,班号-班主任,班号-系号}c)学生表的数据依赖:{学生号-姓名,学生号-性别,学生号-省份,学生号-年龄,学生号-班级号,学生号-专业}d)课程表的数据依赖:{课程号-课程名,课程号-学分,课程号-任课教师号}e)选课表的数据依赖:{(学生号,课程号)-姓名}f)教室表的数据依赖:{教室号-教室名,教室号-教室位置}g)占用表的数据依赖:{(班级号,教室号)-上课时间,(班级号,教室号)-占用学时}h)教师表的数据依赖:{教师号-姓名名,教师号-职称,教师号-性别,教师号-年龄,教师号-工资}i)教授表的数据依赖:{(教师,班级号)-授课时间,(班级号,教室号)-课程}2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3)按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于3NF。不需要进一步,进行模式分2.数据库的结构给出数据库基本表总体结构图,根据总体结构图设计各表的结构。设计表如下。表3-1系表的结构字段名数据类型长度约束描述Xnochar10主键系号Xnamechar10不为空系名Xdirectorchar10外键系主任表3-2班级表的结构字段名数据类型长度约束描述Cnochar10主键班级号Cnamechar10不为空班级名称《教学管理系统设计与实现》第10页共27页Xnochar10外键系号Cdirectorchar10外键班主任表3-3学生表的结构字段名数据类型长度约束描述Snochar10主键学号Snamechar10不为空姓名Ssexchar2不为空性别Saddrchar10不为空省份SageSmallint5不为空年龄Smajorchar10不为空专业Cnochar10外键班级号表3-4课程表的结构字段名数据类型长度约束描述Courcenochar10主键课程名Courcenamechar10不为空课程名称Ccreditsmallint5不为空学分Courcedirectorchar8外键教师号表3-5选课表的结构字段名数据类型长度约束描述Snochar10外键学号Courcenochar10外键课程名Gradechar10不为空成绩表3-6教室表的结构字段名数据类型长度约束描述Rnochar10主键教室号Rnamechar10不为空教室名Raddrchar10不为空教室位置表3-7占用表的结构字段名数据类型长度约束描述Cnochar10外键班级号Rnochar10外键教室号Stimedatetime上课时间UseTimechar10占用学时表3-8教师表的结构字段名数据类型长度约束描述Tnochar10主键教师号Tnamechar10不为空姓名Tsexchar10不为空性别Tposchar10不为空职称《教学管理系统设计与实现》第11页共27页Tagesmallint不为空年龄Tsalsmallint不为空工资表3-9教授表的结构字段名数据类型长度约束描述Tnochar10外键教师号Cnochar10外键班级号Courcenochar10外键课程号Teachtimedatetime不为空教授时间《教学管理系统设计与实现》第12页共27页4数据库的物理设计和实施4.1数据存储方面1.系统功能模块1)系表信