APP下载

基于XML的考试系统的设计与研究

2015-05-27龙琼芳

读写算·教研版 2015年7期
关键词:练习

龙琼芳

摘 要:随着计算机和网络的日益普及,计算机教育已演变为基础教育的一个重要组成部分。网络考试系统成为了检验教学质量和学生能力的日益重要的教学资源。本文就可扩展标记语言(XML技术)与传统网络考试系统相结合从而实现试题共享提出了一个可行方案,解决了OFFICE操作题和C语言程序题的出题与阅卷问题,实现了一个基于XML的网络考试系统。

关键词:网络考试;可扩展标记语言;练习/测试互操作规范

中图分类号:G642 文献标识码:B 文章编号:1002-7661(2015)07-016-04

一、绪论

目前,计算机和网络的应用在各行各业已经很广泛,但是在教学这个环节中,我们仍然过分依赖于传统的教学模式,对于网络的开发和应用程度远远不够。即使是现在比较流行的B/S模式的分布式网络考试系统,它们虽然克服了C/S模式的许多不足,但其也存在不少可以改进的地方:一是考试科目单一,通常是为某一门课程而设计,系统通用性差;二是以试卷为存取单位,有的实质上只是一个试卷库,不能随机生成试卷,难以满足出题者多方面的要求;三是试题单一,仅限于文本类型和客观题,很难满足准确、全面考查学生所学知识的需要;四是有的软件用户界面不美观,使用不够方便:五是忽视了考试后的管理,如考生成绩的查询、试题难度的分析等。

本文在分析现有考试系统的基础上,改进和完善其中的不足之处,设计并实现中等职业技术学校普通科目和上机操作科目的计算机辅助考试系统,使题库维护、自动组卷、网络考试、自动改卷和考务管理等工作更科学更高效,达到真正意义上的教考分离。

二、应用的主要技术

1、XML技术

XML(Extend Markup Language)是一种数据描述语言,是标准通用标记语言(Standard Generalized Markup Language SGML)的一个子集。XML的出现为网络注入了新的活力,它为网络带来结构化的信息,用户可以根据文档的内容定义自己的标记语言,因此具有可扩展性和有效性。XML的灵活性和扩展性使其可以对不同应用甚至是差异很大的应用间的数据进行描述,尤其是对于那些专用于记录数据的应用。作为一种标记语言,XML将内容和显示格式分离开来并且描述了文档中的文本结构。另外,XML具有自我描述的特性,结果是数据可以在不同的应用程序间进行交换与处理而不必要求相应的应用程序是针对该数据定制的。XML被用于实现QTI的信息模型。

2、QTI规范

QTI规范的全称是IMS Question and Test Interoperability(练习/测试互操作规范),它是由IMS发布的关于测试的互操作规范,作为一种学习技术规范,它描述表示问题和测试以及测试结果的数据模型。试图提供一个共享评价数据的标准手段。

QTI的数据模型用抽象的UML来描述,实现用XML描述,因此QTI的技术实现可以使用不同的建模工具,跨不同的语言平台和各种技术。QTI使用XML来描述学习者和测试的信息。IMS QTI的数据模型可以看作是一颗包含多个属性的树型结构评价结果报告的数据模型中有四个元素:

Summary(总结)包含诸如总分和允许尝试的次数等数据 assessment(评价)包含一个或多个问题或一个或多个sectionsection(部分)允许评价的设计者将一些同类的问题归类,在每个section内可以单独计算section的分数Item(项)是包含问题和其它相关信息如分数,表示方式和反馈等。

评估(Assessment)、节(Section)、项(Item)这三个对象结合在一起称为ASI结构。ASI信息模型具有以下特点:基本ASI数据定义很简单,但也很灵活,可组成复杂的数据结构;评估数据至少需要包含一个节;评估不能直接包含项;节可嵌套;节可包含一个或多个项;允许定义空节;项是最小的独立单元,能在QTI中互用,不允许项嵌套等。ASI模型作为QTI互换模型提供了题库中内容的表现形式和内容组织方法,回答了“如何对已有的内容进行组织描述”的问题。

QTI来描述相关的测试和测试结果。QTI提供了一些常用的问题类型:多项选择,判断题,匹配题,填空题等,如果有新题型还可以扩展QTI。

3、VBA技术

Office文档均以二进制形式存放在数据库表中的OLE对象当中,以Word为例,一个Word二进制文件就是使用OLE的DOCFILE APIs以数据流方式写入的。这些数据流作为文件中各块的连接列表存储在文件中,文档内部结构复杂,信息量大,我们不能直接读出文档的细节与格式来和标准答案文档对比得出考生的分数,所以只有从文档的结构对象出发考虑。

在Microsoft Office中集成有VBA(Visual Basic for Applications)标准宏语言,它是基于Visual Basic发展而来的,提供了相当完整的程序设计语言,其应用主要有两个方面:一是可以使用宏记录器记录用户的各种操作并将其转换为VBA程序代码,使工作自动化;二是在其他程序开发中,通过对象引用调用宏模块,增加程序的功能。VBA的语法类似VB,但提供了VB中没有的函数和对象,这些函数和对象都是针对Office应用的。因此可以像编写VB程序那样来编写VBA程序,以实现某种特定的功能。

VBA提供了访问Office文档的接口,包含有大量针对该类文档的函数和对象,使用VBA编程可以对文档中各对象的属性和状态进行识别和读取,并与试题要求进行对比后自动评分。因此Office中的VBA非常适合于用来编写自动阅卷的相关程序。

三、系统总体设计与实现

本系统的功能结构如图1所示:

其中组卷模块提供三种组卷模式,即手动组卷、半自动组卷和全自动组卷。对于手动组卷而言,用户通过浏览试题库,手动从中挑出一定的题目组成试卷。半自动组卷是题库中的试卷已具备若干套,组卷时随机从中抽取其中的一套。全自动组卷是根据一定的组卷要求,按一定的算法产生符合要求的试卷。

考试模块采用服务器/客户端结构。考试过程中,学生端以准考证号登录,系统根据考生报名数据库和监控系统的设置,确认身份后允许登录。监控台可随时对每一考生进行监控和管理。如违反纪律,可强行要求指定的考生交卷,也可由主控台控制全考场统一交卷。考生出现意外死机,可要求重考,原始记录依旧保存,即继续按原来所剩的时间做题,继续按原来所做的题考试。在重考时,由于信息保存在服务器端,可支持换机考试的功能。

1、QTI规范的XML试题表示与解读

在QTI规范中对于常规的客观性题目类型,如选择、判断等题目的描述较多,但对于Office操作等操作性较强的题目却没有涉及。本系统参考QTI规范,对这类题目的XML表示进行了分析。

以WORD操作题为例:如测试者要求被测者(考生)打开考生目录下的某个文档(如test1.doc),并要求将标题“匆匆”设为黑体二号字加粗;正文第一段设为倾斜、红色、字符边框,字符缩放比例设为150%;对“轻轻悄悄地挪移了”几个字设为华文彩云、字符底纹、下划线(蓝色波浪线)。

这样一种Word操作题总是可将它的一系列操作细化为一个个独立的原子操作,所有的操作即是由这些原子的操作的集合。如以上操作是将字体和字号、底纹、修饰等的组合。而对于每一个原子操作而言,总是包含三个要素,即操作对象、操作类型和操作取值。如对以上一项要求“将标题‘匆匆设为黑体二号字加粗”而言,实际是由三个原子操作组成。这些操作,它们操作对象是“匆匆”,操作类型分别是字体、字号、修饰,操作数值分别是黑体、二号、加粗。经这样提取后即能表示Word题的操作要求,也为判分时提供一个依据。

当考生按要求做题后,其答卷首先表现为一份Word文档,我们要将这份Word文档转化为标准的XML格式。为了转换,首先要用XML SCHEMA定义Word文档的格式。根元素是,其下的子元素有下包括了Word文档的一些属性,如文件名称、路径、作者、最后修改日期等。下包括了Word文档的页面设置属性,主要有页面的上下左右边距设置,页眉、页脚设置、纸型设置、页面装订线的粗细、位置设置等。下包括了数目不定的子元素(0个或多个),每个表示Word文档中的一个段落,下包括了段落的设置信息,有段落的左右边距、段前、段后间距、行间距、字符间距,还有段落中文字的字体、字号、颜色,是否加粗、斜体、加下划线,以及段落是否分栏,分栏的数目、栏宽、栏间距、是否加分栏分隔线等等。下包括了Word文档中的图形的设置属性,它包括了0个或多个子元素,每个子元素表示Word文档中的一个图形。根据图形的类型的不同,元素包含有不同的内容,WORD文档中的图形分类为内嵌式图形、图文框、艺术字等等。如果是内嵌式图形,则元素包含有图形的宽度和高度等内容。如果是图文框,则元素包含有图文框的宽度和高度,内部填充图案、填充图案颜色、背景颜色、边框线条样式、线条颜色等内容。如果是艺术字,则元素包含有艺术字的样式、形状、字体、字号等内容。

为了实现转换,必须识别出考生的答案文件(DOC格式)中与上述格式相关的信息。借用VBA访问OFFICE对象,通过这些对象的属性和方法,就可以获得Office文件中的信息。

2、OFFICE操作题的出题与阅卷

(1)命题方式

OFFICE操作题通常是针对一篇具体的待操作的OFFICE文档,提出一定的操作要求。考生操作时,先打开该文档,按要求答题,保存文档。评阅时根据考生所做的文档和标准答案文档比较,得到考生的分数。命题时,对于提供操作要求和文档比较简单,但如何提供这样一种标准答案,既能客观公正地便于评分,又能方便命题教师的录入,而又以安全合理方式保存,不让考生直接打开,这对OFFICE操作题的命题提出了一个挑战。

以WORD操作题为例,命题时要求出题教师给出操作文件、操作答案文件以及设计的操作对象,系统据此读取操作答案文件中操作对象的属性生成标准答案,将标准答案格式化为三个参数,即操作对象、操作类型和操作值。WORD操作题命题如图2所示:

(2)标准答案保存

解读后的标准答案保存到数据库的Word文字处理题命题表中,主要包括两方面的信息:试题信息和评分细则,由于Word使用vba评分,因此一道试题的评分信息比较多且不固定,根据数据库设计的范式准则将这些信息分为两个表,关系为一对多,试题信息为一端表,评分细则为多端表。具体如表1和表2所示:

3、C语言程序设计题的出题与阅卷

C语言程序题主要考察程序设计思想、算法和流程。由于C语言程序书写的多样性,只根据考生填写的预判答案作为评分结果违背了利用计算机语言自由编程的特点(程序书写样式不同,但能得到同样的解)。为此,本系统处理程序题时,给出合理且较为复杂的测试数据,分别用学生程序和正确程序运行测试数据,对比两个结果是否一致,若一致则学生程序正确,否则不正确。

需要特别提出的是:测试数据要满足两个要求:能唯一判断该程序和须有一定的复杂度。前者用于规避错误程序运行的结果与正确程序运行结果相同的特例出现(主要考虑边界值);后者使得考生在考试时间内通过手动算出相应的结果需要花比较多的时间,从而有效地避免了作弊。如何选择合适的测试数据,要根据具体程序和题库建设者的经验来决定。

4、组卷的设计与实现

教师通过身份验证后进入课程考试科目选择界面,分四个步骤,分别输入试卷名称、总分、各题型的题量、每道题的分数及难度系数设置、选择考试章节以及知识点等,按“提交”按钮计算机即可根据输入的参数生成一份随机试卷。如果不选择章节,则默认为所选课程的所有章节。

为了在非人工参与的情况下,由计算机组成一张符合命题者要求的试卷,在设计自动组卷算法时,需要考虑以下因素:

(1)知识点的重复性。自动组卷的基本原理是由计算机随机地从试题库中抽取一定数量的试题。但有时会出现试题重复或者试题相似,以及试题分布不符合要求等,为了避免这种情况,在自动组卷抽题时,一旦取到某一知识点的试题后,就及时地做上标记,告知系统接下来的抽题策略,以期获得比较理想的试题分布。

(2)组卷条件有效性检验。为了保证自动组卷的成功,在组卷开始前,对用户输入的组卷条件进行严格检查,对组卷条件和试题库中的试题进行检验,在数据库中的试题不能满足条件时进行报错并停止,直到组卷条件或数据库中的试题满足条件。

参数初始化是根据组卷人给出的组卷要求(包括考试章节、难度分配、考试项目及其分值和题量)定义本次组卷的相关参数,这些参数包括:①保存在数据库中的试卷信息表、涉及章节表、涉及题型表、难度分布表;②计算每个章节、每个题型、每个难度的题量,并对分值进行分配,此外还要定义各知识点的最大题量和一个数组保存每个知识点的当前题量用以控制试题的分布使其能尽量覆盖所有知识点;③一个题号数组保存所有已选的试题编号和另一个题号数组保存所有不可选的试题编号,这两个参数保证不会抽到重复的试题,前者对于生成第二份试卷则可保证两份试卷的差异性。

四、结束语

考试的无纸化、网络化不仅能有效减少教师的工作量,也能使考试更加公平、公正。XML在考试系统中的应用,基本满足系统的结构化、可扩展性、可重用性、安全性以及稳定性等特点。本系统包括命题模块、组卷模块、考试模块、阅卷模块和管理模块等,使用VBA技术实现OFFICE上机操作题的出题和改卷,以XML作为信息交换的一个重要形式。本系统已经实验运行,我们将在今后的实践中,不断采用新技术,实现更多的功能。

参考文献:

[1] 朱小明,李向荣,林 捷,赵锦红.计算机信息技术课无纸化考试的研究[J].中国教育技术装备,2007,(01):H一14.

[2] 郭跃周,张 颖.基于校园网的计算机考试系统的设计与实现[J].现代电子技术,2006,(04):121一123.

[3] Clark Cooper. XML::Parser—A perl module forparsing XML documents. Apr 2,2002.

[4] Wahlin,Dan. Customize XML Data with SQLServer. XML Magazine. February/March 2001.

[5] (美)Kurt Cagle.XML高级开发指南.周生炳译.北京:电子工业出版社.2001

[6] 王文磊,徐汀荣.基于OLE技术的Word和Excel的存取调用[J].现代计算机,2005,(7):98-100

[7] 李贵洋,王世伦,俞 晓,等.Word文档自动判卷的实现.中国测试技术,2004;30(4):79—80

[8] 钱冬云.基于DELPHI7.0的计算机文化基础试题库系统的开发[J].浙江工贸职业技术学院学报,2004,(01).

[9] 刘 文,刘艳伟,刘秋梅,关于试题难度系数调整算法和组卷算法的研究,燕山大学学报,2007,31(3),266-268

[10] 武蕾娜,组卷算法的研究,福建电脑,2009,3,39-40

[11] 刘 啸.Delphi高级编程.北京:人民邮电出版社.2002

猜你喜欢

练习
小学数学教学中如何设计“练习”
浅谈如何指导小学生进行日记写作
浅论“适性教育”理念下的初中耐久跑教学
论小学数学教育的方式方法问题
“导——展——练——评”课堂教学模式之我见