摘要: Ms Office 是中學(xué)階段計(jì)算機(jī)學(xué)科的必修課程和考試重點(diǎn)。利用XML 文檔存放數(shù)據(jù)簡(jiǎn)單直觀, 表示數(shù)據(jù)之間復(fù)雜的邏輯關(guān)系這一特點(diǎn),通過(guò)對(duì)XML 文檔的解釋,成功實(shí)現(xiàn)了實(shí)際教學(xué)中Ms Office操作型試題的自動(dòng)評(píng)測(cè)和題庫(kù)的動(dòng)態(tài)建設(shè)。
關(guān)鍵詞:XML;Office對(duì)象;操作型試題;自動(dòng)評(píng)測(cè)
根據(jù)高考政策的調(diào)整,信息技術(shù)成績(jī)以百分計(jì)入高考成績(jī),并有向無(wú)紙化考試形式發(fā)展的趨勢(shì),目前計(jì)算機(jī)的無(wú)紙化考試中對(duì)主觀題的評(píng)分方法多集中于應(yīng)對(duì)某一次特定的考試,不同的考試需要編寫不同的試題和不同的評(píng)分程序,系統(tǒng)缺乏通用性和擴(kuò)展性,而且相對(duì)于考試系統(tǒng)的練習(xí)系統(tǒng)也相對(duì)的較少。作為一線的教師,練習(xí)系統(tǒng)的應(yīng)用能夠減少重復(fù)批改作業(yè)的工作量,減少學(xué)生抄襲的可能性,而對(duì)學(xué)生而言,練習(xí)系統(tǒng)的應(yīng)用不僅能提高操作的熟練度,而且成績(jī)的實(shí)時(shí)反饋有利于學(xué)生更好的檢驗(yàn)知識(shí)點(diǎn)的掌握程度,因而開發(fā)一套適用于一線教師平時(shí)教學(xué)及測(cè)評(píng)的系統(tǒng)就顯得非常的及時(shí)和有意義。
MS Office作為中學(xué)階段的必修課程和考試重點(diǎn),實(shí)現(xiàn)該類操作型試題的自動(dòng)評(píng)測(cè)將為教學(xué)工作的開展起到事半功倍的作用,針對(duì)傳統(tǒng)的自動(dòng)評(píng)測(cè)系統(tǒng)為每道Microsoft Office 操作題配備評(píng)分程序?qū)崿F(xiàn)了操作題的自動(dòng)評(píng)分這個(gè)問題,本文提出了利用XML技術(shù)不僅可以存放數(shù)據(jù)而且可以表示數(shù)據(jù)之間復(fù)雜的邏輯關(guān)系這個(gè)特點(diǎn),來(lái)實(shí)現(xiàn)操作題題庫(kù)的動(dòng)態(tài)建設(shè)和操作題的自動(dòng)評(píng)測(cè)的模型及應(yīng)用研究。
1 Ms Office 操作題自動(dòng)評(píng)測(cè)的基本原理
系統(tǒng)利用Office提供的Application 對(duì)象中的方法和屬性,讀取Office文檔中指定的內(nèi)容,并與標(biāo)準(zhǔn)答案比較。Office的Application 對(duì)象包括Word、Excel、PowerPoint、FrontPage、Access 等,通過(guò)這些自動(dòng)化對(duì)象可以分別打開或創(chuàng)建相應(yīng)的文件,并可以判斷文件的內(nèi)容或向文件增加新內(nèi)容。
使用Excel自動(dòng)化對(duì)象可以與Excel文檔進(jìn)行交互,Excel的Application 對(duì)象中的屬性和方法舉例如表1 所示。
例如有一道Excel操作題要求:進(jìn)入考生文件夾,打開文件excel.xls;重命名工作表sheet2為“成績(jī)表”;用公式法求出工作表Sheet1中單元格A1(value=34)和單元格A2(value=25)的和,放入單元格A3中,答對(duì)給5分。那么下面的Delphi程序可以自動(dòng)對(duì)考生答題情況進(jìn)行評(píng)分。具體過(guò)程是首先創(chuàng)建Excel自動(dòng)化對(duì)象,打開excel.xls。判斷sheets(2)的Name屬性值是不是“成績(jī)表”,若是給50分;然后判斷它的A3單元格的值是不是“59”,繼而判斷A3單元格的公式是不是“=A1+A2”,如果是給50分;最后返回考生得分。
//設(shè)置初始分?jǐn)?shù)為0
Scores:=0;
//創(chuàng)建Excel 自動(dòng)化對(duì)象
FvExcel := CreateOleObject('Excel.Application');
//使用Excel 自動(dòng)化對(duì)象打開工作簿excel.xls;
FvExcel.WorkBooks.Open(c:\\考生文件夾\\excel.xls);
//設(shè)置第2個(gè)工作表為活動(dòng)工作表
FvExcel.WorkSheets[2].Activate;
//判斷sheet2的名稱是不是“成績(jī)表”
if FvExcel.WorkSheets.Name='成績(jī)表' thenScores:= Scores+50;
//設(shè)置第1個(gè)工作表為活動(dòng)工作表
FvExcel.WorkSheets[1].Activate;
//判斷A3單元格是否正確
if FvExcel.range[A3].value=59 then
ifFvExcel.range[A3]. formule =“=A1+A2”then Scores:= Scores+50;
//關(guān)閉工作簿excel.xls
FvExcel.WorkBooks.close;
//退出Excel
FvExcel.quit;
2基于XML 的實(shí)現(xiàn)模型
基于XML的自動(dòng)評(píng)測(cè)模型將閱卷系統(tǒng)和試題分離,評(píng)分規(guī)則文件解釋系統(tǒng)為試題生成評(píng)分規(guī)則并且解釋評(píng)分規(guī)則,成為試題和閱卷代碼之間的橋梁。如圖1所示。
3 XML評(píng)分規(guī)則文件的格式
本模型為每一份試題配置了一個(gè)XML評(píng)分規(guī)則文件,由操作題題庫(kù)建設(shè)程序產(chǎn)生,其中包含了XML文檔聲明,試題信息,題目和評(píng)分點(diǎn),在評(píng)分點(diǎn)中又包含該評(píng)分點(diǎn)需要判斷的對(duì)象所在的工作表、屬性、相應(yīng)對(duì)象屬性的正確值以及該評(píng)分點(diǎn)所占的分值。如果評(píng)分點(diǎn)有前提條件,在評(píng)分點(diǎn)中還將包含前提條件定義。XML 評(píng)分規(guī)則文件為操作題評(píng)分程序提供評(píng)分依據(jù)。
例如上面舉例的Excel操作題的XML 評(píng)分規(guī)則文件內(nèi)容如下所示。
<操作題 題型=“Excel”文件名=“excel.xls”>
<題目>(1)打開“C:\\考生文件夾”中的文檔excel.xls。
(2)重命名sheet2為“成績(jī)表”。
(3)用公式法求出工作表Sheet1中單元格A1(value=34)和單元格A2(value=25)的和,放入單元格A3中。
<評(píng)分點(diǎn) 表=“2”屬性=“ name”值=“成績(jī)表” 分=“50”>
<評(píng)分點(diǎn)表=“1” 屬性=“ Sheets(1).Range(A3).formule”值=“=A1+A2 ”分=“50”>
<前提 屬性=“ Sheets(1).Range(A3).value”值=“59 ”>
從上例XML 評(píng)分規(guī)則文件可以看出:
XML評(píng)分規(guī)則文件的根元素是“操作題”,具有二個(gè)屬性分別為“題型”和“文件名”,它的“題型”屬性表示題目類型,“文件名”屬性表示題目對(duì)應(yīng)的文件,提供了閱卷的相關(guān)文件信息。
根元素下包含一個(gè)簡(jiǎn)單類型的子元素“題目”。這個(gè)元素給出了操作要求,以文本的形式出現(xiàn)。
根元素下包含子元素“評(píng)分點(diǎn)”,用來(lái)定義評(píng)分點(diǎn),該元素出現(xiàn)一次記錄一個(gè)評(píng)分信息,說(shuō)明了評(píng)分對(duì)象所在的工作表,屬性,正確的值以及所占的分值。元素出現(xiàn)的次數(shù)取決于評(píng)分點(diǎn)的多少。
子元素“評(píng)分點(diǎn)”還可以包含復(fù)雜類型的子元素“前提”,該元素說(shuō)明在進(jìn)行評(píng)分點(diǎn)的評(píng)比之前必須進(jìn)行前提的評(píng)比,同樣,前提必須說(shuō)明評(píng)比的屬性以及需要滿足的條件。
4操作題自動(dòng)評(píng)測(cè)的具體實(shí)現(xiàn)
閱卷代碼通過(guò)評(píng)分規(guī)則文件解釋系統(tǒng)對(duì)照XML 評(píng)分規(guī)則文件進(jìn)行評(píng)分。具體工作流程如下:
首先根據(jù)“操作題”標(biāo)簽的“題型”屬性判斷操作題類型,創(chuàng)建相應(yīng)的自動(dòng)化對(duì)象;然后打開“文件名”屬性指定的文件,根據(jù)“評(píng)分點(diǎn)”標(biāo)簽進(jìn)行評(píng)分。如果“評(píng)分點(diǎn)”標(biāo)簽包含“前提”標(biāo)簽,則根據(jù)“評(píng)分點(diǎn)”標(biāo)簽評(píng)分之前首先要判斷“前提”標(biāo)簽的真假, 只有“評(píng)分點(diǎn)” 標(biāo)簽包含的所有“前提”標(biāo)簽都為真,才根據(jù)“評(píng)分點(diǎn)”標(biāo)簽進(jìn)行評(píng)分;最后,返回分?jǐn)?shù)和結(jié)果文件。
系統(tǒng)使用Delphi實(shí)現(xiàn)操作題評(píng)分程序,采用C/S架構(gòu),由服務(wù)器端驗(yàn)證客戶端的登錄信息,發(fā)送考試相關(guān)文件,生成試題,客戶端完成考試后進(jìn)行閱卷,回傳考試結(jié)果及相關(guān)文件。
5題庫(kù)建設(shè)程序的具體實(shí)現(xiàn)
系統(tǒng)使用Delphi 實(shí)現(xiàn)Microsoft Office 操作題題庫(kù)建設(shè)程序,允許用戶以可視化方式向題庫(kù)中增加操作題。具體流程如下:首先要輸入題目?jī)?nèi)容、導(dǎo)入相關(guān)文件,包括初始文件和正確答案文件;然后制定評(píng)分規(guī)則,評(píng)分規(guī)則由若干個(gè)評(píng)分點(diǎn)構(gòu)成,每個(gè)評(píng)分點(diǎn)包括需要判斷的工作表、屬性、正確值、所占分值。在增加評(píng)分點(diǎn)時(shí),用戶可以通過(guò)向?qū)б钥梢暬绞揭徊揭徊浇⒃u(píng)分點(diǎn),評(píng)分點(diǎn)中的正確值由題庫(kù)建設(shè)程序從正確答案文件中自動(dòng)獲取,如果該評(píng)分點(diǎn)有前提,則自動(dòng)生成前提條件;最后,題庫(kù)建設(shè)程序生成XML 評(píng)分規(guī)則文件,并將相關(guān)文件和XML 評(píng)分規(guī)則文件一同存入題庫(kù)數(shù)據(jù)庫(kù)中。
6小結(jié)
本文主要介紹了利用XML 技術(shù)實(shí)現(xiàn)Ms Office自動(dòng)評(píng)測(cè)和題庫(kù)建設(shè)的關(guān)鍵技術(shù),其原理要點(diǎn)如下:(1)利用Application 對(duì)象的屬性和方法,提取Ms Office文檔中相關(guān)內(nèi)容; (2) 題庫(kù)建設(shè)程序通過(guò)可視化向?qū)Ь庉嬙囶},導(dǎo)入文件,設(shè)置評(píng)分點(diǎn),根據(jù)XML 文檔規(guī)范,建立每道考題的標(biāo)準(zhǔn)答案XML 文檔; (3) 閱卷代碼程序利用評(píng)分規(guī)則解釋系統(tǒng)解析XML評(píng)分規(guī)則文檔,對(duì)考生操作結(jié)果文檔進(jìn)行評(píng)測(cè)操作,返回結(jié)果??傊?,基于XML 的Ms Office操作型試題自動(dòng)評(píng)測(cè)模型是將繁雜的標(biāo)準(zhǔn)答案描述轉(zhuǎn)化為簡(jiǎn)單、直觀的XML 文檔描述,將復(fù)雜的閱卷轉(zhuǎn)化為對(duì)XML 文檔的簡(jiǎn)單解析[2]。
參考文獻(xiàn)
[1]李強(qiáng), 陳遵德. 基于XML 的Microsoft Office 操作題自動(dòng)評(píng)分及題庫(kù)建設(shè)的實(shí)現(xiàn)[J] .順德職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007,5(2):28-31
[2]王柯. 基于XML 的計(jì)算機(jī)自動(dòng)閱卷技術(shù)的研究[J] . 郴州師范高等??茖W(xué)校學(xué)報(bào),2003,24(2):78-83
作者簡(jiǎn)介:中學(xué)一線教師,高級(jí)程序員,東南大學(xué)碩士在讀,師從于東南大學(xué)計(jì)算機(jī)工程學(xué)院沈軍教授。