APP下载

AJAX在线考试系统的设计与实现

2012-04-29邵长海

中国管理信息化 2012年18期
关键词:在线考试

邵长海

[摘要] 在线考试系统的开发及应用,避免了传统考试的纸张、笔、监考等资源的浪费,而且减少了人为的作弊因素。本考试系统应用了最新的AJAX技术实现无刷新考试,倒计时自动交卷、随机组卷、自动评阅等功能。

[关键词] AJAX; ASP.net; 在线考试; 自动阅卷

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 18. 062

[中图分类号]TP399[文献标识码]A[文章编号]1673 - 0194(2012)18- 0111- 03

传统考试涉及组织命题、试卷印刷、考场安排、阅卷等诸多环节,考试周期长效率低下。随着网络技术的发展,网络在线考试系统展现了众多的优越性。本系统应用了AJAX无刷新考试环境、随机组卷、自动阅卷、自动交卷、提供多种题型等功能。

1技术基础

1.1ASP.net

ASP.net是微软公司推出的新一代动态Web应用程序开发平台,是.net框架的一部分,可以使用任何.net兼容的语言编写ASP.net应用程序。

优势:高效运行性能、简易性灵活性、可管理性、生产效率高

1.2AJAX

AJAX是Asynchronous JavaScript and XML(异步JavaScript和XML技术)的缩写,是由JavaScript脚本语言、CSS样式表、XMLHttpRequest数据交换对象和DOM文档对象等多种技术组成的。Web应用的传统模型与AJAX模型如图1、图2所示。

2功能设计

(1) 用户信息管理。该模块功能有考生考号导入、用户权限设置(学生、教师、系统管理员)。将考生考号存成Excel格式,可以成批地导入。并可以设置权限,本系统分为三级权限:学生只能考试、查阅成绩、教师可以录入所教科目试题、查阅学生成绩、系统管理员可以增加删除用户、增加删减考试科目等。

(2) 考试科目管理。以教师或者管理员身份登录后可以添加、删除考试科目。

(3) 试卷出题与维护。以教师或者管理员身份登录后可以选择考试科目,增加删减题型、确定不同题型分数、组卷等。

(4) 考生试卷管理。客观题自动评阅、主观题教师评阅,考生成绩导出Excel格式并排序。

(5) 考试试题管理。本考试系统包括5种题型,即单选、多选、判断、填空、简答,该模块用于选择不同的题型,录入试题。

3关键技术

3.1用户权限设置

本在线考试系统包括3种角色:考生、教师、管理员。管理员可以为教师设置权限。教师可以增减考试科目、组卷等。用户权限设置代码:

自定义方法InitData()进行权限设置

private void InitData()

// 创建一个DataTable类型的变量存储哈希表中数据

DataTable dt = Rolemr.Query(new Hashtable());

// 将创建的dt作为数据源

GV.DataSource = dt;

// 从数据库中绑定GridView控件中数据

GV.DataBind();

// 循环GridView控件中的CheckBox控件

for (int i = 0; i < dt.Rows.Count; i++)

// 部门管理

if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_DepartmentManage") == 1)

((CheckBox)GV.Rows[i].FindControl("chkDepartmentManage")).Checked = true;

// 用户管理

if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_UserManage") == 1)

((CheckBox)GV.Rows[i].FindControl("chkUserManage")).Checked = true;

// 考試科目管理

if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_CourseManage") == 1)

((CheckBox)GV.Rows[i].FindControl("chkCourseManage")).Checked = true;

// 试卷制定维护

if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_PaperSetup") == 1)

((CheckBox)GV.Rows[i].FindControl("chkPaperSetup")).Checked = true;

// 用户试卷管理

if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_UserPaperList") == 1)

((CheckBox)GV.Rows[i].FindControl("chkUserPaperList")).Checked = true;

// 试题类别管理

if (OnLineExam.HelperClass.GetSafeData.ValidateDataRow_N(dt.Rows[i], "HasDuty_SingleSelectManage") == 1)

((CheckBox)GV.Rows[i].FindControl("chkTypeManage")).Checked = true;}}

3.2考试时间倒计时

protected void Timer1_Tick(object sender, EventArgs e)

this.index--;

// 考试时间到了

if (this.index == 0)

// 设置Timer控件不可见

this.Timer1.Enabled = false;

BindData();

Response.Redirect("Loginout.aspx");

else

// 显示考试剩余时间

this.lbtime.Text = this.index / 60 + "分" + this.index % 60 + "秒将停止考试,请及时“提交”试卷,否则试卷作废成绩无效!";

4总结

本在线考试系统设计开发完成后,在一次200多人的考试中成功应用。从学号的导入到随机组卷、考试、自动评阅、成绩导出。随着网络的普及,在线无纸化考试系统必将广泛应用于学校的各级考试中。在随后的研究中本系统陆续会增加一些功能,如:学生的考试记录存入数据库,分析学生常出错的知识点;主观题的智能阅卷功能;机器意外断电保存学生答题记录等。

猜你喜欢

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