基于Qt的跨平台监考系统的设计和实现

时间:2022-10-25 05:52:27

基于Qt的跨平台监考系统的设计和实现

【摘要】通过对当前计算机辅助考试系统现状的分析和比较,针对高校对跨平台和稳定高效的计算机辅助考试的需求,设计并实现了基于Qt跨平台开发框架的计算机辅助英语考试监考系统,为各类学校组织计算机辅助英语考试提供更多样化的系统选择和成本节约。

【关键词】 跨平台;监考;系统;设计

【中图分类号】G40-057 【文献标识码】B【论文编号】1009―8097(2011)03―0117―03

一 引言

计算机辅助考试是以计算机为媒介,以教育测量和心理测量理论为指导,对测量对象施测并且进行评价的测量手段[1]。计算机辅助考试系统就是实现计算机辅助考试的一套软硬件系统。应用计算机辅助考试和纸笔考试的对等性已被国内外学者充分论证[2][3][4]。监考系统作为直接进行考试的子系统,实际上是计算机辅助考试系统的主干部分,是整个考试过程中耗费人力和时间最多的系统,其重要性不言而喻。

目前虽然已有不少计算机辅助考试系统,但都具有较高的平台依赖性和模块耦合性。随着计算机软硬件平台种类的增多,考试系统对跨平台特性以及由低耦合性带来的稳定性和高效性的需求变得迫切起来。为此,本文提出一种基于Qt[5]开发框架的跨平台的计算机辅助英语考试监考系统的设计和实现方案。首先,基于Qt开发框架可以开发出跨平台的软件,从而实现监考系统的跨平台特性;其次,在设计和实现的过程中,注重了降低软件模块的耦合性,保证监考系统的高效性和稳定性;最后,本监考系统虽然用于英语考试,但采用了面向对象设计,作答交互模块将一次考试作为一个对象呈现,使得其他考试也能在本监考系统上顺利进行。

二 系统功能和架构

监考系统作为计算机辅助考试系统中的一个子系统,主要负责实施已经策划好的考试。作为一个系统,从与外部环境交互的角度来看,监考系统框图由图1表示。

监考系统在一定意义上是对传统的现场考试的一种模拟。传统现场考试中,学生参见考试,而监考老师负责考务。在监考系统中,监考老师仍然负责考务,只不过一部分事情交由计算机软件系统来协助完成。这些事情涉及布置考场、分发试卷、回答收卷等。而考生则坐在考试机前,从纸笔形式的作答转变成操作鼠标键盘与作答系统进行交互。因此,从功能上来说,计算机辅助监考系统可划分为三个模块:

1考场设置:在考试开始前,将考场内作为考试机的计算机加入即将进行的考试中,形成考场布局,并以考场设置文件的形式保留下来,供考试监考模块使用。考场设置文件可长期使用,除非考场内有计算机变动。

2 考生作答:此模块的主要目的是向考生提供作答的人机交互界面。另外,由于英语考试拥有录放音需求,还要提供设备测试的功能。当然,从考试监考模块接收试卷以及在作答完成后生成和提交答案也属于此模块。

3考试监考:此模块负责考试流程的控制,通过与考生作答模块进行通信实现分发试卷、回收答卷、考试提醒以及中断考试等异常情况的功能。此模块的输出――整场考试的答案信息,同时也是整个监考系统的输出。

本文所设计的监考系统采取基于C/S的系统架构。C/S架构是一种典型的软件系统架构,其全称是Client/Server,即客户端服务器端架构,客户端实现基本的业务逻辑并呈现界面。如果客户端是浏览器的话,这种架构也叫做B/S(Browser/Server,简称B/S)架构,这是因为浏览器出现较晚,为了区别于传统的C/S架构。B/S架构需要高性能的网络服务器,并且由于其网络服务器的被动性而难以实现考试流程的完美控制。基于C/S架构,本文所述监考系统包括监考端、考试端以及考前的考场设置工具(图2)。将考场设置独立出来,一方面是考试流程的需要,确保了参与考试的计算机属于本场考试并且基本可用;另一方面降低了系统各模块之间的耦合性,既利于监考人员将注意力集中到监考过程,又使得系统实现起来容易不少。

三 系统设计和实现

如上所述,为了构造出一个完整的监考系统,需要设计和实现考场设置、监考端和考试端。在实现方面,本文采用了跨平台开发框架Qt和C++编成语言,从而保证了系统具有跨平台特性和高效率特征。其中,跨平台特性实现的关键在于基于Qt可以完美解决考试作答和网络通信两大平台依赖性比较强的问题。当然,在这两个关键部分的设计方面,本文采取简单、稳定的原则,降低实现难度。

1 考场设置

考场设置的主要目的是设置考场所在教室的座位排列方式,此排列方式将在考试监考时显示,便于查找、监控考生考试。其工作流程如图3所示。通过考场设置工具,考务人员可以排列座位,测试机器,移除不需要参加考试的座位以及更改座位名称便于显示。考场设置的输出是座位配置文件,也就是考场信息。此配置文件在考试监考时被监考端读取,并直接利用。

2 监考端

监考端的主要功能包括验证考生登录、分发考卷、回收答卷以及对考试端进行一定必要的控制如中止操作和发送消息。监考端的工作流程图如图4所示。

从监考员的角度来看,监考端依次经过考卷选择、考试开始、答卷回收和考试结束四个主要阶段。在考试进行的过程中,考生登录并作答,而监考员可以发送消息给考试端或者中止考试。监考端实时显示着考生机器状态,如果发现某个考生端异常,可以中止该考生考试,起到监考的作用。

考卷选择时,由监考员提供考卷和答卷的存储位置。考卷是经过一定算法加密的,当解密校验成功时,可以进行试卷的摘要信息预览。考卷选择成功之后会进入监考界面,并等待考生登录。当考生登录成功时,监考端会发送一份考卷给考生端。所有考生端都登录并准备好考试时,监考人员就启动考试,进入考试过程,并计时。在考生作答的过程中,监考人员可以发送消息给考试端,如提示考试时间。当时间快到考试结束时,监考人员一般会提示考生准备交卷,接下来进行答卷回收。考生坐在座位上等待答卷回收,并在回收完成之时得到监考员提示可以离开考场。

监考端主要包含两部分:通信服务器和监考员可见的控制模块。控制模块负责前台监考员的操作和与后台通信服务器的数据交互。通信服务器采用多线程方案设计,可支持数百考试端同时考试。每当有考试端请求连接时,监考端的通信服务器就为之建立一个通信线程,在这个线程里接收和发送数据。为了增强软件的可复用性,通信服务器采用Singleton(单例)模式[6]设计,实现了通信服务器和监考端控制模块的低耦合性,同时也为软件的日后维护提供了很大的便利。为了通信的可靠性,网络通信采用TCP协议,通过继承Qt框架中的QTcpServer来实现,具有跨平台特性。监考端的内部工作机制如图5所示。

3 考试端

考试端的主要功能是为考生提供基于计算机的考试。

考试端的工作流程成线性,其工作流程如图6所示。当考生进入考场并坐在考试端前面,登陆界面已经呈现在计算机屏幕上,考生输入自己的考生号和口令进行登录。随后考生端后台接收考卷,而前台由考生测试设备是否良好。由于是英语考试,所以需要耳机和麦克风。测试设备主要是保证这两个设备能在考试中正常使用,以不影响考试为准。当设备测试成功并且后台考卷接收无误,考试端就进入等待考试开始的阶段,这是因为考生登录和测试设备是异步进行的。考生作答的过程就是与考试界面进行各种交互已完成答题。不同的题型有不同的作答方式,例如选择题使用单选按钮而简答题则使用输入框。考生的答题情况会实时显示在考试端的答题卡上,以供考生参考。考试的最后一个阶段是提交时答卷并离开。考试端会收到监考端的指令而自我关闭。

考试端实现侧重于音视频功能的跨平台特性和作答交互。由于Qt开发框架提供了现成的音视频组件,因此在播放音视频时采用Qt自身的Phonon组件。但Qt并未提供合适录音功能,因此本文采用FFmpeg[7]作为录音的跨平台解决方案。在考卷与考生交互方面,本设计采用了Qt的Webkit模块进行开发,同时达到了美观和效率。Webkit允许加载一段超文本标记语言(Html)片断,同时更重要的是支持层叠样式表css。这使得考卷的内容和显示格式相互分离,并且得到了比较一致的显示风格。当考生答卷时,系统会随时记录考生的作答内容,以防止信息丢失。另外,在本文的考试系统设计中,将考试作为一个独立的对象,并且在考试端采用统一的Html形式呈现试卷,使得考试内容并不局限于英语考试。

为了防范考试过程中出现的运用网络或计算机技术作弊的现象,本系统除了将考试端的机器状态变动及时显示在监考端之外,还对考试端进行了几项处理,包括全屏界面显示、屏蔽键盘快捷键和其他窗口、限定鼠标的光标活动区域等等。

四 结论

随着计算机技术的发展,各种计算平台和操作系统的不断涌现以及教育技术的不断进步,人们对计算机辅助考试系统的跨平台特性的要求越来越突显出来。本文设计了一种跨平台的计算机辅助考试监考系统,并使用跨平台开发框架实现。本系统在校英语考试中得到了应用,可以很流畅地运行在Windows和Linux两种操作系统之上,并且通过调查发现这两种平台的差别对考生来说是透明的。另外,本系统的应用减少了纸张成本和人力成本,取得了满意效果。针对考试流程中比较耗时的主观题批阅,国内外已有不少研究。在今后的研究中,将探究在考试系统中增加自动批阅主观题的功能,利用计算机的优势进一步减轻教师的负担。

参考文献

[1] 李青.联机考试系统的研究和实现[D].南京:南京师范大学,2002:8-9.

[2] F.Robert Wilson,Kathleen T.Genco,Geoffrey G. Yager. Assessing the equivalence of paper-and-pencil vs. computerized tests: Demonstration of a promising methodology[J].Computers in Human Behavior,1985,1(3-4):265-275.

[3] 李墨.机式考试与纸张考试的对比性研究――测试完型填空和多项选择两种题型的阅读理解[D].郑州:河南师范大学,2005:15-17.

[4] Yass Alkafaji,Nicholas Schroeder.Manual vs. computerized practice sets: A test for differences[J].Journal of Accounting Education,1986,4(2):19-25.

[5] Nokia.Qt技术参考网站[EB/OL].

[6] Erich Gamma, Richard Helm,Ralph Johnson,John Vlissides.Design Patterns[M].China Machine Press,2000: 84-89.

[7] FFmpeg.跨平台音视频录播转换解决方案[EB/OL].

Design and Implementation of Inspector System Based on Qt

WANG Hong-minWU MinZHANG Yun-ti

(Center of Modern Educational Technology, University of Science and Technology of China, Hefei, Anhui 230026, China)

Abstract: This paper analyzed the need of a Computer Aided Testing Inspector System and implemented it with Nokia Qt cross-platform develop framework. we also described the data specification of the inspector system.

上一篇:RSS信息推送技术在教育知识管理中的应用研究 下一篇:全能机在精品课录播中的应用研究