朱巍 ,谭峰
(1.黑龙江八一农垦大学信息技术学院,大庆 163319;2.黑龙江省人事考试中心)
在计算机网络应用技术逐渐渗入社会生活各个层面的今天,无纸化考试与无纸化办公一样已成为大势所趋。无纸化考试也越来越成为各学校、企业和事业单位考核学生与员工的一种趋势,它的优势不但体现在人力上也体现在物力上,无纸化考试系统的自动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人力,提高效率。传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势[1]。
计算机应用是每一个大学生必须具备的能力,这是每一个大学生必修的课程,因为学生量大,因此各高校一般采用传统的纸制试卷考试方式,考试监考、阅卷繁杂,需要大量的教师,且易出错,效率低下。采用高校局域网考试系统不仅或以节省大量的人力、物力和财力,而且极大地提高了考试进程及效率。
根据高校考试要求,为保障考试的顺利进行,系统应具备下列功能[2]:
(1)考生通过局域网进行考试,考生登陆后自动从服务器上读取试题并答题,考试结束后将试卷及答案通过局域网回传给服务器。
(2)教师可以事先或考前制定考试方案,并根据考试方案以自动或手动方式从题库中选出符合要求的试题生成电子考试试卷,快速搭建考试平台。
(3)管理员能通过服务器进行试卷分发,并能控制整个考试的流程。
根据系统功能要求,将系统分为服务器端和客户端两部分。服务器端主要负责考生信息管理、试题库管理、试卷信息管理、数据库备份及考试控制等,其功能模块图如图1 所示。
图1 服务器端功能模块图Fig.1 The function models in server side
客户端主要负责为考生提供一个友好的答题界面,并在答题完毕后将答案提交回传给服务器,其工作流程为:登录→答题→交卷。
系统采用C/S 三层结构开发,采用Microsoft SQL Server2000 作为其数据库,采用.NET Remoting 技术实现了远程分布式开发与通信处理,总体结构图为图2。
图2 系统总体结构图Fig.2 Global structure chart of the system
三层架构是目前软件开发采用的主要架构,这种架构比传统的C/S 架构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以三层架构具有更高的可靠性、稳定性、安全性和效率[3]。三层架构示意图如图3 所示。
图3 三层架构示意图Fig.3 Schematic diagram of the 3-tier
为使系充分发挥服务器端和客户端网络的协作能力,系统采用Windows 平台下的Windows DNA(Distributed interNet Application Architecture,分布式网络应用结构)策略模型[4],通过该策略模型建造一个在局域网络上运行的可伸缩的多层应用软件,并把COM+作为Windows DNA 策略中的中间件。COM+为中间层提供了负载平衡、对象池(Object Pooling)、事务特性等一系列的强力支持,并且在COM+中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。
为了保障服务器端和客户端顺畅、实时的通信,系统采用.NET 平台提供的.NET Remoting 技术。其实质就是:客户端创建服务端对象的代理并调用其方法,通过信道网络传输到服务端,在服务端上处理客户端传递过来的参数数据并返回处理结果(如果有的话)给客户端的接收变量。这种方式与传统上的方法调用明显不同,它轻松实现了数据的分布式处理。
Remoting 的通道主要有两种:TcpChannel 和HttpChannel,HttpChannel 提供了一种使用 Http 协议,使其能在Internet 上穿越防火墙传输序列化消息流,因此具有更好的互操作性。系统采用HttpChannel实现服务器端和客户端之间的通信。
在高校考试系统中,多采用教师制定试卷生成方案,由系统自动生成试卷的策略,这样既可以保证出卷的公平性,又可以大大减轻了老师的劳动强度。但在制定试卷生成方案时,必须考虑要考核的章节、各章节所占的比重、考试题型、考题的难度系数、题的数量及分值等参数。系统的“自动生成试卷”模块很好地实现了该项功能。其思路是先由教师根据教学要求及考核要求制定试卷生成方案,再由系统按方案自动从试题库中随机制取试题,组成一套试卷流程图如图4 所示[5-6]。
系统提供了三种试卷生成规则,即按考核知识点优先、按难度优先及混乱生成。制定试卷生成方案运行界面如图5 所示。
在线考试模块是系统的最重要的一个模块,它完成了服务端与客户端的在线考试部分,并能够及时监控客户端状态,监视客户端完成考试,并可以设置任何已经生成的试卷,按照考试指定的时间完成收回试卷的功能,当试卷接收完毕后,能够将试卷答案按Word、Excel 等格式进行保存[7]。
图4 自动生成试卷流程图Fig.4 Flow of automatically generating test papers
图5 试卷生成方案运行界面Fig.5 Interface of scheme of generating test paper
系统采用了Remoting 框架,采用的三层体系设计结构。详细设计过程如下。
(1)建立远程分布式对象,作为业务逻辑层,把服务器和客户端所用到的所有业务逻辑及方法按照划分放在远程对象中,所有的服务器和客户端的调用都由远程对象统一管理。Remoting 的设计中,采用客户端激活模式。
(2)在服务器端,设置了一个回调类MyCallbackClass,它负责注册远程对象的事件,并将它和服务器相连,当远程对象触发事件后,通知服务器事件到达,此时会调用窗体线程传递事件代码,在线程间必须设置同步或异步方式,以达到不同的响应效果。
(3)服务器和远程对象以及客户端通讯时,会设置事件参数,在它们之间调用,这样把所有的信息封装到参数中,包括环境变量和试卷信息等,可以保证数据的安全性。
(4)客户端中也设置了一个回调类MyCallbackClass,它同样注册了远程对象的事件,这样服务器、远程类和客户端之间可以通过事件的触发而响应不同的操作而不需要手工加以干预。
图6 为考试过程中服务器端的运行界面。
图6 服务器端运行界面Fig.6 Interface of the server side
图7 为考试过程中为四名学生答题在客户端的运行界面。
图7 客户端运行界面Fig.7 Interface of the client side
系统实现了高校局域网考试系统的设计与开发,通过服务器端进行考生信息管理、试题库管理、试卷的生成及考试过程的全程控制,客户端为考生提供了友好的答题环境,能满足高校考试由教师直接命题考试和由题库按考试内容、难度系统等随机抽取试题的考核方式要求,并采用.NET Remoting 技术实现了分布式开发,同时保障了服务器端和客户端的顺畅实时的通信,从而保障了考试的顺利进行。经对“计算机文化基础”课程的考试的实际运行,效果良好。
[1] 马晓丹,祁广云,关海鸥,等.计算机基础课网络教学平台的设计与实现[J].黑龙江八一农垦大学学报,2010,22(6):62-64.
[2] 李伟为.基于ASP.NET2.0 的在线考试系统的设计与实现[J].计算机应用与软件,2011,28(9):163-165.
[3] 高军,马铁民,高云丽.高校监考管理系统的设计与实现[J].黑龙江八一农垦大学学报,2011,23(3):65-67.
[4] 袁冰,杨枨.基于考试任务的分布式考试系统设计[J].计算机工程与设计,2011,32(10):3530-3533.
[5] 邓慧琴,魏树峰,蒋荣.《计算机应用基础》Web 考试系统的自动化测试方案[J].齐齐哈尔大学学报,2012,28(1):10-13.
[6] 陈泽琳,张庆彪.基于JAVA 的考试系统中题库设计及组卷算法[J].重庆理工大学学报:自然科学版,2010,24(3):48-55.
[7] 刘娜,杨新.基于Web 和智能Agent 的网上考试系统的实现[J].西华大学学报:自然科学版,2008,27(2):20-22.