背景技术
随着社会信息化程度的不断提高,越来越多的考试已逐渐转向上机考试,并且评卷方式也已逐渐走向计算机自动评阅。如今,Flash已成为中小学信息技术多媒体模块中必教的模块之一,相应对其考核及评价的要求也逐渐提高,通过以理论笔试为主的考试方式,其成绩已不能真正反映出学生的Flash操作水平和能力,这就需要针对Flash软件设计一套自动阅卷系统。
随着信息技术考试在教育行业测试领域的成功使用,针对信息技术考试的智能评测技术得到长足发展,特别是针对Office操作、Windows操作、网络应用操作等信息技术基本考核科目的评测技术已日趋成熟和稳定,分析其中的阅卷原理,大致都是通过以下四种方式来实现:
1、虚拟仿真技术:模拟被测软件(或程序)的环境界面及部分功能,作答时,考生需在模拟软件中进行操作,通过操作者点击的痕迹或记录和标准操作对比,对操作者操作步骤和结果进行评判。比如模拟出Windows IP地址的设置程序,考生在作答时,由考试软件自动调出模拟的IP地址设置框,然后考生按照题目的要求在模拟的IP设置框中进行作答。作答过程中,模拟软件自动记录考生的操作步骤及操作结果,最后通过这些操作步骤与操作结果实行自动阅卷。虚拟仿真技术相比真实环境的评测,需要去模拟被测软件的真实运行环境及功能,模拟的工作量比较大、但技术门槛较低。该种技术有几个比较大的缺点:一是命题比较死板,只能对做了模拟开发的相关知识点操作进行评测,命题开放性、评分灵活性及知识点覆盖度都比较有限;二是升级的代价太高,本身去模拟被测软件的真实运行环境及功能,工作量就比较大,如果真实软件的版本再发生较大升级,比如Office从2003升级到2007,许多操作方式都已改变,那么基本上就需要重新去开发模拟环境,所以代价就非常大;三是考生作答比较局限、不够逼真,因为去模拟一个软件,往往只会模拟出常用的一些功能,而没被模拟到的功能将不能被使用,这就会使考生操作不够顺畅,探索性与创新性慢慢就会被扼杀。
2、真实环境下的全程跟踪评测技术:通过监视程序(即采用钩子技术)全程监视考生对被测软件的操作,并将操作步骤记录下来,然后通过分析步骤记录实行自动阅卷。比如通过监视程序监视考生对Windows画图软件的操作,可以记录到以下类似的信息:14:32分,考生使用矩形工具在画布中画出了69mm*96mm的图形,图形的左上角坐标为67,158……,有了这些信息,实行自动阅卷就比较容易了。其中,钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入系统。钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。此时在钩子函数中就可以对截获的消息进行加工处理。例如在Windows画图软件中挂接钩子,那么当鼠标在画布上点击时,钩子函数就可以优先截获到鼠标点击的坐标、按键类型等。由此可见,真实环境下的全程跟踪评测技术是一种基于过程的阅卷方式,通过监视程序记录考生的操作过程用来作为阅卷的依据。这种技术的优点是考生在真实环境下作答,操作没有局限性,但也有其特有的几个缺点:一是阅卷程序设计起来比较复杂(有些甚至还难以实现),因为考生在真实环境中作答,往往可以通过多种操作方式来达到题目的操作要求,如要求给Word文档中的文字加粗,考生可以通过菜单设置文字格式为加粗,也可以直接按快捷键Ctrl+B进行加粗,还可以通过格式刷将目标字体刷成加粗样式等等,所以在设置阅卷程序时需考虑到所有的这些可能操作,否则就有可能导致考生作答了,但不能得分;二是监视程序可能因电脑环境的不同而停止运行或被阻止运行,在考试过程中监视程序对被测软件的监视行为与传统“木马”及“病毒”的行为非常相似,绝大多数的杀毒软件都有可能将监视程序阻止。
3、基于对象的接口访问技术:即被测软件提供了应用程序对象,通过应用程序对象提供的对外访问接口来访问目标结果文件的结构及相关属性。使用该技术的关键是被测软件提供了OLE或COM访问对象,微软的Word、Excel、PowerPoint等Office类文档都可以通过这种技术来实现。如利用Word软件操作目标Word文档,当执行改变文档中指定文字的大小并保存后,就可以通过类似以下的VBA代码来获取目标Word文档指定文字的大小:
Set wd=CreateObject("Word.Application")‘创建Word对象
wd.Documents.Open("Target.doc")‘打开目标结果文件
wd.Application.Selection.Font.size‘获取选择字体的大小
这种通过接口访问的方式来获取目标文件的结构及属性相对比较准确,而且考生也在真实环境下作答,不会有操作上的局限性。但是这种方式对环境依赖性太强,因为应用程序对象一般依赖于被测软件提供的DLL文件。首先,如果被测软件没有提供这种对外的接口访问文件,那么就没办法使用这种技术执行自动阅卷;其次,如果电脑中安装的被测软件是精简版或简化版或没有被完全安装,那么就很有可能电脑中就没有附带其接口文件,那么这种情况一样导致无法使用这种技术执行自动阅卷;另外如果电脑上安装了被测软件的多个版本,在调用接口时就极有可能会引起调用错误的问题,调用错误的问题就会导致最后阅卷不准确或无法进行阅卷。
4、基于文本文件的分析技术:FrontPage、Dreamweaver、VB、Java程序填空题等类型的软件,生成的目标结果文件都可以使用文本文件进行打开并分析,所以实行自动阅卷的关键就在于如何分析文本文件。如利用FrontPage软件操作目标网页文件,当执行插入一张图片的操作时,目标结果文件就会产生类似的HTML代码:<img border="1"src="imgs/top.jpg">,那么自动阅卷就转换为对HTML代码的分析。相对真实环境下的全程跟踪评测技术,基于文本文件的分析技术也可以理解为是基于结果的阅卷方式。该种基于文本文件的分析技术不关心考生对被测软件的具体操作过程,只对最终生成的目标结果文件进行自定义分析,这种方式可以有效的解决真实环境下的全程跟踪评测技术及基于对象的接口访问技术的缺点,但同时也有其弊端:首先是同一操作下生成的目标结果文件不唯一,阅卷程序实现逻辑比较复杂,因为往往做同一效果的操作,被测软件在不同的上下文(或不同的情况下)会产生出不同的结果,比方说在FrontPage软件中,要设置某些字体的颜色为红色,生成的目标结果文件有可能是在<Font>标签中进行体现,也有可能在CSS中样式中体现等等,为了兼容这两种截然不同的两种目标结果文件,在阅卷程序在设计及实现上就必须考虑各种可能的情况,否则就会导致考生作答正确了但不得分;另外就是能够基于文本文件进行自动阅卷的软件太少,因为大多数被测软件产生的目标结果文件都是特有的格式,而且基于商业保密目的,这种特有的格式都不对外公开,所以就无法使用这种技术执行自动阅卷。
通过以上对现有自动阅卷技术的分析可看出,目前的自动阅卷系统虽能很好地完成对常见客观试题及Office类操作题的自动批阅工作,但是对于主观性较强的问题,尤其是针对多媒体制作工具之一的Flash,还没有很好的解决方案,这里存在的主要技术问题为:1、Flash软件没有提供对外的OLE或COM访问对象,因此没有办法直接应用基于对象的接口访问技术;2、Flash软件生成的.fla的目标结果文件是二进制格式,且其文件格式未对外公开,所以也无法直接应用基于文本文件的分析技术。由于存在以上的技术问题,目前还无法准确通过计算机来自动判断考生是否按要求正确加工了Flash素材,或对Flash软件进行了相关操作,即无法实现自动阅卷。
发明内容
本发明的目的在于针对上述问题,提供一种能在真实环境下,通过不完全依赖被测软件的接口访问技术来访问目标结果文件的属性或结构,以实现自动阅卷的自动评分方法。
本发明采用的技术方案为:一种Flash软件操作技能的自动评分方法,包括试题生成步骤和考生作答后的阅卷步骤,所述试题生成步骤包括:
步骤1:题库子系统接收并保存开发者输入的评分点,及与各评分点一一对应的评分点编号及评分参数说明;
步骤2:题库子系统接收开发者利用Flash JavaScript输入的与各评分点编号一一对应的扫描子代码,并将各扫描子代码写入题库子系统所在目录下的XML格式的扫描子代码文件中,所述扫描子代码用于输出目标结果文件中的通过评分点编号相对应的评分参数说明记载的各项内容;
步骤3:题库子系统接收出题者输入的与试题一一对应的评分标准,并将评分标准存放于题库子系统的题库数据库中,其中,评分标准包括出题者根据试题所包含的评分点选择的各评分点编号、与各评分点编号对应的评分参数值和各评分点的分值比例,所述评分参数值为与评分点编号相对应的评分参数说明的具体值;
所述阅卷步骤包括:
步骤4:阅卷子系统声明Flash文档对象模型,并打开考生作答试题后生成的作为待评分试题的目标结果文件的Flash素材文件;
步骤5:阅卷子系统从题库数据库中读取待评分试题相对应的评分标准,并将逐条根据评分标准中的评分点编号从扫描子代码文件中读取的与各评分点编号对应的扫描子代码写入目标结果文件所在的目录下的扩展名为.JSFL的文本型文件中,形成扫描代码文件;
步骤6:阅卷子系统调用操作系统的ShellExecute命令执行扫描代码文件,使Flash软件自动解析并执行扫描代码文件,以在目标结果文件所在的目录中产生评分所需的扩展名为.txt的内容为字符串形式的关键数据文件;
步骤7:阅卷子系统通过Flash文档对象模型关闭Flash素材文件;
步骤8:阅卷子系统将关键数据文件的内容与获取到的评分标准的评分参数值以评分点编号作为索引进行对比分析,以判断目标结果文件所涉及的各评分点的正确性,并根据评分标准的分值比例给出阅卷结果。
本发明的有益效果为:
1、本发明的自动评分方法与虚拟仿真技术相比,不仅命题灵活性变高,而且即使被测软件发生版本升级,也只需做简单的配置就可以完成支持新版本。因为本发明在命题时又引入“评分标准”概念,如果需要新增科目的考核点,只需通过配置相应的评分点,后续的扫描代码与阅卷都可以自动完成;另外由于本发明是基于真实环境下的作答与自动阅卷,所以相比与虚拟仿真技术,考生的操作没有任何局限;
2、与真实环境下的全程跟踪评测技术及基于文本文件的分析技术相比,本发明阅卷程序不太复杂,因为通过扫描代码文件扫描后,生成的文本文件都是自定义且可控的,不再需要去考虑各种各样的情况;
3、本发明的自动评分方法与基于对象的接口访问技术相比有点类似,但本发明的技术不依赖于被测软件提供的DLL文件,它采用Script扫描技术,也就是说只要能运行Flash软件,就可以执行扫描代码,对环境的依赖性大大降低。
具体实施方式
上机考试自动阅卷过程从业务角度看包括形成电子试题、考生作答和自动阅卷三个主要步骤,形成电子试题主要为命题老师命制考题并形成电子试题,这包括提供试题描述、操作素材及制定试题评分标准;考生作答为考生根据试题的要求进行作答,生成目标结果文件;自动阅卷为计算机根据评分标准及目标结果文件进行自动阅卷并报告评分结果。据此,本发明将上机考试自动阅卷设计成三个子系统,分别为题库子系统、考试子系统和阅卷子系统,其中,题库子系统由命题老师在考前使用,主要提供试题命制功能,供命题老师填写试题描述、试题属性、收集试题素材、设置评分标准;考试子系统由监考老师及考生使用,主要提供监考考试功能,其中的监考功能供监考老师使用,用于监考及处理考试过程中各种情况,而考试功能供考生使用,用于考生实际的考试及作答,最后生成目标结果文件;而阅卷子系统一般由系统管理员使用,主要提供自动阅卷功能,它根据考生作答生成的目标结果文件及命题制定的评分标准,动态生成阅卷指令以执行自动阅卷,最后产生阅卷结果。
本发明相对现有的自动阅卷系统,针对Flash软件的特点进行改进的部分为以上的题库子系统及阅卷子系统,所以以下将详细阐述题库子系统及阅卷子系统实现方案。
1、题库子系统技术方案:
上机考试一般都是采用题库的形式,考生在考试时由考试子系统随机从题库中抽取符合要求的试题供考生考试。为了实现自动阅卷,本发明的题库子系统主要包括基础数据维护模块和题库管理模块,开发者通过基础数据维护模块进行知识点设置、评分点编号及评分参数说明及试题属性配置等,及通过题库管理模块进行试题的录入、修改、删除、查询。
开发者可在基础数据维护模块中配置基础数据,该基础数据主要包括评分点编号及评分参数说明,该配置代表整个上机考试自动阅卷系统所能支持的可考核知识点,将来阅卷子系统的设计与实现即是通过评分点编号进行一一对应。在设置完评分点编号及评分参数说明后,开发者需要在XML文件中采用Flash JavaScript配置每个评分点编号所对应的扫描子代码,形成扫描子代码文件,并将该扫描子代码文件保存于题库子系统所在的目录中,在执行阅卷程序前,首先需要手动将试题包导入阅卷子系统所在的目录中,这样,该扫描子代码文件将随着题库子系统生成的试题包被存放到阅卷子系统所在的目录中。例如,可将Flash软件的标识代码设置为13,评分点编号总长度设置为5位(即限定Flash软件最多可出999个评分点),那么评分点编号即可设置从13001至13999,每个评分点编号又可人为定义其代表的评分点(或者成为考核点)及评分参数说明,例如可将评分点编号13008设置为评分点:“导入具体文件到Flash库”,分析该评分点即可将该评分点的评分参数说明设为文件名,因为判断考生是否有作答“导入文件到库”的操作可转换为判断Flash库中是否有指定的元素名称即可。不同试题中同一评分点对于阅卷程序来说,唯一变化的就只是文件名,所以评分参数说明设置为文件名就可以了。而评分点编号13008对应在扫描子代码文件中的内容为:
步骤1:获取Flash库中所有元素的名称;
步骤2:依次输出Flash库中所有元素的名称。
同理,还可将评分点编号13012设置为考核点:“在指定位置插入关键帧”,其评分参数说明可设计为:场景、图层、关键帧的位置。
对以上提及的Flash JavaScript的说明:Flash JavaScript API基于Flash文档对象模型(DOM),该模型允许使用JavaScript对象访问Flash文档,Flash JavaScript API包含NetscapeJavaScript API及Flash DOM的所有元素。
这样,出题者就可根据基础数据维护模块提供的基础数据在题库管理模块中设定评分标准,即试题,该评分标准将用来生成之后说明的扫描代码文件。本发明的评分标准包括评分点编号、评分参数值和分值比例,还可包括描述说明。其中的评分点编号及评分参数值是依据基础数据维护模块中的评分点编号及评分参数说明进行设置,出题者只要通过例如是“拖放及填空”的形式输入具体的评分标准,例如试题A需要考核考生“导入帆船.bmp到Flash库”及“在场景1的背景图层中第20帧位置中插入关键帧”两个操作,那么出题者只需要在题库管理模块提供的出题界面中输入(例如通过拖入的方式)评分点编号为13008的评分点,并输入评分参数值,即对应评分参数说明的具体值,参照以上实施例,评分点编号13008的评分参数说明为文件名,那么其具体值为“帆船.bmp”,即评分参数值为“帆船.bmp”;同理,将编号为13012的评分点输入到出题界面中,并填入评分参数值“场景1”、“背景图层”、“20帧”。
以上的分值比例用于设置每个评分点的分值比例关系,为将来的阅卷提供给分标准。如果出题者不设置,则系统将默认采用等比例关系,例如试题A总共被设置为两个评分点,总分10分,那么每一个评分点默认就是5分。
描述说明是系统根据评分参数说明、及具体的评分参数值自动生成描述性语句(即描述出该评分点,这也允许出题者进行修改),它即用于出题者直观的查看及修改评分标准,也为将来阅卷结果提供描述性语句,由此可见,描述说明并不是实现本发明的自动评分方法所必须的要件。例如,上述评分点编号13008的描述将自动生成为“导入帆船.bmp到Flash库”、评分点编号13012的描述将自动生成为“在场景1、背景图层的20帧中插入关键帧”,而针对评分点编号13008的评分点,如果考生作答正确,将来阅卷结果可显示为:评分点“导入帆船.bmp到Flash库”,作答正确,得5分。
题库子系统将以上评分标准存放于题库数据库中。另外,本发明的题库子系统也可以包括现有的题库子系统具有的组卷规则,以为考试子系统随机抽题提供依据,在题库子系统中可以根据不同的考试需要设计出不同的组卷规则,由于组卷规则不涉及本发明的改进点,因此不予展开说明。
以上题库子系统会将基础数据、试题库、评分标准、组卷规则等重要数据打包在一起,形成试题包,为考试子系统及阅卷子系统提供源数据,在此,使用者需要将该试题包手动导入到考试子系统及阅卷子系统。
2、阅卷子系统技术方案:
通过对现有技术的分析,最理想的阅卷方式是就是能在真实环境下,通过不完全依赖被测软件的接口技术来访问目标结果文件的属性或结构来实现自动阅卷。所以本发明的评分方法是基于真实环境下的文件分析技术,将未公开的二进制文件(Flash素材文件)通过扫描代码转换成可以读取的文本文件,然后再进行分析及最终阅卷。
如图1所示,本发明的阅卷步骤如下:
步骤1:阅卷子系统声明Flash文档对象模型,并打开考生作答试题后生成的作为待评分试题的目标结果文件的Flash素材文件;
步骤2:阅卷子系统从题库数据库中读取待评分试题相对应的评分标准,并将逐条根据评分标准中的评分点编号从扫描子代码文件中读取的与各评分点编号对应的扫描子代码写入目标结果文件所在的目录下的扩展名为.JSFL的文本型文件中(即评分点编号、扫描子代码和评分标准一一对应),形成扫描代码文件;
步骤3:阅卷子系统调用操作系统的ShellExecute命令执行扫描代码文件,使Flash软件自动解析并执行扫描代码,以生成字符串形式的执行结果,并将执行结果保存在目标结果文件所在的目录下的扩展名为.txt的关键数据文件中;
步骤4:阅卷子系统通过Flash文档对象模型关闭Flash素材文件;
步骤5:阅卷子系统将关键数据文件的内容与获取到的评分标准的评分参数值以评分点编号作为索引进行对比分析,以判断目标结果文件所涉及的各评分点的正确性,并根据评分标准的分值比例给出阅卷结果。
以下通过具体试题进行说明:
试题A:打开考生文件夹中名为“帆船淡入.fla”的文件,进行以下操作并保存(本题10分)。
导入素材文件“帆船.bmp”,制作一个长度为40帧的动画,将它设计为:帆船从舞台左边淡入,移动到舞台右边。如范例“帆船淡入样例.swf”所示。要求:第1帧是淡入,淡入的值:Alpha设为15;第40帧帆船在舞台右边时Alpha设为100%。最后,将该动画发布为“帆船淡入.swf”。
评分标准:
1、正确导入文件“帆船.bmp”,得1分;
2、正确设置动画的长度40帧,得1分;
3、将第1帧中帆船元件的Alpha的值更设置为15,得1分;
4、将第40帧中帆船元件的Alpha的值更设置为100,得1分;
5、正确设置了从第1帧至第40帧处的向右动画补间,得5分;
6、正确发布了文件,得1分。
配置试题A的基础是在题库子系统的基础数据维护模块中已设置了如表1所示的评分点编号及评分参数说明,并配置了包含有与评分点编号为13008、13012、13014、13018和13031相对应的扫描子代码的xml格式的扫描子代码文件,各扫描子代码用于获取目标结果文件中包含的评分参数说明中列出的各项的值。
表1:
根据试题A的要求,出题人需要在题库子系统的题库管理模块中设置如下具体的评分标准:
考生根据试题的要求作答后会生成目标结果文件,如生成“帆船淡入.fla”文件。
在启动阅卷子系统后,阅卷子系统执行以下步骤:
步骤1:阅卷子系统声明Flash文档对象模型,并打开文件名称为帆船淡入.fla的目标结果文件(即Flash素材文件);
步骤2:阅卷子系统从题库数据库中读取与试题A相对应的评分标准,并将逐条根据评分标准中的评分点编号13008、13012、13014、13018和13031读取的与各评分点编号对应的扫描子代码写入保存于目标结果文件所在目录下的扩展名为.JSFL的文本型文件中,形成与试题A相对应的扫描代码文件;
步骤3:阅卷子系统调用操作系统的ShellExecute命令执行扫描代码文件,使Flash软件自动解析并执行扫描代码,以生成字符串形式的执行结果,并将执行结果保存在帆船淡入.fla所在的目录下的扩展名为.txt的关键数据文件中;
步骤4:阅卷子系统通过Flash文档对象模型关闭文件名为帆船淡入.fla的目标结果文件;
步骤5:阅卷子系统将关键数据文件的内容与获取到的评分标准的评分参数值以评分点编号作为索引进行对比分析,以判断目标结果文件所涉及的各评分点的正确性,并根据评分标准的分值比例给出阅卷结果。
评分结果报告举例如下(假设考生未正确设置Alpha值、未正确发布指定的文件):
本题考生得分7分,详细得分情况如下:
1、评分点:“导入帆船.bmp到Flash库”,作答正确,得1分;
2、评分点:“在场景1、图层1的40帧中插入关键帧”,作答正确,得1分;
3、评分点:“将场景1、图层1、第1帧中的帆船.bmp元件Alpha值设置为15%”,作答错误或未作答,本步骤不得分;
4、评分点:“将场景1、图层1、第40帧中的帆船.bmp元件Alpha值设置为100%”,作答错误或未作答,本步骤不得分;
5、评分点:“在场景1、图层1的第1帧至第40帧的处创建动画补间,方向从左至右”,作答正确,得5分;
6、评分点:“将动画文件发布为帆船淡入.swf”,作答错误或未作答,本步骤不得分。
以上所述仅为本发明较佳的实施方式,并非用来限定本发明的实施范围,但凡在本发明的保护范围内所做的等效变化及修饰,皆应认为落入了本发明的保护范围内。