当前位置:文档之家› 试卷管理系统(课程设计)

试卷管理系统(课程设计)

课程设计报告课程设计名称:数据库原理与应用系部:二系学生姓名:班级:学号:成绩:指导教师:开课时间:2011-2012 学年 1 学期一.设计题目:试卷管理系统二.主要内容:系部教务管理工作中一项重要的工作是考试试卷的管理工作。

教务处对于管理大量的试卷数据的难度还是相当大的。

此外,还需要方便教师能够对自己出的试题能够及时更新和修改。

为了能够方便教务处和教师能够试卷进行有效的方便的管理,设计出了此试卷库管理系统。

随着计算机技术的不断发展和普及,将会对试卷管理工作提出更高的功能和管理要求,该系统必须要不断地改进,从而使得试卷库管理工作能够更加合理和快捷。

三.具体要求1.课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;2.后台数据库采用MS SQL SERVER2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;四.进度安排课程设计安排:16周星期一讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;星期二需求分析:给出系统的功能需求、性能需求,并绘制DFD和DD;星期三概念结构设计:绘制实体属性图(可选),局部ER图和全局ER图;星期四逻辑结构设计:转换、优化、外模式的设计;星期五物理结构设计及数据库实施;17周星期一应用程序编制调试、整理课程设计报告,并检查;星期二根据反馈结果修改课程设计;星期三提交作业上交的材料:课程设计的电子稿、打印稿、源码(SQL代码和程序代码)五.成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。

考核内容:学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。

成绩评定:优,良,中,及格,不及格。

特别说明:(1)如发现抄袭,按照不及格处理。

(2)材料不齐的,考核等级降一级。

电子稿件以压缩文件的形式上交,压缩命名为:11位学号+姓名正文撰写包含的内容:1.需求分析1.1功能需求:(1)试卷管理:系统应当允许教师在获得权限的情况下随时能够进行试卷的补充,且能够对自己出的试卷进行编辑,对其他人的试卷只能查看。

管理员可以给定老师出试卷的题型和科目,老师按照所需题型设计题目,再由题目组成试卷。

(2)教师管理:管理员能够新建或删除教师信息,并赋予其权限。

(3)科目管理:由管理员添加新科目或删除科目。

教师按照科目出试卷。

(4)题型管理:管理员必须给定选择,判断,填空,问答,这四种题型。

其余题型任意添加。

(5)权限管理:管理员可以增加或删除教师并指定教师科目的权限。

教师得到与自身相关的权限,才能够够对试卷库做出相应的管理。

总的功能模块图如下:试卷管理系统管理员管理教师管理科目管理教师管理题型管理题目管理试卷管理图1.1总功能模块图1.2数据字典:1.2.1试卷管理系统的具体管理如下:(1)试卷管理,包括对试卷的录入、删除、修改以及查看与维护。

(2)管理员管理,包括管理员权限的设置和修改,修改密码,增加和删除。

(3)教师管理,包括教师权限的设置和修改,修改密码,增加和删除。

(4)科目管理,可以对科目实行录入、修改、查看。

(5)题型管理,可以对题型实行录入、修改、查看。

(6)题目管理,可以对题目实行录入、修改、查看。

1.2.2各个子系统的流程图如下: (1)管理员登录子系统图1.2管理员登录子系统的数据流程图(2)教师登录子系统:图1.3教师登录子系统的数据流程图教师登 录登录信息是否成功 教师管理员登 录登录信息是否成功管理员(3)试卷管理子系统:图1.4 试卷管理子系统的数据流程图(4)科目管理子系统:图1.5科目管理子系统的数据流程图(5)题型管理子系统图1.6题型管理子系统的数据流程图(6)教师管理子系统教师/管理员查询 添加 修改 删除查看/管理反馈信息科目教师/管理员查询 添加 修改 删除维护/管理反馈信息试卷教师/管理员查询 添加 修改 删除查看/管理反馈信息题型图1.7教师管理子系统的数据流程图(7)题目管理图1.8题目管理子系统的数据流程图(8)总数据流程图:图1.9总数据流程图管理员 教师科目试卷查看 添加修改 删除 查看 删除查看查看 添加 修改 删除题目查看 添加 修改 删除管理员查询 添加 修改 删除管理教师教师查询 添加 修改 删除管理反馈信息题目题型2.概念结构设计根据需求分析和数据流图以及功能模块的结果:由于各个表之间是否具有索引关系,因此得到各E-R图以及关系模型。

2.1.实体在试卷管理系统中,主要包括的实体为:科目属性:科目号、科目名称。

教师属性:教师编号、教师名称、密码。

题型属性:题型号、题型名称。

题目属性:题目号、题型号、题目内容。

试卷属性:试卷号、科目号、题型号、教师号。

2.2.关系一个教师可以教多门科目,一门科目可以让多个教师教,因此教师和科目具有多对多的联系。

一个题型可以包含多个题目,一个题目只能包含于一个题型,因此题型和题目有一对多的联系。

一个试卷只能由一个教师出,一个教师可以出多个试卷,因此试卷和教师属于一对多的联系。

一个试卷由多个题目组成,一个题目可以在多个试卷中,因此试卷和题目属于多对多的联系。

一个题目属于一个科目,一个科目可以有多个题目,因此题目和科目属于一对多的联系。

2.3 E-R 图图2.1系统总E-R 图3.逻辑结构设计3.1关系模型根据总E-R 图中的实体与实体之间的联系以及转换的一般原则,得到如下的关系表的模型:(1)管理员表(用户名,用户姓名,密码)教师科目试卷题目 题型教师号教师姓名密码科目号 科目名称题型号题型名称 试卷号科目号题型号题目号题内容组成 出教包含 1NMN1N 属于 1NM N教师号(2)教师(教师号,姓名,登录密码)(3)题型(题型号,题型名称)(4)科目(科目号,科目名称)(5)题目 (题目号,题内容)(6)试卷(试卷号,科目号,题型号,教师号)画横线的表示此表的主码,波浪线表示外码。

3.2函数依赖关系分析我们很明显从所以的表中看出表(3)、表(4)和表(5)属于BCNF,因为这三个表都是二目关系。

其余的表可以从函数依赖关系看出,这些表中的关系都不存在部分函数依赖、传递函数依赖,且每个表的主码都能够确定其它各项。

所以这些关系都是BCNF范式。

3.3关系表的具体设计(1)管理员表的设计:管理员表主要包含系统用户的基本信息:用户名、密码。

考虑到char和varchar的类型的不同。

varchar的字节数可变,而且char的字节数固定,如果输入的字符少于规定的字节数,会自动填充。

因此,选择了varchar类型,这样比较容易判断用户名和登录密码是否正确。

表 3.1 管理员表:列名数据类型长度允许为空主码用户号int no yes用户姓名varchar 15 no no密码varchar 15 no no(2)教师表的设计:主要内容和管理员差不多一样,要分成两张表原因就是表中的用户对数据处理的权限不一样。

为了方便管理,因而将两者分开。

表 3.2教师表:列名数据类型长度允许为空主码教师号int no yes 姓名varchar 15 no yes 登录密码varchar 15 no no(3)题型表的设计:表3.3题型表列名数据类型长度允许为空主码题型号int no yes 题型名称varchar 15 no no(4)题目表的设计表3.4题目表列名数据类型长度允许为空主码题目号int no yes 题内容varchar 200 no no (5)科目表的设计:表 3.5科目表列名数据类型长度允许为空主码科目号int no yes 科目名称varchar 15 no no(6)试卷表的设计:表3.6试卷表:列名数据类型长度允许为空主码试卷号int no yes科目号int no no题型号int no no教师号int no no4.物理结构设计4.1确定存取方法存取方法是快速存取数据库中数据的技术,数据库管理系统一般都提供多种存取方法,具体采取哪种存取方法由系统根据数据的存储方式决定,一般用户不能干预。

一般用户可以通过建立索引的方法来加快数据的查找效率,如果建立了索引,系统就可以利用索引查找数据。

建立索引的一般原则为:(1)如果某个(或某些)属性经常作为查询条件,则考虑在这个(或这些)属性上建立索引;(2)如果某个(或某些)属性经常作为连接条件,则考虑在这个(或这些)属性上建立索引;(3)如果某个属性经常作为分组的依据列,则考虑在在这个属性上建立索引:(4)对于经常连接操作的表建立索引。

基于以上索引的建立原则,在试卷管理系统中,试卷是经常要按不同的科目查找,也会查找特定的试卷以及某个教师出的试卷,所以对于试卷要以试卷和、教师号、科目号作为索引。

4.2确定存储结构物理结构设计中一个重要的考虑就是确定数据记录的存储方式。

常用的存储方式有:(1)顺序存储。

这种存储方式的平均查找次数为表中记录数的1/2。

(2)散列存储。

这种存储方式的平均查找次数由散列算法决定。

(3)聚簇存储。

为了提高某个属性(或属性组)的查询速度,可以把这个或这些属性(称为聚簇存储码)上具有相同值的元组集中存放在连续的物理块上,这样的存储方式称为聚簇存储。

聚簇存储可以极大提高对聚簇码的查询效率。

一般用户可以通过建立索引的方法来改变数据的存储方式。

但其他情况下,数据是采用哪种存储方式是由数据库管理系统根据数据的具体情况决定的,一般它都会为数据选择一个最合适的存储方式,用户无法干预。

对于试卷的存储要先按试卷号顺序存储,再按题型号存储,这样就能给查找和管理带来很大的方便。

对于其它实体的存储,只需要按主码顺序存储就行了。

5.数据库实施及代码编写登录sql server 2005 management在其中创建名为试卷管理系统的数据库,运用查询设计器创建管理员,教师,试卷,科目,题型,题目这些表。

对于建表的sql代码,以试卷为例,其它表的建立与之类似。

试卷表的建立sql代码:create table 试卷(试卷号 int primary key,科目号 int not null,题型号 int not null,教师号 int not null,foreign key(科目号) references 科目(科目号),foreign key(题型号) references 题型(题型号))管理员角色sql代码:create role glgrant select,update,delete,insert on 教师 to glgrant select,update,delete,insert on 科目 to glgrant select,update,delete,insert on 题型 to glgrant select,delete on 试卷 to gl创建一个管理员账户并将其添加到管理员角色中的sql代码:如创建用户名为:12345,密码为:1234的管理员账户。

相关主题