考试系统中Office主观题阅卷方法研究

时间:2022-07-31 10:20:42

考试系统中Office主观题阅卷方法研究

摘要:分析现有计算机考试系统中Office主观题的阅卷方法,介绍了较普遍的基于OLE技术的实现方法,同时提出了一种简便的、悬浮窗流水评卷的人工辅助阅卷方式。比较了两种不同处理方式的特点,以及相应的题库建设、考试等环节的处理。人工参与的悬浮窗流水评卷法相对开发代价小、实现方便,在很难实现的文字类主观题自动阅卷上具有一定的应用价值。

关键词:计算机考试系统;自动阅卷;OLE;VBA;Office对象;悬浮窗

中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)29-0406-03

Study on Automatic Scoring of Office Operation Questions in Exam System

WANG Xiu-li, GE Ping-ju

(College of Information Science and Engineering,Shandong Agricultural University,Taian 271018,China)

Abstract: The paper pay close attention to automatic scoring of subjective questions in computerized exam system. The available OLE method is introduced, and a pipeline method with floating window is proposed. The ways that founding question database and examining style are different according to the scoring ways adopted. Although the floating window way is semiautomatic, it is still efficient in practical application. Because the scoring standard is simple, it can save a lot of work in database establishing. With flexible using and friendly interface, it can be promoted to other courses examinations with subjective questions written words.

Key words: computerized exam system; automatic scoring; OLE; VBA; Office application object; floating window

1 引言

传统的利用纸张试卷考试的方式存在许多繁重的人工操作,于是人们开发各种计算机考试系统,借助计算机高效率的处理能力减轻负担。考试系统涉及的问题很多,包括试题结构设计、选题算法、自动阅卷、防作弊技术等,我们重点讨论计算机基础课程考试中涉及的Office主观题处理的相关问题。

计算机基础考试的主观题部分主要是Office操作题,现有各种系统的框架结构、自动阅卷的实现方法多种多样,各具特色,其中借助OLE自动化技术操作Office对象的方式是最普遍的。有些系统在主观题处理上还保留着人工辅助的方式,这类实现应更侧重友好的用户界面的实现,以最大程度提高效率。

2 考试系统构建方式选择

分析现有的考试系统[1-8],实现方式主要有两种:C/S(Client/Sever)方式和B/S(Brower/ Server)方式。两者的区别突出表现在:B/S方式在客户端友好用户界面的实现上具有优势,但其浏览器脚本语言的能力有限,网络依赖性强;C/S方式对用户而言建立和操作客户端相对复杂,但其客户端处理能力强,实现相对灵活、功能全面。

随着网络的普及和发展,B/S模式在许多应用中成为主要趋势,但实际应用中仍不能单纯认定哪种方式绝对好,应根据需求和具体应用环境综合考虑。就考试系统而言,WEB方式的考试是现今主流的方式,但在一些功能实现上有难度,实际应用中还不会完全替代CS模式的考试系统。在考试系统的设计实现方式上也出现了很多C/S和B/S的混合模式,根据系统各应用环节的适用情况灵活构建。系统选择的构建方式不同会直接影响后续细节设计和开发实现的复杂度。

一般需要实现灵活、功能丰富的可使用C/S方式,而友好用户界面,方便操作可使用B/S方式。所以,我们在实现计算机基础课程考试系统时选择考试与阅卷部分使用C/S方式,而学生下载试题、部分题库管理模块等交互性强的使用B/S方式。

3 Office操作题自动阅卷技术

纯主观性的题目实现自动阅卷很难,会计电算化考试、银行从业人员考试等一些资质考试都已计算机化,但都回避简答、论述等文字类主观题也是缘于此。虽然也有利用语句相似度等算法进行评判的方案,但较成熟的解决方案还没有。计算机基础考试操作题之所以可以实现自动化阅卷,在于有确定的客观结果可对照,利用计算机编程具有可行性。利用COM、OLE技术操作Office对象对Office操作题进行自动评判是许多系统普遍的方法[1-5]。

3.1 OLE与VBA介绍

为了让应用程序之间自动获取彼此的最新数据,动态数据交换(Dynamic Data Exchange,DDE)的通信协定应运而生。但是,解决彼此之间的“数据格式”转换仍然是程序员沉重的负担。对象的链接与嵌入(Object Linking and Embedded,OLE)技术解决了该问题,它把应用程序的数据交换提高到“对象交换”,程序间不但获得数据也同样获得彼此的应用程序对象,并且可以直接使用彼此的数据内容。

VBA就是典型的OLE技术。微软公司不公开Office文档的格式信息,但提供了访问文档的接口――VBA(Visual Basic for Applications),利用VBA的Office文档访问接口就可以创建、获得Office文档对象,并进行对象属性等的操作,编程实现对Office文档的各种处理。

3.2 VBA实现自动阅卷的方法

以VBA实现Office自动阅卷核心代码实际上很简单,生成学生答题文件的Office对象,获取其特定对象属性,将对象属性和题库中规定的对象值进行比较,从而实现主观题阅卷。典型代码如[3-4]:

wordApp=CreateOleObject(“Word.Application”)

wordDoc=wordApp.Documents.Open(“answer.doc”) // 打开Word 文档

if wordDoc.Paragraphs(1).Alignment = wdAlignParagraphRight then

score=score+1

……

3.3 自动阅卷相关的题库处理问题

对于每个操作题个体,其评分标准涉及的Office属性各不相同,自动阅卷代码中要考察的对象属性应是通过循环读取数据库中属性字段得到,并与同时获得的数据库标准答案进行比较。这些字段内容均需在试题录入时写入试题库,实际上题库录入操作相对自动阅卷功能的实现更为繁琐。

笔者接触的某些商业方案在这方面有所改进。教师在录入试题时只需给出原始素材文件和结果文件,由题库系统自动扫描比较两文件的不同,找出所有值不相同的Office对象属性形成可选属性列表,教师录入试题只需进行选择即可。录入操作被极大地简化了,但人工操作的简化是以增加题库录入部分的开发复杂度。在实际使用上,教师还需要进行一定的培训并熟悉Office各种对象属性才能熟练出题,从而提高试题录入效率。

4 人工辅助的半自动阅卷

我们在本校计算机基础课程考试中探索了一种阅卷方法,特色在于利用悬浮窗实现人工干预下的主观题半自动化阅卷。由于试卷结构相同,可对大量学生试卷中的操作题目按WORD、EXCEL、PPT等不同文件类型流水判分。批阅不同类型的题目打开的窗口界面类似,如图1。批阅学号缺省定位在试卷文件夹的第一个上,选择打开考生文件按钮,程序自动打开该生答题文件,同时评分要点窗口以自动伸缩的方式出现并附着在桌面左边。

4.1 悬浮窗流水阅卷的实现

评分悬浮窗口是评分的主要操作窗口,如图2。利用时钟监视鼠标坐标,控制窗口的伸缩实现悬浮效果。

主要代码如下:

Private Sub Form_Load()

frmdefen.Left = 0 '窗体始终放在屏幕左部

dl& = GetWindowRect(frmdefen.hwnd, MyRect) ' MyRect As RECT

Private Sub Timer1_Timer()

dl& = GetCursorPos(MyPoint)

If PtInRect(MyRect, MyPoint.X, MyPoint.Y) Then ' MyPoint As POINTAPI

frmdefen.Width = max Else frmdefen.Width = 30 '窗口伸缩

Private Sub Form_Paint()'窗体始终置于最前面

SetWindowPos Me.hwnd, HWND_TOPMOST, Me.Left / Screen.TwipsPerPixelX, Me.Top \ Screen.TwipsPerPixelY, Me.Width \ Screen.TwipsPerPixelX, Me.Height \ Screen.TwipsPerPixelY, conSwpNoActivate Or conSwpShowWindow

悬浮窗上列有操作题的评分要点及各要点最高分值,方便阅卷老师在浏览考生答题文件的同时对各要点进行增减分操作,程序自动计算合计分值并显示得分。评分结束后点“OK”,程序自动存储该生成绩的小分,计算累计总分,自动关闭当前考生的文档并打开下一个考生的文档进行批阅。根据不同类型操作题自动关闭文件,ShellExecute函数不再适合,选择利用Office对象记录打开文件,并在需要的时候自动关闭。

定义操作对象:Public OfficeApp As Object

打开文件操作:

Select Case czfenlei

Case "WORD", "WIN"

Set OfficeApp =New Word.Application

OfficeApp.Visible = True

OfficeApp.Documents.Open czfile

Case "EXCEL"

End Select

评分完毕后选择OK键,自动关闭文件操作:

Select Case autocz.czfenlei

Case "WORD", "WIN"

Set temeApp = GetObject(, "Word.Application")

Case "EXCEL"

End Select

If Not temeApp Is Nothing Then autocz.OfficeApp.Quit

4.2 悬浮窗流水阅卷的特点

该半自动化方式思想是将主观题阅卷最不容易实现的智能部分保留人工操作,而尽可能多的把机械性操作由程序承担,包括:考试文件的打开与关闭、考点提示、考点小分的登记和计算、总分统计等。虽然半自动化方式在自动性上有所不足,但其开发复杂度低,实现迅速,能够具有一定的通用性。

流水线操作是提高效率的基础,由VBA技术实现,只需实现简单的Office文档自动打开和关闭,不需要对每道Office操作题进行复杂的Office对象属性判断,相应的试题库也不需要记录复杂的评分属性,直接免去了繁琐的Office对象属性及答案的录入。题库录入只需给出人工评分需要的基本信息:题干、考察要点、各要点分数等;人工操作机械性部分的缩减在很大程度上提高了效率。节约了开发成本就要以一定的人工操作为代价,我们努力在前期的题库建设和后期的评阅处理上找寻这样一个平衡。

考生总分由程序自动计算后保存到评分程序数据库中,并且自动阅卷的过程根据试题所属知识点给出相关统计值。教师还可利用阅卷窗口提供的导出选项,将数据库中的成绩及相关分析数据导入EXCEL文件保存,该功能同样是利用VBA操作EXCEL表格,代码此处不再赘述。

4.3 安全性处理

系统给每场考试的考生提供同一套操作题,这也是能够流水作业的基本。为防止作弊更需要增强安全处理:

用乱序的方法达到基本的考试安全。

为防止非法用户登录试题,同时监测相同考号在不同机器的试卷登录操作,考生登录时,考试程序将读取试卷数据库里的考生信息进行检查,只有学号合法的考生才能正常打开下载的试题。只要试题被打开,程序就获取机器MAC地址存入考卷数据库,并向FTP服务器发送包括学号、姓名、计算机IP及MAC地址等的登录信息。

本系统考试过程不屏蔽网络共享,而是为每套试卷记录第一次打开机器的MAC地址,再次登录机器与曾记录MAC地址不符则无法打开试卷,也就限制了考卷复制传播到不同的机器。监考教师可以利用快捷键和监考密码进入考试程序的管理界面对考生试卷进行干预。如果有考生在考试途中需要更换机器,可由监考老师进入监考界面清除登录时记录的MAC信息。

5 结论

Office自动阅卷方法日渐成熟,我们在另一种方向进行了探索。利用悬浮窗评分法的考试系统在我校计算机基础课程考试中已实际使用了三个学期,效果明显,现正在向全自动阅卷方式提升,后续还需考虑融入B/S方式实现更友好的用户操作界面。主观题的半自动阅卷虽在减轻教师阅卷工作量上有不足,但相应的题库操作简便,作为一种简单易行、可快速实现的方案,在过渡时期有一定的使用价值。对一些较难实现文字类主观题阅卷的考试,本系统方法也可适用。

参考文献:

[1] 郭庆北,曲守宁,王永燕.基于 Web的计算机文化基础考试系统的研究与实现[J].计算机工程与应用,2003,39(20):223-226.

[2] 刘相滨,阳波,王胜春,等.基于组件的计算机考试系统研究与实现[J].计算机工程与应用,2006,42(5):210-212.

[3] 张丕振,刘勇.基于Web技术的计算机基础考试系统软件的设计与实现[J].计算机与信息技术,2007,16(17):411-412.

[4] 缪相林,杜红,邵自刚,等.面向Web的计算机基础课程考试系统的设计与实现[J].河北工业大学学报,2005,34(1):70-74.

[5] 刘建华.基于OLE自动化的Office操作考试评判系统[J].福建电脑,2005(7):125.

[6] 冯乃光.网上在线考试系统设计及应用研究[J].现代电子技术,2007,32(18):121-126.

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

[8] 骆惠清.基于C/S和B/S混合结构的VFP考试系统[J].郑州轻工业学院学报,2005,20(4):50-51.

上一篇:网络攻击种类 下一篇:《微机原理与应用》实验教学的改革与实践