1 在线考试系统实现相关技术
Asp是Asp和.NET Framework技术的结合起来,使用Asp技术可以非常灵活地创建功能强大的动态网站。Ajax是一种支持异步请求的技术,通过 AJAX,技术的使用,在线考试过程中,学生答案入库的过程中,系统前台的考试界面无刷新,使学生考试过程中考试页面浏览更加流畅。
2 在线考试关键技术研究
2.1 特殊键的屏蔽
在线考试是基于WEB的考试系统,因此,在考试过程中,要考虑到学生通过网络进行作弊的行为,同时还要考虑到学生在浏览器界面的误操作而导致的考试中断,因此,对特殊键的屏蔽成为考试系统设计的一个关键技术。
(1)鼠标右键的屏蔽,防止弹出右键菜单而进行复制、粘贴和刷新等操作。
(2)通过JS的window.showModalDialog函数将考试界面显示为一个模式窗体,另外通过参数的控制,可以使这个模式窗体没有标题栏、工具栏、菜单栏和地址栏等。
(3)通过JS事件的捕获屏蔽F5刷新键,各种组合捷,防止学生考试过程中进行复制、粘贴、网页后退和关闭等,对于这些组合键只需要禁止使用Ctrl、Alt和Shift键即可。2.2 考试的时间控制
考试时间的控制是在线考试的重要功能,通过时间的控制,可以实现控制考生的开始考试时间、考试入场时间、入场结束时间、考试过程倒计时。从而保证考试时间方面的严谨性。
(1) 通过开始考试时间、考试入场时间、入场结束时间的控制可以实现,让考生在规定的时间进入考场候考,在同一时间开始考试,在考试开始的规定时间内不得入场考试等。考生在选择参加考试后,系统会读取当前时间,用当前时间跟数据库中的时间进行对比,从而实现对入场时间的控制,实现在规定的时间内可以进入考试,开考一定时间后,不能登录考试。
(2)考试过程倒计时的实现,根据考试时间的安排,在考生进行考试系统后,进行倒计时,倒计时结束时,考生试卷自动提交,答案自动入库。教师安排整场考试的总时间,考生开始考试时,系统自动计时,获取当前系统时间,用考试开始时间加上考试时间(分钟)再减去当前时间,得到一个距离考试结束的分钟数,将这个得到的分钟数用标签显示到前台界面,前台界面生成后会自动创建一个定时器,刷新结束时间,当结束时间小于0时,表示考试已经结束,强制提交试卷。2.3 考试过程中断线处理
考试作为一种公正的测评工具,要能保证出现一些主客观原因而影响考试后,让学生能够到原来的考试试卷,并且接着原来的答题进度进行答题。下面从两个方面研究实现考试过程中断处理。
(1)考试过程断线时,系统如何处理学生考试的相关数据
考试过程中断线时,要能够及时保存学生的试卷信息及答题信息,原理:当用户在答题时,系统自动定时的将用户的答案发送到服务器存储,而不是等待用户提交试卷时一次性提交。改系统中使用了JQuery和Ajax技术,在不刷新整个页面的情况下将用户的答案发送到服务器。
(2)学生在中断考试后,给监考教师说明情况后,监考老
的“随机数”:
这种方法存在的问题是:因为Random进行伪随机数的算法是固定的,所以根据同一个种子计算出的数字必然是一样的,而以当代计算机的运行速度,该循环几乎是在瞬间完成的,种子一致,所以可能会出现100次循环输出同一随机数的情况。这就需要我们在使用的时候,对随机数的重复率进行判断,复杂了丢掉,继续生成。
(2)使用Guid类
GUID(Globally Unique Identifier)全球唯一标识符,GUID的计算使用到了很多在本机可取到的数字,如硬件的ID 码、当前时间等,所计算出的128位整数(16字节)可以接近唯一的输出。如:Console.WriteLine(Guid.NewGuid(). ToString());
计算结果生成xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 结构的16进制数字。这种方法产生的随机数自动生成的128位的整数,128位的16进制整数,随机数量将非常之大。
(3)使用RNGCryptoServiceProvider类
RNGCryptoServiceProvider使用加密服务提供程序 (CSP)提供的实现来实现加密随机数生成器(RNG)
RNGCryptoServiceProvider csp = new RNGCryptoS-erviceProvider();
byte[] byteCsp = new byte[10]; csp.GetBytes(by-teCsp);
Console.WriteLine(BitConverter.ToString(byteC-sp));
该类使用更严密的算法,所以即使如下放在循环中,所计算出的随机数也是不同的。
for(int i = 0; i < 10; i++) 的随机数,将对应的试题编号记下,然后判断以前是否已经记过,如果记过放弃再抽,继续循环,直到所抽试题数达到组卷设置的试卷要求题目数,最后,将所有的随机抽到的试题编号记下,抽题结束。
2.5 智能阅卷
现在大多数的在线考试系统主要实现客观题的考试,只需对比试题正确答案和学生答题试卷的答案,就可以判断出对错,并计算出成绩入库;而主观题则由教师在线进行阅卷,仍然无法摆脱人工阅卷效率低的困境,本系统对于在线考试智能阅卷进行了研究。
填空的自动阅卷分为两个阶段来进行处理,第一阶段由系统对学生提交的填空题答案和系统在阅卷表中预设的答案进行比对,如果相匹配,即学生答案正确;第二阶段由系统自动阅卷和教师人工阅卷相辅的方法,教师登录阅卷界面,打开相应的考试,查看学生的答案信息,此时,教师对学生答案表中填空题的学生答案进行分析,将正确的答案形式进行记录,存储到阅卷表中,系统用更新后的填空题答案和学
生的答案进行比对,即进行二次判卷,并将成绩入库,从而实现对填空题的自动阅卷。
3 总结
本论文主要对在线考试系统的关键技术:题库建设、组卷策略和考场控制等进行了全新研究,增加了试题的难度系统,开发出更适用于实际情况的在线考试系统,解决了学校繁重的期中、期末考试考务工作。
在系统的设计实现过程中,综合运用Asp、Ajax技术、JQuery技术和Sql Server 2005实现了在线考试系统。
(下转第85页)
接着分别测试车位2、3、4,全部能响应则系统设计成功,否则需进一步排查错误进行更正。
jquery实现ajax经过一系列调试后,该系统可以进行温度和声音的实时监测,并可以用蓝牙主机传输车位信息,用SIM900A模块发送
通信和电子信息技术研究。
通讯作者:盛虎(1978--),男,内蒙古赤峰人,副教授,博士,主要从事随机信号处理和嵌入式设计。
解决了在线考试系统重点功能:智能组卷、智能阅卷、考试过程防断线和倒计时等功能。
参考文献
[1]陈志坚.基于.NET的在线考试系统设计与实现[J].荆楚
理工学院学报,2010(11).
[2]王瑜.基于ASP.NET的在线考试系统[J].电脑学
习,2011(01).
[3]李娟,王海红.基于.NET的在线考试系统的设计与实现
[J].科技信息,2010(03).
(上接第75页)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。