Office操作题开放式自动阅卷的探索与实践
2012-08-07符钰
符 钰
(泰州职业技术学院电子与信息工程系 江苏泰州 225300)
0 引言
随着社会信息化程度的日益提高,各大高校几乎都已将计算机信息技术列为大一新生必修的一门基础课。与此同时,市场上也出现了许多与之相关的考试系统和自动阅卷系统,以笔者所在的泰州职业技术学院为例,四年前学院就开始对该课程的考试实行系统自动阅卷。这些自动阅卷系统,一般都是用户提出具体要求,然后由软件设计人员绑定试题以及试题的标准阅卷信息,最后将成品展示给用户。这类产品已广泛应用于我院的期末考试和模拟等级考试,给教师的组卷阅卷带来了极大的便利。但是,现有的系统也存在着明显的缺陷,即用户不能修改试题内容及试题标准阅卷信息。随着计算机信息技术教材的更新以及考核知识点的变化,原有系统中自带的试题库已经显得陈旧,缺乏针对性。为了紧跟计算机信息技术的发展潮流,随时对最实用、最热门的Office操作考核点进行测试,就需要对原有的阅卷系统进行二次开发,实现Office操作题的开放式自动阅卷。
该系统对传统的只针对具体题目编写阅卷信息的方法作出了改进,免去了改变题目就要修改阅卷程序代码的麻烦。在office操作题标准阅卷信息生成器的帮助下,用户能够自行出题,生成标准阅卷信息,进行阅卷。实现了由使用者自行对操作类题目命题,并自动产生阅卷信息的开放式系统,大大增强了系统的可扩展性和可维护性[1]。
1 开发工具和数据库
本文研究的重点是针对泰州职业技术学院原有考试系统操作题自动出题和自动阅卷方面的不足,设计一个开放式的Office操作题自动阅卷系统。原有阅卷系统采用的开发工具是VB/VBA,前台用VB设计与用户交互的界面,后台用VB打开Office操作文件(Word、Excel、PowerPoint),利用相应软件里的VBA程序读取考试信息。考虑到VB采用事件驱动的编程机制,具有良好的面向对象特性,善于可视化程序设计,操作简单、效率高、功能强大,新系统仍沿用VB+VBA的开发工具[2]。
长期的使用证明,原有考试系统的数据库结构比较合理,在设计新系统时基本可以沿用。只需要对其考试题库进行修改,并新增阅卷信息exam字段来规范阅卷信息,就可以实现开放式阅卷的基本功能。
2 系统设计实现
Office 操作题主要包括 Word、Excel、Powerpoint三大模块,由于篇幅所限,本文只选取了Word模块,详细论述其试题的生成和自动阅卷的实现。具体过程包含两个步骤:第一步是生成系统标准阅卷信息。先对Word具体操作进行分类,并且对每一个具体操作进行编号,然后运用阅卷信息语言生成系统标准阅卷信息;第二步是实现开放式自动阅卷。运用VB工具在数据库中查询与考生操作相匹配的VBA属性值,面向自动阅卷信息库中的字段进行编程,真正实现出题和阅卷的开放。
2.1 Word操作的具体分类及编号
一个Word文档中的常见操作可分为以下几方面:页面设置、段落格式设置、对表格的操作和对图片的操作,每一类别下面还可细分为很多子类(由于篇幅所限,这里仅对页面设置、段落格式的具体分类进行摘录):
①对页面设置的具体分类(见图1)
②对段落格式的具体分类(见图2)
分别用字母“A、B、C、D”来标识“页面设置”、“段落格式”、“表格操作”、“图片操作”四个大类,用数字来标识每一个子类在大类中的排列顺序,如
图1 页面设置模型图
图2 段落格式设置模型图
“页面设置”类中“页面左边距”属性标识为A1,“页面右边距”属性标识为A2,“页面上边距”属性标识为A3等。
2.2 测试点属性获取代码表
为了方便提取“阅卷标准值”和“操作结果值”,达到阅卷系统的开放性,必须建立一个测试点属性获取代码表。(见表1)根据所列举的测试点,为每一个测试点属性配上唯一的VBA代码,这样将极大减少编程工作量,增强阅卷功能的扩展性[3]。
表1 测试点属性获取代码表
2.3 标准阅卷信息语言
标准阅卷信息语言是系统设计的基础,利用它可以生成标准阅卷信息,并实现自动阅卷。其一般格式为:
试卷编号→题号→分值→测试点编码→定位参数→关系运算符→阅卷标准值
说明:其中试卷编号是设计者为试卷库中的每套试卷定义的标识符;题号代表试题的小题编号;分值代表试卷小题中每一测试点对应的分数值;测试点编码是预定义的测试点唯一标识,方便VBA代码的编写和文档属性的提取;定位参数用于确定测试点的具体位置;关系运算符包括> =、=、< =、><、!=、In、Include、Between 等;阅卷标准值包含字符串、数值或Boolean类型值等,由VBA代码从标准答案文档中提取[4]。
例1:设置页面上边距为4厘米,分值为2分。
其标准阅卷信息语言为:
Word1→1→2→A3→(1)→ =→Centimeters To Points(4)
具体代码为:
If w.Documents(1).Page Setup.Top Margin=Centimeters To Points(4)Then word Score=word Score+2
例2:将标题段文字设置为红色,分值为1分。
其标准阅卷信息语言为:
Word1→2→1→B3→(1、1)→ = →wd Color Red
具体代码为:
If w.Documents(1).Paragraphs(1).Font.Color=wd Color Red Then word Score=word Score+1
2.4 阅卷算法实现
阅卷伊始,首先根据试卷原始信息在题库中搜索到该题的测试点编码,同时获取该题的分值、定位参数等标准阅卷信息。然后打开学生操作文档,提取代码获取“操作结果值”,如果学生“操作结果值”与“阅卷标准值”相同,则该小题得分,否则不得分,随后继续对其他测试点进行判断,直到所有测试知识点批阅完毕。
3 结束语
如何实现Office操作题的开放式自动阅卷是一个具有较强现实意义和较大技术难度的课题,涉及到系统的方方面面。尤其是在获取Office操作对象属性的过程中,系统设计者会面临不少困难。因此,一个完善的阅卷系统必须要充分考虑对象的各个方面,并在使用过程中不断测试和改进。
[1] 郭嘉喜.基于ActiveX的Office操作自动阅卷控件的设计[J].煤炭技术,2010(4):46-47.
[2] 罗呈娇.开放式结构操作类自动阅卷系统的设计与实现[D].上海:华东师范大学,2007.
[3] 陈雄山.Word文档对象分析与自动阅卷的实现[J].现代计算机,2010(7):199-201.
[4] 朱文耀.开放式考试阅卷系统的设计与实现[D].上海:华东师范大学,2009.