自动阅卷算法实现_第1页
自动阅卷算法实现_第2页
自动阅卷算法实现_第3页
自动阅卷算法实现_第4页
自动阅卷算法实现_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

随着教育改革的不断深化和发展,人们对信息技术与教育系统整合的要求越来越迫切.传统的考试方式已不能适应现代考试的需要,计算机应用能力的上机考核逐渐成为高校考试改革的重要方式之一.而且随着网络考试环境的不断开发,对自动阅卷技术的研究也将越来越深入,并逐步使得考试系统走向成熟,全面推进计算机无纸化考试是今后的发展趋势[1].同时随着考试方式的改革,各种类型的计算机考试系统也应运而生.而影响计算机无纸化考试全面推行的关键是考试结果的评判.因此,从某种意义上说,评分算法是整个考试系统成败的关键所在,是整个无纸化考试系统的核心.问题提出由于每个考生的思维方式不同,解决问题的能力也不同,在程序设计时往往会采用不同的语句或使用不同的控制结构来实现,因评阅时对考生程序的准确性判断存在一定的难度,自然而然地给阅卷工作带来极大的难度.在以往的人工阅卷模式中,对于考生所提交的程序清单,阅卷人员不仅需要以自身的经验去评价考生的程序答案是否可行,还要对程序的运行过程或结果的准确性加以评判,才能对整个程序做出一个合理的评分结果.由此可见,实施程序测试是检验程序功能,提高计算机自动阅卷的合理性较为关键的技术.作为图形界面的表单程序,是《VisualFoxPro程序设计》课程教学的重点和考核点,而表单设计比较复杂,不仅包括控件的属性,如名称、标签、外观等的设计,还包括程序功能的设计,即程序代码的编写.自动阅卷时不仅要考虑表单界面元素的设计是否符合要求,还要分析程序的功能是否实现.方案确定1阅卷规则分析判断一个程序是否正确有不同的标准,在进行自动阅卷时必须先制定一套判断程序是否符合要求的准确、可行的标准,在这个标准的指导下进行自动阅卷的研究才有实用价值.针对VisualFoxPro表单程序的特点和程序考试的评分要求,制定了以下判断准则:程序界面符合要求.这里的“符合要求”指界面的初始位置、界面大小、界面中控件的类型、数量符合题目所规定的要求;程序中控件的属性符合要求.每一个控件都有很多属性,这些属性必须符合题目的要求,即应该修改的属性必须修改,没有特别要求修改的属性保留默认值;控件事件符合要求.控件在程序运行时会有一定的控件事件产生,这些控件事件必须按照题目要求对应正确,不应该有多余的与题目无关的事件;程序运行结果符合要求.判断程序最主要的是看结果是否正确.当提供正确的输入数据或触发某一事件时,程序必须按题目的要求给出正确的输出结果.2表单程序自动阅卷方案通过分析表单程序文件的结构和面向对象软件测试技术的特点,系统采用静态测试和动态测试相结合的方法来完成表单程序自动阅卷.其基本思想是根据提交的考生程序文件,对该考生程序即时编译,对于不能编译的程序,通过获取程序的相关信息,根据关键字匹配技术实现自动判分;而对于通过编译的考生程序,将考生程序作为子进程来控制,模拟Windows运行的消息机制,驱动考生程序自动运行,并在自动运行过程中记录运行过程,再根据窗口句柄,获取表单界面上控件的动态信息和运行结果信息,从而达到评阅的目的因此针对表单自动评阅功能实现,开发了一个小平台,利用“消息驱动”机制,驱动考生程序按照指定要求执行,获取执行后的界面信息以及结果信息.实现的相关技术1表单文件格式分析通过文献资料的参考以及对表单程序文件结构分析,发现VisualFoxPro面向对象表单程序文件是一个数据表,表中记录了表单界面上的对象和功能实现的全部程序代码.其中包括控件对象的类名信息、属性信息、控件的直接容器信息以及表单控件的方法和事件代码等详细信息.下面以某表单上的一个命令按钮为例,以数据表形式访问其命令按钮对象相关信息,其涉及的字段信息如下表1所示.表1表•单稈序文即结构字段瞎称字段頂ClassCbniEfliidbJttDiiPared:RmnlObjoameCaLtuHndlTop=144Lrft=72lii曲=37Pirfieities^idth=97Gfitioii=''■茶:丄灵"Nmue=CbnnnndlPROCEDUREOickJ1afOSkipNfethodsEidifUR^bniLirfreshEKDPROC表1表单程序文件结构通过对VisualFoxPro表单文件结构的分析,与阅卷有关的所有信息都可以通过以数据表的形式访问表单文件来获得,即在程序不能正确运行的情况下通过这种静态测试来实现按步打分的原则,而避免“一刀切”的算法.2考生程序运行及跟踪的研究在评阅表单程序文件时,为了获取表单运行状态信息,需采用动态测试,利用跟踪技术记录考生程序运行状态.由于VisualFoxPro程序设计语言中本身提供了用于操作程序的函数,如FILE()、F0PEN()、FWRITEO、FCLOSE()、AMEMBERSO以及AERROR()等,这些函数可实现记录程序运行过程,其中还包括程序运行过程中出现的错误信息,而这些信息是动态评阅的关键.其实现过程如图1所示.图1考生程序跟踪记录在阅卷时调用跟踪模块对考生提交的程序加以运行,记录相关数据.其中包含判断考生程序是否存在、自动执行考生程序、跟踪记录执行过程、提取错误信息等,并将记录的结果信息写入到文本文件中,生成结果文件和错误信息文件,然后读取结果文本中的信息,判断题目所规定的内容(如表单中的控件,控件中的属性和方法等)是否己实现,同时通过函数获取考生程序运行过程中的错误.3.3消息和事件驱动机制在表单程序测试时,通过读取考生文件信息获取得分要点信息,在不运行考生程序的情况下进行静态测试;而真正的自动阅卷还需实现自动运行考生程序,通过测试数据或执行过程进行验证,才能判断程序是否具有指定要求的功能,该功能是否能够真正实现,以及对象状态是否变化,运行结果是否正确,以此确定程序的正确性.因此如何驱动考生程序运行以及测试数据的生成是实现自动阅卷的关键技术.而通过对VisualFoxPro文件结构分析,以及根据参考文献资料,发现VisualFoxPro表单程序文件是面向对象程序设计界面,具有面向对象技术的特点和事件驱动机制.因此可借助面向对象软件测试方法以及程序自动测试技术,实现表单程序的自动阅卷.对于考生编写的程序,可通过面向对象程序测试技术,实现模拟用户操作,发送消息,利用消息驱动程序,驱动考生程序运行,同

时利用句柄获得对象的动态信息,从而实现程序的动态测试,达到静态和动态阅卷,以此获得各项的步骤分,给考生一个较公平的成绩.表单程序设计题自动阅卷的设计与实现1表单程序自动阅卷模块设计表单程序设计题的自动评阅流程设计为三个模块,其详细如图2所示.图2自动阅卷流程图*图2自动阅卷流程图*、生程序 V记录=结果苗息刑错误信息*—用井希生分散?提验考生阅卷系统数据库模块.它是自动阅卷系统记录数据的重要部分,主要存放了标准答案、评分标准、考生答案、评阅结果的得分情况和考生成绩库等信息.跟踪记录模块.主要完成驱动考生程序运行,记录考生程序运行过程,包括错误信息、测试结果、运行结果等信息,并记入阅卷系统数据库中.评分模块.提取考生程序执行的跟踪记录信息,与标准答案相关信息进行评阅,再根据评分标准,完成表单程序设计题的自动阅卷.由于本系统对于表单程序设计题的自动阅卷,不仅根据考生程序执行结果,而且还根据考生程序执行过程这两种方法作为评判的依据,因此将表单程序自动阅卷分静态和动态两步进行,以此得到一个比较合理的评分结果.2静态阅卷阅卷时首先对程序进行静态分析,获取表单界面信息,如控件名、相关属性以及事件和方法,并获取程序执行过程的跟踪记录信息,目的是用于判断考生表单程序界面设计是否符合要求,事件代码设计是否合理.其流程图如图3所示.

A匹配他功吗否驭要点信息井班疔要点匹配分折英点,赋要点得井读取考生答案相先丈曲悄息神态爲卷开始静奇阅雀结束要点分拘満分A匹配他功吗否驭要点信息井班疔要点匹配分折英点,赋要点得井读取考生答案相先丈曲悄息神态爲卷开始静奇阅雀结束要点分拘満分图3静态评阅流程图4.3动态阅卷通过自动运行考生程序,获取考生程序动态运行过程信息以及结果信息,来判断考生程序的正确性,进而给出分值,以达到自动评阅的目的.其动态评阅过程如图4所示.Jfrt.件是氓化蛍”"判豪有无莊军考主養覺丈件的怖轻向住州垸遢槽息功再国哇塔東惟出运廿怙果舞牛JttJfrt.件是氓化蛍”"判豪有无莊军考主養覺丈件的怖轻向住州垸遢槽息功再国哇塔東惟出运廿怙果舞牛Jtt檢为U|lMd考兰博序曙璟记读參炸区翟.井输出•'确壬flta君胃=«斥stss龙庠辭晶會动态评阅流程图皿昇耙件匂构惋定序试竝歩4.4实例分析在课程考核中随机抽取20名考生的答案文件,并针对两份考试卷的表单程序的阅卷情况与以往的阅卷方法进行了对比,其分析结果如下:通过实验数据分析,系统采用的自动阅卷算法与人工阅卷之间有一定的误差,但误差较小,而且自动化程度和效率都得到了较大的提高.表1抽样试题一的实验对比数据表坝站果分 人「阖卷方注 自戲阅卷齐注结果总分算眩要点结果测试要点站果总分1001330S330S200151061.51305.530051071:306410105129123[95000.51102.50.501.5026001.5220551.50304.5101053210233[1080005050030390023071230610101033210133110表2抽样试题二的实验对比数据表结果总分语輩算祛要点结果总分语法测试要点总分1151535521535215200007020020230025401133401041010144091331950'03550133-50126001430S■:240871010154:10134198000130401304915153542143-413100001304■■0305人工阅卷方袪自动関卷方法联结果分结束语在对表单程序自动阅卷时采用静态和动态相结合的自动阅卷算法,特别是根据Windows消息驱动机制来运行考生程序,利用跟踪模块记录考生程序执行过程,再根据记录的信息利用要点匹配技术实现自动阅卷功能,该系统在课程考试中运行良好,评阅结果也比较公平、合理,满足教学考核的基本要求.参考文献[1]谭炳文,王更生,周娟.在线裁判系统的一种新阅卷方式J]•华东交通大学学报,2008,25(6):59〜62.[2]李凤霞,陈朔鹰,李凌.改革主观题的评判方法,使程序设计回归真实J]•计算机教育,2008,(15):69〜71.[3]张新林.基于动态技术的计算机操作题的智能命题与评卷系统J]•电脑与电信,2007,(6):1〜3.[4]赵岩.高校PB教学考试程序设计题自动阅卷系统的研究与实现[D].沈阳工业大学硕士学位论文,2006.[5]赵庆兰.进化测试中的静态分析技术研究[D].西北工业大学硕士学位论文,2006.[6]NghiTruong,PaulRoe,PeterBancroft.StaticAnalysisofStudents'JavaPrograms.AustralianComputerSociety[J].Inc,2004,30(6):56〜59.[7]StephenH.Edwards.TeachingSoftwareTesting:AutomaticGrad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论