康 莉
通过计算机来组织和实施考试的方式具有客观性、实时性和可靠性,能真正实现教考分离等优点,已经得到广泛应用。计算机考试系统是对考试的全过程实行无纸化及自动化,即从考前的数据处理,如考生的数据录入、考号生成、编排考场到考试的实施与评分,直到最后的分数处理,全部由计算机管理与控制。显然,计算机考试系统的经济性、高效性相当诱人,目前许多国际著名的计算机公司所举办的各种认证考试绝大部分都采用这种方式。
一、系统结构及主要模块功能分析
一个完整的计算机考试系统主要包括如下子系统:考核系统、考务管理系统、题库管理系统、自动评分系统。
1.考核系统
考核系统主要分为考核服务端和考核客户端两个部分。
(1)考核服务端。自动初始化每场考核服务器的系统环境,根据组卷规则自动生成考卷,完成考试过程中的实时监控与计时、答卷收集、答卷上传、意外事件处理、考场记录等。
组卷过程是整个系统的一个重要组成部分。考试前,主考部门给出本次考试试卷组卷规则,考试系统根据组卷规则为每位考生随机生成符合组卷规则要求的试卷,保证相邻考生试卷不全相同。考核系统的组卷规则及考生数据由主考部门下发的考核认证数据导入。组卷规则库包含若干组卷规则,每条规则包括科目、题型、知识点、难度系数、题量等。组卷时,系统首先搜索各条规则,根据相应的规则索引符合条件的所有试题,然后根据考生准考证号、所需试题数量产生随机数,为每位考生抽取试题。系统提供监控与计时系统,提供自动锁定功能和考试时间可调性功能。时限到,系统自动锁定考试;特殊情况下监考人员在考核服务器作相应记录后,方可继续答题。
(2)考核客户端。在客户端,考生借助IE6.0完成答题过程。考生的准考证号码、姓名等信息呈现在客户机桌面,便于核对。试题内容及答题时间在同一屏幕显示,考生可自由选择题型、题目、查询、保存答案、退出答题等功能。考核过程中,系统将会自动启动相应的操作软件(如Word等),并自动显示每题的答题状态,方便考生答题和了解答题情况。通过ActiveX控件技术,系统同时将考生的答案在服务器与客户机作双重备份,从而保证在服务器与客户端任何一方出现故障的情况下,经过简单处理后考核就能继续进行,同时不丢失考生已有的答题数据。
2.考务管理系统
该系统的主要功能是考生报名及考核认证数据的自动生成、准考证管理、证书管理、成绩发布和相关数据的统计分析。每次考试前建立专门的考生数据库,给每位考生编制准考证号。考生参加考试时,根据考试形式的不同填写考生姓名和准考证号;考生进入考试系统后,按照题目要求做题,并在考试时间内可修改相应的答案选择;确认交卷后,单击“交卷”按钮正式交卷,然后该考生不能再进入考试系统。证书管理的工作主要是为所有已通过考核的考生建立一份档案,以便将来在需要时可以核查证书的真伪或补发证书等。
3.题库管理系统
题库系统主要功能是进行开放式题库设计。一般包括试题录入、试题修改、试题删除、试题恢复、试题预览、试题库预览、试题库输出和试题库密码的设定等具体功能。试题录入可采取集中录入或随时录入,试题库中的试题按不同题型分别存放在数据库中,并按考试科目、知识点、难度系数的不同分类管理,这样很容易生成一份知识点分布均匀的试卷。
4.自动评分系统
考前由主考部门给出考试评分的具体标准,评分系统严格按照评分标准自动评分。对于客观题,将采用比较法确定得分,在考生提交答案的同时就让程序自动完成评阅;对于操作题,根据评分细则来分步评分,系统采取实时方式,跟踪考生操作轨迹,评分和该考试紧密联系在一起。另外,评分系统提供手工复查功能,具备重构该考生试卷的能力,显示考生答题结果,实施对自动评分系统可靠性的验证。
二、关键技术及其实现
1.考核系统体系结构
近年来,随着网络的普及和网络技术的成熟,软件系统已经从以结构化方法(SP)为主体的单机软件发展到以面向对象方法(OOP)为主体的C/S结构和B/S结构。基于C/S模式的考核系统,要求每台考试用机都要安装考试客户端软件,会占用较多的系统资源,将影响考生答题的效率。软件升级也需在每台机器上进行维护,因此系统维护、升级工作量大。基于B/S模式的系统,采取集中控制方式,实现数据共享,可以在服务器端完成大部分维护工作,极大地减少系统管理员的工作量。所以,推荐采用B/S结构模式,考生只需要使用Web浏览器就可以完成所有的考试,减少考试客户端的系统开销,从而最大限度地减少因考核系统的升级而必须进行的硬件投资。
2.数据库选择
本系统采用MySQL作为中央数据库。现有的计算机考核系统不少选择Access数据库作为系统的主要数据库,开考时,如果考生数量多,将会耗费较多的网络带宽,导致开考初期和交卷时期,出现明显的迟缓。如采用中央数据库的形式,考生的试卷数据保存在服务器中,只有在需要时,才在服务器上下载数据,将需要耗费的网络带宽平均分布到整个考试过程中,从而提高考核系统的运行效率。由于Access数据库并发性能差,一般来说,在超过10个并发用户的情况下,Access数据库的性能与稳定性将显著下降,而MySQL数据库在性能、稳定性上已经得到了充分的证明。另一方面,与Microsoft SQL Server、Sybase或Oracle等大型数据库比较起来,它更小巧,在性能上也完全能满足系统的需要。
3.数据安全性、完整性及系统完整性
在考核过程中,客户端与服务器端的通讯采用128位SSL加密,考生的数据加密存放。为防止由于考生的机器出现介质障碍(如硬盘损坏)而导致数据丢失,使用备份技术,将考生答题数据备份保留在服务器上。采用了主从服务器的策略,防止服务器的硬件故障。在服务器出现故障时,可切换到备份服务器进行考试,并提供主从服务器配置的可选性。
基于B/S模式的网络化考核系统本身存在着完整性问题。而ASP技术的源码公开性,使得用户可自行修改考核系统。虽然现在Microsoft也提供了将ASP加密的软件,但这样的技术极易破解。因此,在实现B/S模式时,在服务器端采用自己的WWW/SMTP/POP3服务及整个考试逻辑。服务器端的所有操作均被封装到系统中,避免考点自行修改系统后对考试的权威性造成影响。
综上所述,基于B/S的考核系统充分利用最新的软件开发技术,保证系统在客户端或服务器端任何一方出现问题的情况下,能最大限度地保护已有的考试数据,确保考试继续正常进行,使系统具备更高的稳定性、可靠性和容错能力。考试数据被高强度加密,考生所提交的答卷数据被加密压缩存放,杜绝不通过考试系统而直接通过手工修改考生答卷的可能性。考试系统的绝大部分维护升级工作均可通过服务端来完成,极大地减少了考核点系统管理员的工作量。