软件工程专业
数据库原理及应用课程设计
开
发
报
告
设计题目:在线考试系统数据库的设计与实现
年 级:*************
学 号:********
姓 名:*****
*****:在线考试系统
目录
摘要 ---------------------------------------------------------------------1
第一章:需求分析--------------------------------------------------------------3
第二章:概念结构设计 ----------------------------------------------------3
第三章:物理结构设计和逻辑结构设计 --------------------------------6
第一条:物理结构设计 ----------------------------------------------------6
第二条:逻辑结构设计 ----------------------------------------------------7
结束语 -----------------------------------------------------------------------14
1
数据库原理及应用课程设计
第一章:系统功能需求分析
随着标准化考试的日益普及,在各种考试中越来越多地采用了计算机考试
的方式。相对于传统的卷面考试而言,由于传统的卷面考试从出题印刷到下发
试卷等环节需要较长的时间,接触的人员相对较多,因而在保密方面具有一定
的困难。而计算机考试系统采用试题库方式提供试题来源,考前无任何成套试
卷,考试时考卷由计算机现场随机生成,各考生试卷不完全相同,从而避免了
互相参看等作弊现象或不公平成绩的出现。同时也可考后即可获得成绩,省去
了人力评卷的麻烦和弊端。
据此,我实现了在线考试系统的数据库设计。系统主要实现了一下几个方面的
功能:
对考生而言,分为五个考试状态:待考、就绪、考试中、结束、缺考。考
生用准考证号登录考试网站,然后验证考生信息是否一致,如果一致就会停留
在考生须知界面,处于就绪状态。所有考生等待服务器发送统一命令分发试卷
并同时进入考试中状态。在开考后 20 分钟后考生仍未到场,考生状态会自动
设置为“缺考”,不能参加此次考试。考试过程中可自由答题(可随时定位到每
一题)。如果有考生信息不一致的情况,可上报管理员,经审核后进行修改。
考生考完试点击“交卷”,经确认后交卷。考后即可查看考试分数。在到达考试
时间后,服务器会自动给未交卷的考生结束考试,并可同时给所有考生评卷得
出分数。
对管理员而言,可以更改数据库的所有内容,可添加、查询、修改、删除
考生的信息,设置考试的相关内容。可有选择地录入试题,为题目分类并自动
在正确答案表里插入相应的标准答案。开考前服务器可自动为每考生随机生成
试卷。考生号由管理员统一设置。服务器会根据考试时间来自动设置考生的考
试状态。到达考试时间后,服务器可同时让所有在线考生进入答题阶段。在考
试过程中,自动为考生保存考试答案。也可以查看所有考生的在线考试情况。
同时也可为出现异常的考生延时等详细功能。考试全部结束后,服务器会备份
所有考生信息和答题情况,并给所有考生评卷并生成所有考试成绩表,以便考
生查分。
第二章 :概念结构设计
针对以上的功能分析,对数据库的设计做了以下分析。考虑到在线考试的
特殊要求,数据库的设计应该包含以下信息:
考生的基本信息用来在考生登陆时进行核对验证,防止考生信息录错的情
况。
考生考试的基本信息用来控制考试时间和考生的考试状态,统计在线考生
和缺考情况,同时也方便服务器统一发送命令,给所有考生同时开始考试和结
束考试。从而体现公平一致的原则。
题库应包含所有的考试类型、题目内容和每题的分值,以便以后的随机抽
题和为考生评分。并且数据库里也存储有每题对应的正确答案,考生的考试答
案,这样可以方便评分。还对考生答案做了备份,方便以后的查阅和总结考试
2
*****:在线考试系统
情况,以进一步更新考试,提高考试质量。
还应把给每位考生随机生成的试题保存起来,方便查阅核对,并可由服务
器统一给对应考生发送试卷。
最后把评卷的结果和考生成绩统计出来做备份,考生可在考试结束后直接
查看考试结果。如果发现有疑问地方也可随时查看和核对。
由此分析一共设计了七张表用来存储所有的考生信息和考试信息:考生信
息表(包含属性:姓名、性别、准考证号、身份证号、所在学校)、考生考试
信息表(包含属性:考生号、准考证号、考试时间、考试状态)、题库表(包
含属性:题号、题目、题目类型、分值)、正确答案表(包含属性:题号、标
准答案)、考生试卷表(包含属性:题号、考生号)、考生答案表(包含属性
题号、答案、考生号)和考生成绩表(包含属性:准考证号、成绩)。
并为每个表设置了能唯一确定每位考生的属性。其中考生信息表里设置属
性(准考证号)为主关键字,并在考生考试信息表和考生成绩表里设置属性
(准考证号)为考生信息表中属性(准考证号)的外部关键字。这样就可一一
关联和对应每一位考生的信息。在考生考试信息表里为每位考生生成一属性
(考生号)并设置其为此表的主关键字。以唯一确定每一位考生的考试时间和
考试状态。在题库中设置属性(题号)为主关键字,这样就可以唯一确定每一
题,防止题目的重复,也方便随机为考生抽题。并在考生试卷表、正确答案表
和考生答案表里设置属性(题号)为外部关键字,这样就和题库中的题号一一
对应起来,可减少这些表中的属性。从而实现整个数据库设计的完整性和一致
性。在考生答案表和考生试卷表中同时设置属性(题号和考生号)为外部关键
字,这样就把考生和题目联系起来。通过关联唯一确定每位考生的试卷和答案
也方便了以后的分发试卷和为每位考生评卷。
表间对应的局部和整体 E-R 图如下:
(1)考生信息和考生考试信息之间的联系:
(2)题库和考生试卷之间的联系
3
考 生 考
试
信息
姓名
性别
准考证号
身份证号
所在学校
考生信息
考生号
准考证号
考试时间
考试状态
考生考试信息
准考证号
考生号
1
1
抽题
题库
题号
考生号
题号
题目
m
n
考生试卷
题号
题目
题目类型
分值
- 1
- 2
- 3
前往页