本考试系统是基于网络技术的一种考试系统,管理员通过网络对题库进行维护,添加试题、修改试题、删除试题等操作;考生通过网络完成考试、分数查询等操作;系统自动组卷并且完成试卷的批阅、分数的统计等操作。
整个系统的业务流图——工作流程图如图2-1所示:
2-1  网上考试系统的工作流程图
数据流分析
学生登陆系统后从试题库中选出一套试题,然后开始答题,答题完后提交给系统,由系统完成对试卷的批阅统计出成绩,学生可以登陆查询。管理员登陆系统后对系统进行维护更新。
2-2 考试系统的数据流图
系统的体系结构
本系统的功能模块图见图2-3
2-3 功能模块图
用户管理模块
系统分为三种用户,分别是学生和管理员。管理员用户的注册直接通过后台数据库来进行,其权限是试题的添加、删除、修改,对考生的信息进行管理,统计考生的成绩等。对于考生,先注册,使其成为合法的用户。然后进入考试系统答题,考试完毕后查分。
考试管理模块
考试管理最核心的功能是组卷,组卷不仅仅是对题库的查和连接,更重要的是确定一个组卷规则。这里我们对组卷规则的设计分为两种,一种是规则表里已经确认的规则;另一种是在生成试卷的时候,填写规则表中的字段,由用户自己建立一条新的规则,并追加到规则表中。其次,考试管理中还要实现对考生考试时间、考试地点的显示、考试计时、考试答案的储存和生成等。
题库管理模块
主要实现题库内试题的动态建立、试题的快速检索以及各类题型的自定义等功能。首先管理员可以实时地向题库中添题,同时可以根据教学要求删除一些失去时效性的题目,以保证题库中试题的设置更为合理。在对题库进行修改前,根据管理员的管理员号判断是否有对试题添加、删除和修改的权限,防止误操作。另外通过分题型储存,在不改变题库设计的前提下,方便用户添加自定义新题型。
试卷批阅和成绩统计模块
该部分的功能主要是完成系统自动批阅试卷,和进行成绩统计。
考试系统的数据库概要设计
数据库的设计是整个系统的核心,是系统各种功能得以实现的基础。数据库概要设计是完成现实世界到信息世界的第一次抽象,将现实世界描述的问题进行加工处理并用一定的工具无二义性地表示出来。就现在的考试内容来看,需要描述的对象、数据库存储的信息都可以通过关系数据库较好地表示出来,所以这里我们将系统确定为关系数据库模型开始设计,一般常用的是E-R 图。按照以上对考试系统的功能描述,可以抽象出相关的实体和联系。
考试管理中有试卷、组卷规则两个实体。试卷实体通过考试和学生实
体形成联系,试卷、组卷规则、题库等实体通过组卷建立三元联系。
包含题库实体。各试题按题型的不同分类存储,每类题型均设置容易、中等、提高、压轴4 种难度系数。
系统E-R图见图2-4
2-4系统E-R
系统各实体sql server 2000是一种E-R图如下:
(1)题目
(2)试卷
(3)试卷库
(4)题型
(5)知识点
(6)组卷策略
(7)管理员
(8)学生
由数据流图和E-R图,粗略得到以下关系模式(部分):
题目(题目编号、题型编号、题目主干、难度系数、答案、分值、知识点编号)
题型(题型编号、题型名称)
试卷库(试卷编号、试卷名称)
试卷(试卷编号、题目编号)
组卷策略(策略编号、试卷总分、题型分值、难度系数、每题分值)
知识点(知识点编号、知识点内容)
管理员(管理员编号、密码)
学生(学号、姓名、性别、班级、密码)
考试(学号、试卷编号、教师号、座位号、IP地址、开始时间、结束时间、考试时长、是否交卷、学生答案)
2.5数据库的逻辑设计
1.题目表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
Q_ID
问题序号
VARCHAR
20
2
T_ID
题型号
VARCHAR
20
3
Q_BODY
问题
VARCHAR
200
4
Q_DIFFICULT
难度系数
VARCHAR
20
5
Q_ANSWER
问题答案
VARCHAR
20
6
Q_MARK
分值
VARCHAR
20
9
KNOW_ID
知识点号
VARCHAR
20
2.题型表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
T_ID
题型号
VARCHAR
20
2
T_NAME
题型名
VARCHAR
20
3.试卷库表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
PAPER_ID
试卷号
VARCHAR
20
2
Q_ANSWER
答案
VARCHAR
20
4.试卷表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
PAPER_ID
试卷号
VARCHAR
20
2
PAPER_NAME
试卷名
VARCHAR
20
5.组卷策略表 
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
METHOD_ID
策略编号
VARCHAR
20
2
PAPER_MARK
试卷总分
VARCHAR
20
3
T_MARK
题型分值
VARCHAR
20
4
DIFFICULT
难度系数
VARCHAR
20
5
Q_MARK
每题分值
VARCHAR
20
6.知识点表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
KNOW_ID
知识点号
VARCHAR
50
3
KNOW_CONTENT
知识点内容
VARCHAR
50
7.管理员表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
USERNO
管理员号
VARCHAR
20
2
PASSWORD
管理员密码(加密)
VARCHAR
20
8.学生表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
STUNO
学生号
VARCHAR
20
2
PASSWORD
学生密码
VARCHAR
20
9.考试表
ID
FIELD
DESCRIPTION
TYPE
LENGTH
1
STUNO
学生号
VARCHAR
20
2
PASSWORD
试卷号
VARCHAR
20
3
SEATNO
座位号
VARCHAR
20
4
IP_ADDRESS
IP地址
VARCHAR
20
5
START_TIME
开始时间
VARCHAR
20
6
OVER_TIME
结束时间
VARCHAR
20
7
SUBMIT
是否提交
VARCHAR
20
8
STU_ANSWER
学生答案
VARCHAR
20
后台数据库采用SQL Server2000 ,SQL Server2000是微软公司开发的大型关系数据库管理系统,具有非常大的关系数据库的创建、开发、设计及管理功能。SQL数据库具有良好的数据库设计、管理与网络功能,支持客户端和服务器结构。SQL sever2000支持结构化查询(SQL)从而加快查询所需要的数据。尤其是利用SQL Server的存储过程来优化整个系统提高了数据库的管理速度、安全性、灵活性和代码的模块化与封装性。
25可能遇到的困难,提出解决问题的方法和措施
1.题库管理管理中解决难度值和知识点的信息的数据库存储设计。使用一个难度系数的字段存三级难度,使用五位数字字符的题号存储知识点。
2.在考试管理中为了防止考生二次登陆。通过获取考生登陆的机子的IP地址,使考生只能在一台机上登陆一次。
3.自动出卷中为了使抽取试题不重复,同一难度相同知识点只能抽取一次。解决办法:先按知识点+难度系数进行多关键字排序,然后再随机抽取试题。
4. 自动组卷算法的核心思想是:
对题库中的试题按照最后曝光时间A T 进行排序,根据用户设定的题目数量N ,最小难度系数Dmin ,最大难度系数Dmax 作为选取题目的限定条件,预选出u * N 个题目,其中u 为系数(系统默认值为50) ,u 越大自动组卷时越容易出现历次考试的试题。
计算出平均难度D = (Dmin + Dmax ) / 2
组成试卷的难度结构尽可能满足正态分布 ,即中等难度的题目数量最多,最大难度和最小难度的题目数量最少. 根据正态分布表确定每一个难度的题目数量Ci
在预选题目中,对每一个难度的题目分别随机选取Ci 个题目。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。