基于ASP.NET 的在线考试系统的设计与实现
基于ASP.NET 的在线考试系统的设计与实现
刘 洋 沈阳工学院 辽宁抚顺 113122
【文章摘要】
在线考试系统可以实现教考分离和办公自动化。本文结合我校的在线考试系统,详细介绍了系统的设计及实现过程,具有一定的实际应用价值。
【关键词】
在线考试;试题;数据库
0 引言
在线考试作为一种新型的教育考核手段,在实际教学中得到了广泛的应用。通过创建在线考试系统,可以实现教学与考试的分离以及考试所需工作的全自动化管理,可以有效利用学校的软件与硬件的资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以实行大规模的考试,保证考试的客观、公正性以及实现全自动化组卷、阅卷,减轻教师的工作强度。
1 在线考试系统的设计
1.1 功能模块设计
系统共由两类用户组成,分别是管理员和考生。其中管理员可以实现对各类信息的增加、修改、删除和查询功能,考生能够实现考试及成绩查询功能。系统主要由考试管理、用户管理、学科管理、试题管理、试卷管理以及成绩管理等功能模块组成。
其中考试管理包括:
(1)抽取试卷:系统根据考生选择的科目,会显示出相对应科目的试卷,如果学生已经参加过此试卷的考试,系统会提示考生“你已参加过此科的考试!”。
(2)考生答题:考生在所选择的试卷直接填写答案。
(3)提交试卷:考生在答完所有试题之后,点击“提交”按钮,把自己的答案提交到后台。如果规定的考试时间到了,考生没有提交试卷,系统会自动提交试卷。
用户管理包括:
(1)考生管理:管理员可以一次性导入包含考生信息的Excel,也可以手动添加考生的基本的信息。在添加信息之后, 管理员可以根据考生姓名、编号等条件查询考生的信息,也可以根据考生姓名、编号删除或者修改考生的基本信息。
(2)管理员管理:管理员可以修改自己的密码。
学科管理:管理员可以对学科进行增、删、改、查的操作,在删除学科的时候, 需要先判断是否存在此学科的试题或者试卷,如果存在会提示管理员不可以删除此学科,不存在就可以直接删除。
试题管理包括:单选题管理、多选题管理、判断题管理、填空题管理和问答题管理。对于每类试题,管理员可以进行增加、修改和删除操作,其中对于删除功能,
会首先判断套卷中是否包含该类题型,如果存在则会提示管理员不可以删除。
试卷管理包括:
(1)随机制卷:管理员在系统界面上输入所需单选题的个数、多选题的个数、判断题的个数、填空题的个数、问答题的个数和各种题型的分值,点击“确定”按钮,系统会根据各种题型的个数自动从题库随机抽取试题组成一张试卷,管理员可以保存生成的试卷也可以取消本次操作。
(2)手动制卷:管理员手动从题库中选择所需要的试题,并且输入各种题型的分值,点击“确定”按钮,系统会将试题组成一张试卷并且保存到数据库中。
(3)试卷维护:管理员可以对生成的试卷进行查看、删除操作。删除操作之前需要判断此试卷是否正在使用中,若正在使用会给与管理员提示信息,删除后数据不能恢复。
成绩管理包括:
(1)考生试卷评阅:考生将试卷提交到后台以后,系统会自动计算出考生单选题、多选题、填空题所得的分数并记录到数据库,问答题需要后台管理员根据系统所提示的答案酌情给出分数,然后计算出考生总的分数。
(2)考生成绩管理:管理员可以考生的编号和姓名查询出考生的成绩,并且可以将考生的成绩导出到Excel 中。
1.2 数据库设计
系统的开发离不开后台数据库的支持。系统使用SQL
Server2008 进行数据库的设计。SQL Server 平台具有可信任性、高效率、智能等特征,可以为任何规模的应用提供完备的信息平台。利用SQL Server 2008 R2 在数据库中建立一个名为db_ExamOnline 的数据库。数据库的表分为考生表、管理员表、学科表、单选题表、多选题表、判断题表、填空题表、问答题表、试卷表、试卷详情表、考生试卷表、考生答案表、考生得分表、考生试卷分析表,
共14 个表。
2 在线考试系统的实现
根据前面的设计,系统采用三层架构进行实现的。三层包括数据访问层、业务逻辑层和表示层。数据访问层用来实现对数据库的操作,业务逻辑层用来处理逻辑业务,表示层用来实现用户与系统的交互。这里以手动组卷为例介绍具体的实现过程。
手动组卷界面主要由Label 控件、TextBox 控件、SqlDataSource 控件、DropDownList 控件、GridView 控件组成。SqlDataSource 控件为DropDownList 控件提供数据源用于显示所有学科。DropDownList 控件的AutoPostBack 属性设置为True,每当选择不同的学科,系统会把此学科的试题显示到GridView 中,通过勾选每题后面的checkBox 来选择试题,然后点击“保存试卷”按钮,将试卷详情插入到数据库Paper 表、PaperDetail 表中。主要代码为:
paperDetail.PaperID = paperID;// 把试卷编号赋给paperDetail 对象
paperDetail.Type = " 单选题";// 把试题类型赋给paperDetail 对象
paperDetail.TitleID=int.Parse(((Label)
GridView1.Rows[i].FindControl
("SingleProblemID")).Text);//
把已选择的试题编号赋给paperDetail
对象
p a p e r D e t a i l . M a r k = i n t
. Parse(TextBox3.Text.Trim());// 把试题分数赋给Mark 属性
PaperDetailBLL.InsertPaperDetail(pa
perDetail);// 调用InserPaperDetail 方法
3 结束语
本系统在综合分析了当前在线考试系统研究成果的基础上,采用B/S
结构的模式开发了系统,使用户可以直接访问本平台,完成考试和评测,具有操作简单、运行稳定、功能齐全等特点。使用本系统不但可以方便考生参加考试,还可以大大减轻教师的工作量。
【参考文献】
[1] 吴晓艳.基于.NET 的人事信息管理系统的设计与实现[J],华章, 200812
[2] 张建伟.数据库技术与应用—— SQL Server 2005[M].人民邮电出版社.2008 年
【作者简介】