在线考试系统开发中的关键技术研究

龙源期刊网 http://www.qikan.com.cn

在线考试系统开发中的关键技术研究

作者:冯涛 裴祥喜 崔炳德 王政峰 来源:《科技视界》2012年第05期

【摘 要】本文对开发具有常见功能的在线考试系统时经常遇到的一些问题做了分析,并提出了相应的解决方法,对采用的关键技术做了研究探讨。 【关键词】在线考试系统;ASP.NET;B/S

Research of Key Technologies on the Development of Online Examination System FENG Tao PEI Xiang-xi CUI Bing-de WANG Zheng-feng

(Hebei Engineering and Technical College, Cangzhou Hebei, 061001)

【Abstract】This paper analyzes some questions often encountered on the development of online examination system with common functions. Put forward the solutions and introduces the key technologies.

【Key words】Online examination;ASP.NET;B/S 0 引言

随着计算机和网络技术的飞速发展,利用互联网或局域网进行在线考试的考试形式在各行各业中得到了广泛应用。在线考试为考生了提供快捷、公平的考试服务,也大大减轻了教师出题、评分和监考的负担,并且减少了纸张浪费。

笔者所在教研室的多门课程都实现了在线考试。该考试系统具有大多数在线考试系统所具有的常见功能,通用性较强。该系统的开发主要采用Microsoft ASP.NET技术,B/S三层架构模式,数据库使用了SQL Server2005。 1 关键技术 1.1 组卷算法

组卷算法是系统中最重要的算法之一,算法如果不合理,组建的试卷就会出现试题重复、知识点过于集中于某些章节、或知识点分布范围过广而使重点不突出等问题。

龙源期刊网 http://www.qikan.com.cn

针对以上问题,本系统采取了基于知识点优先权的随机抽题组卷算法。教师可在试卷参数设置模块中设置考题类型、总题数、分值、必考知识点、每个知识点题目数量、难度系数等各项参数。组卷算法根据这些参数随机从题库中为每种题型抽出符合要求的试题,拥有优先权的知识点抽中概率较大,这样选题的分布范围就有了侧重点和针对性,并能够充分覆盖各个知识点。每选出一道试题,就将该试题题号放入动态数组中,再抽出试题时首先和动态数组中的所有题号进行比较,有相同的就放弃此试题,继续下一次抽题,从而避免了重复选题。 1.2 考试剩余时间防刷新及考试到时的试卷自动提交

考试剩余时间提示是必不可少的,一般都会通过使用javascript脚本程序使它出现在试卷顶部,但该脚本程序算法如果不完善,考生可以通过浏览器刷新使剩余时间回到考试刚开始时。要避免以上问题的出现,可以将考试剩余时间每隔1秒钟就赋予浏览器窗口的name属性,以考试时间为90分钟为例,试卷只有第一次装载到浏览器中时,考试剩余时间变量maxtime被赋予90*60,而以后再刷新时,该变量就会被赋予浏览器窗口的name属性值,而该属性值是不会随着刷新而改变的,这样就解决了上述问题。

考试结束时,如果考生还未点击“提交”按钮,系统会自动提交试卷,此功能也使用javascript脚本程序实现。但如果使用表单的submit函数,应该在服务器上执行的“提交”按钮的单击事件响应程序不会执行,即考生试题答案的提交、评分等功能不会实现。解决该问题的方法是使用document.getElementById(\(“提交”按钮的ID为btnSubmit)。 上述两个问题的完整javascript脚本程序如下。 var maxtime; if (window.name=='') maxtime = 90*60; else

maxtime = window.name; function CountDown() {

if (maxtime>0) {

minutes = Math.floor(maxtime/60);

龙源期刊网 http://www.qikan.com.cn

seconds = Math.floor(maxtime`);

msg = \考试剩余时间:\分\秒\ document.all[\ if (maxtime == 1*60)

alert('注意,离考试结束还有1分钟!'); --maxtime;

window.name = maxtime; } else {

clearInterval(timer);

document.getElementById(\ alert(\时间到,结束!\ } }

timer = setInterval(\ 1.3 考试机重启时防止考生答案丢失

在考试过程中,考生所使用的计算机如果发生死机或突然断电等情况,考生需要重新登录考试系统,此时考试系统应该将考生已做过试题的答案重新载入到试卷中。本系统采用了考试过程中考生每做完一道题就将试题号和考生答案写入cookie文件,重新登录考试系统时首先去检查考试机上是否存在此cookie文件,如果存在则读取文件中的答案加载到试卷中的相应试题中。该功能也是用javascript脚本程序实现,在相应的选择答案或输入答案的控件的change事件中完成。

1.4 试题库和考生信息导入

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4