首页 -> 2007年第2期

运用ASP设计网络考试系统思路浅探

作者:崔明山




  关闭ADO对象代码:
  rs.close
  Set rs=Nothing&&关闭RecordSet对象
  Conn.close
  Set Conn=Nothing&&关闭CONNECTION对象
  2.组卷模块的设计。
  组卷模块是系统的核心,主要是利用随机抽题程序根据考生所选择的科目按照一定的规则自动地从试题库中随机抽取试题,组成试卷。
  在随机组卷过程中,按照每科每种题型的分值以及题型数量确定每种题型要抽取的试题数。利用随机函数在试题库中抽取一定量、符合要求的题目,然后组成一套试题不重复的试卷传给客户端并存入试卷库。随机函数抽题时要用到抽题算法,采用什么方法使得试题不重复且让程序不陷于死循环,是要解决的关键问题。本系统中的思路是:建立一个新的数组temp[m],大小与存放试题ID的数组Listnum [m]相同,数组temp[m]的元素与Listnum [m]一一对应;初始化temp[m]数组所有元素值为0,表示每个元素对应的Listnum [m]数组中的元素没有被选中,即该ID序号的试题没有被抽取过;通过随机函数每抽中一个题目,先判断以该题目ID为下标的数组元素temp[ID]的值是否为0,若为0则选中该题目,获得试题内容并暂存,并将temp[ID]的元素值置1,表示该题目本轮已经抽取过了,不可再用;若抽中某个题目所对应的temp[ID]值为1,则自然需重新抽取题目,这里,如果程序每次都执行到为1的题目且不退出,这时需设置重复计数器,以强行退出程序避免死循环。当然,若本身所有符合要求的题目数量小于需要抽取的数量,则跳过上述部分,报告错误信息,避免另一死循环。
  3.在线考试模块设计。
  在线考试的设计完全模拟现实考试情况,实现考试计时,自动阅卷,保存考生成绩等。
  计时系统由客户端的VBScript脚本和服务器端的Session最后刷新时间组成,前者在考试时间结束的情况下自动提交答案,后者检测考试时间是否超时,两套计时系统同时使用,避免考试超时和私自延长考试时间,同时保证了用户答卷数据能自动处理,达到安全可靠的目的。开始考试时间和结束考试时间也自动存入数据库。考生提交答案之后,比对考生答案和数据库中标准答案,最后得出总分,并保存到数据库中。
  
  五、总结
  
  本系统的功能设计基本包含了现实考试的各个环节,比较真实地模拟了各种考试环节。使用本系统能在很大程度上解决手工操作时存在较多重复劳动的问题,能在一定程度上帮助教师提高教学效率,是辅助教学比较有效的手段。
  
  参考文献:
  [1]求是科技. ASP数据库开发技术与工程实践[M].人民邮电出版社.
  [2]宣小平,但正刚,张文毅.ASP数据库系统开发实例导航[M].人民邮电出版社.
  [3]邓文渊.ASP与网页数据库设计[M].中国铁道出版社.
  [4]李胜. 基于JSP技术的网上考试系统设计[J].徐州师范大学学报(自然科学版),2004,12:24-26.
  

[1]