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