APP下载

基于ASP.NET技术在线考试系统的设计与实现

2013-04-29高尚

无线互联科技 2013年9期
关键词:在线考试

高尚

摘 要:本文叙述了针对某职业技术学校而开发的在线考试系统,该系统基于ASP.NET技术,采用B/S模式,结合SQL Server 2008数据库系统而开发。系统实现了用户登录、随机抽题、在线考试、自动评分、试题管理和考试结果管理等功能。

关键词:在线考试;ASP.NET

1 引言

随着计算机网络技术的飞速发展,我校与南京医科大学继续教育学院、苏州大学成教院及江苏职工医科大学等高校联合开设了多个层次的远程学历教育,通过计算机网络实施异地培训。目前,我校远程教育软件的开发还处于发展阶段,各类考试都采用传统的笔试考试方式,随着考试要求的不断提高,传统考试准备周期较长、试题保密性差、人工阅卷存在误差及工作效率低等问题日趋严重,已经不能适应现代教育考试的需求。于是我们开发了一款功能完善、易维护,扩展性强的在线考试系统。

2 需求分析

整个系统分为三类用户学生、教师和管理员。

对于学生用户来说,该用户登录系统需要输入正确的用户名和密码。身份验证成功后,学生用户可以根据考试安排选择考试科目进行考试,系统将从试题库中随机抽取试题组成试卷,学生必须在规定时间内答题。考试结束后,系统会自动评分并公布成绩。

对于教师用户来说,该用户登录系统后会自动转入教师管理界面。教师用户不仅可以添加、修改及删除所负责科目的试题,而且可以根据教学需要安排考试计划。考试结束后,教师用户还可以查看考试结果并具有对主观题的批阅权限。

对于管理员用户来说,该用户拥有最高的权限,用户成功登录后,可以对教师信息、学生信息、科目、试题信息、考试结果和数据库等进行管理。

3 系统主要功能的实现

3.1 公共类的设计

该系统中创建了一个公共类BaseClass。它包括DBCon、BindDG、OperateDate、CheckStudent、CheckTeacher、CheckAdmin等方法,分别具有数据库连接、绑定GridView控件、执行SQL语句、检查用户是否登录等功能。

3.2 用户身份验证的实现

用户登录时,系统首先判断用户输入的验证码是否正确。如果验证码输入正确,再调用公共类中的方法来判断用户帐号和密码是否正确。如果信息正确则会根据用户的权限,跳转到对应的操作页面。关键代码如下:

{ if (this.ddlstatus.SelectedValue == "学生")

{if (BaseClass.CheckStudent(txtNum.Text.Trim(),

PublicControl.Md5Password(txtPwd.Text.Trim())))

{Session["num"] = txtNum.Text.Trim();

Session["teacher"] = null;

Session["admin"] = null;

Response.Redirect("Student/Student_Exam.aspx"); }

3.3 组卷功能的实现

组卷是在線考试系统设计的一个重要难点。本系统设计了自动抽题和手工选题两种组卷方式。系统会根据教师设置的考试计划,包含考试科目、考试时间、考试时长、试题类型、试题数量等参数,通过Random类来随机抽取无重复的试题。生成的试题将会存放在临时表中,教师可以手动筛选部分试题。

3.4 评分功能的实现

评分系统是在线考试系统的一个核心环节。学生提交试卷后,若题型是客观题,系统会根据考生选择的答案与试题库中的正确答案进行对比;若题型是主观题,系统须等待教师对主观题进行批阅,批改完成后将返回主观题的分值,最后完成评分工作。关键代码如下:

if(testmsg1.plAnswer.Visible ==false) //题型是客选题

{int count = Convert.ToInt32(testmsg1.lbCount.Text);

for (int i = 0; i < selectAnswer.Length; i++)

{if (i == count - 1)

{ result = result + ans + ","; }

else

{result = result + selectAnswer[i] + ","; }}

result = result.Substring(0, result.Length - 1) + "|" + examAnswer.Split('|')[1]; }

3.5 后台批阅编辑器的实现

若考试结果状态为待批阅,则需要教师对主观题进行人工阅卷。为了方便教师批改答案,使用了JavaScript编写的KindEditor编辑器。KindEditor是一套所见即所得的在线HTML编辑器,兼容各类主流浏览器。关键代码如下:

script src="StyleSheet/Tool/kindeditor/kindeditor.js">

猜你喜欢

在线考试
基于Java的考场管理系统的研究与实现
大学物理在线考试与分析系统
效率观下高校课程考试形式的改革探索
大数据背景下在线评教与在线考试融合的思路探讨