摘 要 : 本文系统的总结了目前流行的ASP网络考试系统在组卷、抽题、考试等诸方面存的问题,并给出了相应的解决方案。为开发更先进、更适用的网络考试系统提供了科学的决策支持。 [b]1网络考试系统存在的问题[/b] 目前流行的网络考试系统多如牛毛,通常设计人员根据自己的实际情况而设计,这样势必设计开发的网络考试存在诸多问题,可能你随便在Internet网上下载一个网络考试系统并用于考试,在考试时由于考试系统本身存在这样那样的问题而会给你和你的考生带来不可弥补的损失。经过多年的分析和研究,目前网络考试系统普遍存在组卷、抽题、考试等诸方面存在问题。 1.1组卷 组卷是网络考试系统的核心部分,组卷是对用户要求的定量反映。通过组卷来决定试卷的题量、试卷的知识点分布、试卷类型及考试时间的多少,而目前许多ASP网络考试系统存在组卷单一、组卷试试题难易程度不易控制、组卷效率较低。 1.2抽题 抽题是网络考试系统的重要环节,有些考试系统根本没有实现随机抽题而是由抽题系统自动按题库试题记录顺序抽题,更谈不上试题难易程度和知识点的分布,有些考试系统虽然实现了随机抽题,但很难控制重复抽题,甚至没有考虑重复抽题问题,试题的重复有两方面,一方面试题库中某个记被重复抽出,另一方面试题库中本身就存在某些记录是重复的,可能是3号、2 0号等记录完全一样。这种情况是很容易控制,只能在试题库录入时人为的控制重复录入,或者在程序中进行校验重复的记录。但前者不易控制,只能在抽题系统中考虑,选择一个较好的抽题算法来实现。 1.3考试 考试是网络考试系统的关键,它直接面向考生,也是最容易出现问题的时候,首先,存在刷新问题,当进行考试时,可能考生会根据需要点击浏览器中的刷新按钮,刷新后发现考试时间重新记时,所选答案没有存盘,需重新做题,好象刚开始做题一样,给考生带来巨大损失。其次,由于计算机死机、停电等原因考生需重新启动计算机再次做题,可是当再次考试时所抽试题没不是原来的试题,考试系统并没有保存上次考生所做试题。再次,考试时间结束时,由于考生的疏忽没有交卷,考试系统并没有把考生的答案上交给网络考试服务器,也就是说考试系统不能自动交卷。给考生造成不必要的麻烦。 [b]2 ASP网络考试系统存在问题的解决方案[/b] 目前存在的网络考试系统,按整体结构,可划分为以下三种:单机结构,在每台计算机中安装完整的考试系统,即不依靠网络,在单独的计算机中完成整个考试过程。其优点是实现简单、开发难度小、不需要网络支持、系统成本低;但这种考试系统存在着维护和升级的困难,需要大量人力以实现考题的一致性和考试信息的收集,自动化程度和效率较低,不适应大规模的考试,属于早期的计算机考试系统结构;C/S(Client/Server)结构,基于Cli-ent/Server(客户端/服务器)结构的考试系统,利用计算机局域网络,每台计算机(客户端)通过安装必要的软件才能与服务器端相互通信。由于利用了计算机网络,不再需要大量人力以实现考题的一致性和考试信息的收集,自动化程度和效率较高。但由于其结构特点,只适用于一定范围的网络内部(局域网),范围难以扩展,维护和升级同样存在困难;BWD(Brower/Web Server/DB Server)结构,基于BWD(Brower/Web Server/DB Server)结构的考试系统,每台计算机(客户端)使用通用的Brower(浏览器),利用Internet/Intranet,与服务器相互通信,所有操作在服务器端完成。由于以上特点,BWD结构不再需要分发客户端程序,易于维护和升级,由于通过Internet/Intranet,应用广泛。 2.1组卷问题的解决方案 为了解决组卷单一,增加人工组卷模块,通过人工组卷可以灵活的实现考试内容、考试时间、知识点分布等内容的设定,改变评分模块的设计,改变程序自动评分,实现程序自动评分和人工评分相结合的方式,这样考试内容可以更加丰富,选择题、填空题、判断题等可以程序动评分,名词解释、编程题等答案不唯一的试题可以人工阅卷,阅卷时阅卷人可根据运算结果和过程进行判定给分的多少,当然如果考试时没有需要人工阅卷的试题则完全可以程序自动评分。 2.2抽题问题的解决方案 为了使抽出的试题不会重复且能实现随机抽题,本文采用优化的“随机抽题”、“跟踪记忆”的算法,设相关题库中有n道题,要从中抽取m(m<=n)道题,这要首先产生m个随机数,一般的做法是: int*intArray; int i; time_t t; intArray=malloc(m*sizeof(int)); /*time(&t)将获取当前时间,srand把当前时间作为随机数的种子*/ srand((unsigned)time(&t)); /*依次产生m个随机数*/ for(i=0;i<m;i++) intArray[i]=rand()%n; …… free(intArray); 这样,就可以产生m个随机数,这个M应小于等于试题库试题记录的个数,并且利用了当前时间作为随机数的种子,尽量地避免了出现重复抽题。但仔细一分析,重复抽题并未完全避免,同时是否已抽题不影响今后的抽取,将导致各个试题被抽取的几率不等。修正的方法有检查新抽取的题是否重复,若重复则重抽,这样做的方法很简单,仅仅在上面的程序中加入判断重复的语句,但各个试题被抽取的几率仍然不等。怎样办呢?我们可以将1到n的n个数看成是n个人围成一个圆形,先产生一个随机数round,从1开始数(超过n有将是1),当数到round时,round号人退出(以后数到round时将跳过);接着又产生一个随机数round1,从前面的round一直数到round1(依次往下数,若经过round时将跳过),…,如此下去,一直到m个题都被抽取。 2.3考试问题的解决方案 为了保证考试的正常进行,首先考虑禁止浏览器刷新按钮的功能,在考试过程中考生不能点击刷新按钮,禁止浏览器刷新按钮的代码如下: <% Response.Write(" 一般情况下不会采取禁止浏览器刷新按钮的做法,因为禁止浏览器刷新会给考生带来很多不便,那么怎样才能保证在死机、停电等情况发生时不会造成考生所做答案丢失呢?我们可以在考生的答题界面增加一个保存按钮,提醒考生随时点击保存按钮进行存盘,如果考生没有点击保存按钮,系统可以自动每隔一段时间进行存盘。这样不会因为意外事故而给考生带来损失。 [b]强力推荐[/b] 天柏在线考试系统:http://www.timber2005.com/exam.asp 上海天柏在线考试系统是目前市场上最畅销的远程网络考试系统,适合政府、 学校及企业的各种形式在线考试、竞赛、练习等应用,全面实现了考试工作的网络化、无纸化、自动化。该系统采用新一代纯B/S架构,用于INTERNET和局域网在线考试,可以承载大规模在线考试的需求,而且对服务器的配置要求非常低,客户端不用任何设置。通过强大的后台设置功能,用户可以根据自身需要设定考试功能,几乎能满足企业、政府机构、教育单位的所有需求。该系统分企业版和商业版两个版本。关键字: 考试系统、模拟考试系统、无纸化考试、在线考试系统、无纸化考试系统、网上考试系统、网络考试系统、考试系统下载、信息技术考试系统、计算机考试系统、考试管理系统、企业考试系统、计算机上考试系统。