您的购物车还没有商品,再去逛逛吧~

提示

已将 1 件商品添加到购物车

去购物车结算>>  继续购物

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

传统考试涉及组织命题、试卷印刷、考场安排、阅卷等诸多环节,考试周期长效率低下。随着网络技术的发展,网络在线考试系统展现了众多的优越性。本系统应用了AJAX无刷新考试环境、随机组卷、自动阅卷、自动交卷、提供多种题型等功能。
  1 技术基础
  1.1 ASP.net
  ASP.net是微软公司推出的新一代动态Web应用程序开发平台,是.net框架的一部分,可以使用任何.net兼容的语言编写ASP.net应用程序。
  优势:高效运行性能、简易性灵活性、可管理性、生产效率高
  1.2 AJAX
  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多人的考试中成功应用。从学号的导入到随机组卷、考试、自动评阅、成绩导出。随着网络的普及,在线无纸化考试系统必将广泛应用于学校的各级考试中。在随后的研究中本系统陆续会增加一些功能,如:学生的考试记录存入数据库,分析学生常出错的知识点;主观题的智能阅卷功能;机器意外断电保存学生答题记录等。