1、教学管理系统设计与实现教学管理系统设计与实现1引言为方便对学校日常工作进行高效的管理,设计此数据库以提高学校的管理效率.随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立教学管理信息系统是一个很好的解决办法。1.1课题背景随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视
2、.1.2课题意义利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,
3、与世界接轨的软件。3 在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述.2 系统分析2。 需求分析1.需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书.重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求.为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确
4、定新系统的功能。新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。2.需求分析的过程1)调查教学组织机构的总体状况。本教学系统主要由教师管理系统,学生管理系统以及教务管理系统.2)熟悉各部门的业务活动状况。调查各部门的业务活动情况,对现行系统的功能和和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。3)对教学管理中各应用的信息要求和操作要求进行详细分析,从中得到:该教学系统的各个应用从数据库中得到哪些信息,这些信息的具体内容和性质是什么,要求完成什么样的处理功能,对某些处
5、理要求的相应时间,既对数据的安全,完整性的要求.4)确定系统的边界。确定整个系统中哪些由计算机完成,哪些将来由系统完成,哪些由人工完成。由计算机完成的功能就是新系统完成的功能。2。2 数据字典 经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2。1 所示下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需求。 图2。1教学管理业务流程图 1.调查用户需求1)教务处需求 学籍处理: 新生入学档案的录入 毕业学生档案的处理 学生档案的处理包括插入,删除以及修改学生基本信息的查询
6、8; 统计功能:按专业,系以及班级统计人数按专业,系以及班级统计学生的成绩以及排名按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正毕业的学生。按专业,系以及班级查询未注册学生的基本信息及人数 教师信息系统的管理:教师档案的录入教师基本信息的查询教师基本信息的更新包括修改,添加和修改教室设备的管理:教室基本信息的录入教室基本信息的查询包括占用情况教室基本信息的更新修改,添加和修改 制定教学计划:根据专业教学秘书提供和教师的任课信息表制定教学计划把教学计划输入课程管理数据库和教师任课数据库排课:根据教学计划为每个专业排课每个专业的学生可以查询自己的
7、课程教务处可以根据教学计划修改课程表将课程表分发给老师,学生,教室管理员和院系 通知:通知学生放假及开学时间通知学生培养计划通知教师教授课程及任课教材发放学生的成绩单2)学生交费功能:每年按规定的时间缴纳学费如果接到学校的补缴费用通知应该补缴注册:每年在规定的时间内向教务处注册 查询功能:查询考试成绩及班级排名查询课程信息查询教学培养计划查询任课老师的信息查询上课地点及上课时间查询放假及开学通知3)教师工资领取:按规定的时间领取工资考核学生:按照教学大纲的要求对学生考核监督学生的学习进度查询:查询教学培养计划查询课程表查询学生的总体成
8、绩查询学生所用的教材4)各系需求分班功能:按照男女生平衡的原则进行分班查询功能:按学生姓名,学号及班级查询查询每个班级成绩最优及最差学生统计功能: 按班级统计男、女生人数,各地区人数及总人数按专业统计男、女生人数,总人数统计各班各科的总成绩及总成绩2.分析用户需求在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA 方法).首先,定义全局概念结构的框架,如图。所示 图22 教学系统总框架图经分析之后,本系统要用到九个基本表:系表,班级,学生表,课程表,选课表、教室表、占用表、教师表,教授表。数据结构定义如下。系表:定义了系的有关信息系号,系名,系主任班级:
9、定义了班级的有关信息班号,班名,班主任,系号学生表:定义了学生的有关信息学生号:姓名,性别,省份,备注,年龄,班级号课程表:定义了课程的有关信息课程号,课程名,学分,教师号选课表:定义了选课的基本信息 学号,课程号,成绩教室表:定义了教室的有关信息 教室号,教室名, 教室位置占用表:定义了班级使用教室的有关信息班级号:教室号,上课时间,占用学时教师表:定义了教师的有关信息教师号,姓名,职称,性别,年龄教授表:定义了教师教授班级的信息 教师号,班级号,课程号,教授时间 3 系统设计3。1概念结构设计1.概念结构设计概念结构设计的方法与步骤1)概念结构设计的方法 设计概念结构通常有四类方法:自顶向
10、下,自底向上,逐渐扩张以及混合策略。本教学系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向上地进行需求分析然后再自底上上地进行概念设计。2)概念结构设计的步骤 概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视图,得到全局的概念结构.3)数据抽象与局部视图设计按照图3.2教学学管理系统总框架图,设计局部R图,如图3.1。 图。局部ER 图图3.2教学学管理系统总框架图3。 逻辑结构设计 1.逻辑结构设计R 图向关系模型的转换,将图3。2总体概念结构ER 图转化成关系模型.系表(系号,系名,系主任)主键:系号班级表(班号,班名,班主任
11、,系号)主键:班号 外键:系号学生表(学生号,姓名,性别,年龄,班级号)主键:学生号 外键:班号课程表(课程号,课程名,学分,教师号)主键:可称号 外键:教师号选课表(学号,课程号,成绩)主键:学号 可称号 外键:学号课程号教室表(教室号,教室名, 教室位置)主键:教室号占用表(班级号,教室号,上课时间,占用学时)主键:班级号 教室号教师表(教师号,姓名,职称,性别,年龄,工资)主键:教室号教授表(教师号,班级号,课程号,教授时间)主键:教室号班级号1.数据模型的优化数据库德逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的
12、优化。规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。关系数据模型的优化通常以规范化理论为指导,方法为:1)确定数据依赖。分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。根据需求分析可知:a)系表的数据依赖 :系号系名,系号-系主任b)班级表的数据依赖:班号班名,班号班主任,班号-系号c)学生表的数据依赖:学生号姓名,学生号性别,学生号省份,学生号年龄,学生号班级号,学生号专业d)课程表的数据依赖:课程号-课程名,课程号学分,课程号任课教师号e)选课表的数据依赖:(学生号,课程号)-姓名f)教室表的数据依
13、赖:教室号教室名,教室号教室位置g)占用表的数据依赖:(班级号,教室号)上课时间,(班级号,教室号)-占用学时h)教师表的数据依赖:教师号姓名名,教师号-职称,教师号性别,教师号-年龄,教师号工资i)教授表的数据依赖:(教师,班级号)授课时间,(班级号,教室号)课程2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3)按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于N.不需要进一步,进行模式分2.数据库的结构给出数据库基本表总体结构图,根据总体结构图设计
14、各表的结构。设计表如下。表3 系表的结构字段名数据类型长度约束描述oar0主键系号 Xnamec10不为空系名Xiecorchar10外键系主任表3- 班级表的结构字段名数据类型长度约束描述Cncha10主键班级号 necha10不为空班级名称Xca10外键系号Cdircorchar10外键班主任表3 学生表的结构字段名数据类型长度约束描述Sr10主键学号Snamchar10不为空姓名Ssexhr2不为空性别Sddrcha不为空省份SaeSmllint5不为空年龄Smajorchar0不为空专业Cnocr0外键班级号表34 课程表的结构字段名数据类型长度约束描述Coucochar10主键课程名
15、rcenamechar0不为空课程名称Ccretsmllint5不为空学分Corcediectar8外键教师号表35 选课表的结构字段名数据类型长度约束描述Snocha1外键学号Courcenchr10外键课程名Gradechr不为空成绩表36教室表的结构字段名数据类型长度约束描述Rcha1主键教室号Ramecha10不为空教室名Raddchar10不为空教室位置表37 占用表的结构字段名数据类型长度约束描述Cnochr10外键班级号Rnocha10外键教室号Stimdaetime上课时间UsTmechr10占用学时表- 教师表的结构字段名数据类型长度约束描述Tnocr0主键教师号Tnmear
16、不为空姓名Tsexchr10不为空性别Tposchar0不为空职称Tagesalnt不为空年龄Tsasalln不为空工资表39教授表的结构字段名数据类型长度约束描述Tncha10外键教师号Cnohar0外键班级号ceochar10外键课程号Teaimdime不为空教授时间4 数据库的物理设计和实施4。1 数据存储方面1.系统功能模块 1)系表信息查询和更新模块将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的 管理。2)班级表的查询和更新模块 将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理.3)学生表的查询和更新模块 将完成学生基本信
17、息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。4)课程表的查询和更新模块 将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。5)选课表的查询和更新模块 将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。6)教室表的查询和更新模块 将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。7)占用表的查询和更新模块 将完成占用基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。8)教师表的查询和更新模块 将完成教师基本信息的查询、更新(修改、插入、删除)操作,便于
18、对学生信息的集中管理。9)教授表的查询和更新模块 将完成教授基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。4.2 数据库实施阶段1.数据库实施阶段目标用DMS所提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果描述出来,成为BMS可以接受的源代码,在经过调试生成目标模式2.数据库实施阶段任务1)建立数据库Crete atabas 教学管理系统;2)建立数据表a)系表基本信息的建立 eatebl系表 ( Xn char(10) prmar key nt null, Xmecar(0) nt nl, Xrctr car(10), )b) 班级表基本信息的建立
19、rete table 班级表 ( Cno har(0) primary k, Cname car()n ull, Xno chr(10) , Cdrector char(1), )c)学生表基本信息的建立 rete tabe 学生表 ( o har(10) prmary k, Sname cha(10) not null, Ssex char()notnul, Saddr car(1)tnl, agesmallint not nll, Smao chr(10) ot ull, Cno chr(10) , ) d)课程表基本信息的建立 Ceaeable课程表 ( urceno car(10) r
20、imar key, ourcenae char(0)ntnull, Ccredit smalint not null, Cucediret char(8), )e)选课表基本信息的建立 Ceate table 选课表 ( Sno char(10) , uno chr(10), Gear(10) not nul, )f)教室表基本信息的建立 Crettable 教室表 ( Rno char(0) mary key, Rname hr(10) nonull, ddr cha(10) notnull, )g)占用表基本信息的建立 Craeable 占用表 ( Co har(10), n ar(10)
21、, Stime daetime, Uestimchar(10) , )h)教师表基本信息的建立 rete table 教师表 ( nohar(0) priary key, Tname chr(10) ot ul, sex har(10) not ll, Tpo char(10) noul, age smallit nt nll, Tsal smallt nt ul, )i)教授表基本信息的建立 Crete tble 教授表 ( Tno a(10), Cn har(10), orceno ar(10), Teachme atetime not null, )3)建立视图a)查询系表的基本信息的视
22、图定义如下:create v 系表_vwaselect*from 系表it ceck oion;b)查询班级表的基本信息的视图定义如下: cret view 班级表_viewa select *from 班级表wth che opion;c)查询学生表的基本信息的视图定义如下: c viw 学生表_vw asee * frm 学生表withchck option;d)查询课程表的基本信息的视图定义如下: eate view 课程表vieassec * fom课程表 wth hek opion; e)查询选课表的基本信息的视图定义如下:rete view 选课表_vesselect *from
23、选课表with heckpti;f)查询选课表的基本信息的视图定义如下:cae vie 课程表_viewas slect from选课表th c option;g)查询占用表的基本信息的视图定义如下:reat vie 占用表viewassel *fo 占用表wtchepton;h)查询教师表的基本信息的视图定义如下: crate iew教师表vi eect * fo 教师表 wihchck option;i)查询教授表的基本信息的视图定义如下: ceate ew 教授表_iw selt * om 教授表 with ceckoion;4)存储过程定义Cate pocr 系表_insert no
24、char(10), Xname char(10), iredtoch(10) s sertito系表 value(Xno,Xnm,Xdiredtor);te procedre 班级表_isert Co car(10),namhr(10), Xno h(10),Cdirtor chr(0) As Inset int 班级表 alus(Cno,Cnam,o,Cdirecto);ceat procdre 学生表inrt Sno ar(10), Samech(10), Ssex char(1), Sad cha(0), a smllint, Smajor a(0), Cn chr() AsInsert
25、nt 学生表 vles(S,Snae,Sex,Saddr,age,Sajor,o)crete rocedure 课程表_insrt Crenochar(0), ourcenme char(10), cedi malin, urcdirectrcha(8) As Insert int 课程表value(oreno,Curcename,crei,Coredirc)eate poedre选课表isert Scha(10),Courceno char(10),Grade r(0) A Isert into 选课表 vales(Sno,Curceno,ae);create prcdre 教室表_nse ch(1),Rname c(1),Radr ch(10) A nsert into教室表 vlues(Ro,Rame,add);cate procedur占用表_insr nchr(10), Rn char(10), Stimedattime, Useim char(0) A Insert io占用表 vaus(Co,Rno,Stie,Uetim)crate prcd