跨平台网络考试系统的设计

(整期优先)网络出版时间:2011-08-18
/ 2

跨平台网络考试系统的设计

杨岚

杨岚

河南大邦科技有限责任公司

中图分类号:TP39文献标识码:A文章编号:41-1413(2011)08-0000-02

摘要:跨平台网络考试系统开发与建设是学校信息化建设的重要组成部分,大大地拓展了考试的地域性和灵活性,提高考试组卷、阅卷的工作效率和正确性。本文从网络考试系统建设的意义及网络考试系统的现状出发,设计了一个跨平台的网络考试系统,构架了系统的方案,讨论了系统设计的关键技术。

关键词:跨平台;网络考试系统;CS模式;BS模式;试题库

近些年来,随着计算机网络技术的快速发展,计算机及网络技术在各行各业中的应用都取得了长足的进步,尤其值得一提的是其在教育行业的应用。学生考试管理工作是教育行业的一项重要的基础性管理工作,是学校管理的核心部分,利用计算机进行的无纸化考试,可以从事先建好的试题库中随机抽取考题,自动判卷,真正实现了教考分离和考试的客观公正性原则,实现考试系统从考试到阅卷均由计算机完成的变革,不仅可以减轻考试管理和阅卷人员的身心压力,提高工作效率,还适应了信息技术发展的要求。因此网络考试系统建设是学校信息化发展的重要之举。

一、系统设计的要求

(一)通用性。跨平台网络考试系统是学校考试的一种重要方式,要尽可能地兼容学校所有的专业、所有的学科,所以在开发时应把“通用性”放在第一位。

(二)易用性。跨平台网络考试系统可能涉及到学校所有的任课教师,考虑有些教师对计算机方面的知识了解不深,所以它的操作必须简单、易用。

(三)可控性。合理设计组卷功能,自由控制试卷的难度、知识点的选择,提高组卷的成功率,使系统能适用于任意科目的组卷。在进行网络考试时,监考教师可以通过考试监控程序掌握考生考试的动态,可以对考生考试做必要的控制,同时考虑到考试过程中可能出现机器故障、网络故障等因素,软件中也应有相应的控制功能,保证考试的顺利进行。

(四)安全性。包括用户的安全性与考生考试的安全性。用户的安全性主要体现在用户操作题库的安全性和用户帐户管理的安全性,其中用户操作题库的安全性是指用户只能操作自己所属专业的题库,不能跨专业操作题库,用户帐户管理的安全性是指只有系统管理员有权进行用户帐户管理,一般用户只能更改自己的密码;考生考试的安全性是考试时每个考生只能登录一次,重新登录必须经监考教师同意,同时每套题目只能对应一个已登录的考生,不允许一个以上考生操作同一套题目。

(五)跨平台性。能够在不同操作系统下通过浏览器进行考试,实现考试系统跨平台性。

二、系统设计

(一)系统设计方案

系统具体的解决方案如下:

*考虑到教师的实际操作,题库按科目知识点来进行建立(即按科目—章—节次序)。

*系统采用SQLSERVER2000作后台数据库,WWW服务器用Windows2000的IIS。

*试题库管理、CS模式考试、BS模式考试程序使用DELPHI技术和IntraWeb技术开发实现。

*在BS构架下,开发的WEB程序在数据库端实现数据操作功能并提交IIS生成动态HTML页面。

*后台考试监控程序采用ClientSocket、ServerSocket技术实现网络监控,利用屏幕抓取技术和图像压缩技术将屏幕图像压缩成数据流进行传输,以减轻网络传输量。

(二)系统设计模块

本系统按功能分为四个相对独立的部分,即试题库管理、CS模式考试、BS模式考试、后台考试监控程序,具体功能如下:

*试题库管理——实现按专业、按科目知识点对题库进行建立、管理,试卷生成,试卷输出,教师、学生管理,成绩管理,系统维护。

*CS模式考试——实现考生登录验证,自动计时,考生考试,交卷等功能。

*BS模式考试——实现考生登录验证,自动计时,考生考试,交卷等功能。

*后台考试监控——学生考试状态登记,重新登录设置,强行交卷,考生屏幕抓取。

三、系统实现的关键技术

(一)数据库技术

数据库的访问采用ADO数据库访问技术,在开发过程中利用SQL编程技术对数据库中的数据进行操作。

ADO是MicrosoftActiveXDataObjects的缩写,它是使应用程序能够访问数据库的数据对象。利用ADO数据访问控件,可以只使用ADO组件与数据库取得联系并对其中的数据进行操作。由于ADO对象自身使用ActiveX对象,因此它在Internet上扩展非常容易。

(二)IntraWeb技术

利用IntraWeb技术设计Web动态网页,实现考生身份自动识别,如果登录信息与考试时间、考试班级设置相符,则进入考试界面,否则退出考试。考试期间,每间隔一分钟回传剩余考试时间,剩余时间为0时,自动交卷。

IntraWeb是一个创建基于Web应用程序的具有革命性意义的新方法,IntraWeb提供了一个杰出的工具,用来高速、简易地创建Internet、Intranet以及Extranet应用程序。许多基于Web的开发工具都要求开发者有CGI脚本的知识,同时也要求开发者要有状态跟踪以及复杂的客户端配置,IntraWeb避免了这些。通过使用Delphi中的组件,简单的创建一个应用程序项目并注册到服务器上,客户就可以利用兼容HTML4的任何一种浏览器来访问这个应用程序,这些浏览器包括Netscape、InternetExploer等。利用IntraWeb开发的Web应用程序不需要写任何的HTML、CGI或是JavaScript代码,所有的代码都可在Delphi中完成。

(三)WinSocket编程技术

Socket网络通信的基本方式是请求和应答方式,接收方和发送方是相互协同工作。Socket编程遵循数据分包传送的规则,每次只发送和接收一个数据包,以保证数据传输的安全性和稳定性,同时也不至于过多地占用系统资源。

对于ClientSocket组件,从字面上就可以看出,它用于请求方。也就是说,它的动作是主动地建立连接。显然,ServerSocket组件用于响应方,它的动作是侦听以及被动接受连接。ClientSocket组件的属性是相对静态的,它和ServerSocket之间只是连接和断开的关系。并且仅当ServerSocket对其接受才表示建立连接。ServerSocke组件的属性是动态的。伴随着一个新的ClientSocket与之建立连接的同时,就会产生一个新的Socket与该ClientSocket对应,保持单独的连接,进行单独的通信。因此,在同一个ServerSocket中,可以与多个ClientSocket保持同时连接和各自独立的通信。ServerSocket的属性Socket.ActiveConnections用于表示客户端连接的数量;Socket.Connections[Index]属性则用于访问单个与ClientSocket连接的Socket。正是这样的结构,才使得WinSocket技术能够稳定实现一个服务程序向多个客户端提供服务。

(四)远程屏幕图像实时传输的压缩、解压方法

远程屏幕图像的传输采用Client/Server结构,由客户端与服务端两部分构成。客户端主要是负责向服务端发出获取服务端屏幕图像的请求与将从服务端发送而来的屏幕图像在本地实时地显示出来,而服务端主要是负责响应客户端的请求并抓取与发送屏幕图像。由于服务端所抓取的屏幕图像一般为位图格式,其数据量较大,若直接发送则会导致占用网络带宽过大、实时性差、占用系统资源过多、稳定性差等问题,因此需经过压缩后才能将其发送给客户端,而客户端相应地也要将接收到的屏幕图像数据进行解压缩后才能正确地将屏幕图像显示出来。

对于屏幕图像数据的压缩与解压缩这一点,主要追求的是较高的压缩率与较快的压缩与解压缩速度,Delphi中有一个自带的数据流压缩、解压缩解决方案,通过Zlib.pas和Zlibconst.pas两个单元文件来解决数据压缩、解压缩问题,实现了很高的数据压缩率(较WinZip高),是一个比较好的压缩、解压缩方案。

参考文献:

[1]刘艺.Delphi面向对象编程思想[M].北京:机械工业出版社,2003.

[2]李维.Inside深入核心VCL架构剖析[M].北京:电子工业出版社,2004.

[3]杨凯.Delphi7下IntraWeb应用开发详解[M].北京:电子工业出版社,2003

[4]张立科.ASP电子政务应用系统开发实例导航[M].北京:人民邮电出版社,2004.

[5]李大辉,林海燕.关于题库生成系统的智能性研究[J].哈尔滨师范大学自然科学学报,2001,17(1)。