摘要:基于ASP.NET技术开发的网络考试系统是采用数据库、数据访问层和业务逻辑层三层架构的模块设计方法,借助ASP.NET服务器组件、ADO.NET数据访问技术来实现。本文介绍了系统的设计与实现过程以及该系统关键技术的实现。
论文关键词:在线答题,电子题库,自动组卷,自动判卷
相比传统的考试形式,网上考试系统的主要好处是一方面可以动态管理各种考试信息,只要准备足够大的题库,就可以按要求自动生成各种试卷;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试。另外计算机化考试的最大特点是阅卷速度快,系统可以在考试结束时当场给出客观题成绩,计算机阅卷给了考生最大的公平感。系统的初始界面如图1:
图1 系统初始界面
(一)系统总体结构设计
系统整体架构设计如图2。本系统整体上可以划分为数据库、数据访问层和业务逻辑层。各层的具体描述如下:
(1)数据库是系统最底层,它存储系统的所有数据。
(2)数据访问层建立在数据库之上,应用程序通过该层访问数据库。数据访问层一般封装数据库的选择、添加、更新和删除等操作,同时还为业务逻辑层提供访问数据库的接口或函数等。该层直接与数据库存相关联,同时又为业务逻辑层服务,所以数据访问层设计的好坏关系到整个系统的成败。
(3)业务逻辑层包括创建题库、管理用户、注册用户等业务逻辑,它一般由Web页面实现。
图2 系统总体结构
系统的主要功能包括:用户登录和注册、角色管理、用户管理、题库管理和在线答题等功能。各部分的功能如图3:
图3 系统功能模块图
(二)系统流程分析
1. 用户登录和注册
用户登录过程是一个验证过程,应用程序首先从数据库获取该用户的信息,如用户名称和用户角色等,然后再根据用户的角色显示用户的下一步操作页面。如果考生登录,显示生成试卷等待页面和在线答题页面;如果教师登录,显示题库管理页面;如果系统管理员登录,显示系统维护页面。本系统用户的登录流程图为图4。
图4 用户登录流程图
2. 用户管理和角色管理
用户管理和角色管理主要实现用户管理、角色管理、角色权限管、用户的角色分配等功能,它们的关系如流程图为图5。
图5 用户管理和角色管理流程图
3. 在线答题
在线答题模块是比较复杂的模块。在在线答题模块中,系统首先按照试卷的要求,如试卷总分,试卷难度系数等,随机从数据库生成一套试卷,每次生成的试卷是不相同的,然后根据不同的题型把各个试题显示在答题页面上。试卷随机生成的流程流程图为图6。
图6 试卷随机生成流程图
随机生成试卷过程存在两个回归的过程。右边的回归过程返回到随机生成试卷状态,该回归过程是在没有满足试卷的题型或题型种类条件时发生;左边的回归过程返回随机获取试卷种类状态,该回归过程是在没有满足试卷种类条件时发生。
(四)数据库的设计与实现
1.数据库表的创建。
在此系统中,共创建了8个数据表。在这8个表中,存放了网络考试系统所需要的数据。这8个表分别是:
(1)角色表 (Role),角色表存储用户的角色信息。
编号
字段名称
字段类型
字段说明
1
RoleID
int
角色表主键
2
RoleName
Varchar(32)
角色名称
(2)用户表 (Users) ,用户表存储系统的用户信息。
编号
字段名称
字段类型
字段说明
1
UserID
int
用户表主键
2
UserName
varchar(32)
用户名称
3
Passwrod
varchar(200)
用户密码
4
Email
varchar(200)
用户Email地址
5
RoleID
int
用户所属角色
(3)考生表 (Examinees) ,考生表存储参加考试的考生信息。
编号
字段名称
字段类型
字段说明
1
ExamineeID
int
考生表主键
2
UserID
int
角色名称
3
TakePartDate
datetime
参加考试的时间
4
Mark
int
考试成绩
(4)问题种类表 (QuestionKinds) ,问题种类表存储问题种类的信息,如选择题,填空题、简答题、改错题和上机题等。
编号
字段名称
字段类型
字段说明
1
KindID
int
问题种类表主键
2
KindName
Varchar(32)
问题种类名称
3
KindOrder
int
问题种类显示的顺序号
(5)图片表 (Pictures) , 图片表存储系统的图片信息。
编号
字段名称
字段类型
字段说明
1
PictureID
int
图片表主键
2
Title
varchar(100)
图片标题
3
PictureUrl
varchar(100)
图片的存储地址
(6)问题表 (Questions), 问题表存储系统题库的试题信息。
编号
字段名称
字段类型
字段说明
1
QuestionID
int
问题表主键
2
Title
varchar(200)
问题标题
3
Body
text
问题的主题内容
4
Pubdate
datetime
添加到题库的时间
5
KindID
int
问题种类ID
6
PictureID
int
问题的图片ID
7
Defficult
int
问题的难度系数
8
Mark
int
考试成绩
(7)问题答案表 (Answers) , 问题答案表存储题库中问题的答案信息。
1/2 1 2 下一页 尾页 |