龍瓊芳



摘 要:隨著計算機和網絡的日益普及,計算機教育已演變為基礎教育的一個重要組成部分。網絡考試系統成為了檢驗教學質量和學生能力的日益重要的教學資源。本文就可擴展標記語言(XML技術)與傳統網絡考試系統相結合從而實現試題共享提出了一個可行方案,解決了OFFICE操作題和C語言程序題的出題與閱卷問題,實現了一個基于XML的網絡考試系統。
關鍵詞:網絡考試;可擴展標記語言;練習/測試互操作規范
中圖分類號:G642 文獻標識碼:B 文章編號:1002-7661(2015)07-016-04
一、緒論
目前,計算機和網絡的應用在各行各業已經很廣泛,但是在教學這個環節中,我們仍然過分依賴于傳統的教學模式,對于網絡的開發和應用程度遠遠不夠。即使是現在比較流行的B/S模式的分布式網絡考試系統,它們雖然克服了C/S模式的許多不足,但其也存在不少可以改進的地方:一是考試科目單一,通常是為某一門課程而設計,系統通用性差;二是以試卷為存取單位,有的實質上只是一個試卷庫,不能隨機生成試卷,難以滿足出題者多方面的要求;三是試題單一,僅限于文本類型和客觀題,很難滿足準確、全面考查學生所學知識的需要;四是有的軟件用戶界面不美觀,使用不夠方便:五是忽視了考試后的管理,如考生成績的查詢、試題難度的分析等。
本文在分析現有考試系統的基礎上,改進和完善其中的不足之處,設計并實現中等職業技術學校普通科目和上機操作科目的計算機輔助考試系統,使題庫維護、自動組卷、網絡考試、自動改卷和考務管理等工作更科學更高效,達到真正意義上的教考分離。
二、應用的主要技術
1、XML技術
XML(Extend Markup Language)是一種數據描述語言,是標準通用標記語言(Standard Generalized Markup Language SGML)的一個子集。XML的出現為網絡注入了新的活力,它為網絡帶來結構化的信息,用戶可以根據文檔的內容定義自己的標記語言,因此具有可擴展性和有效性。XML的靈活性和擴展性使其可以對不同應用甚至是差異很大的應用間的數據進行描述,尤其是對于那些專用于記錄數據的應用。作為一種標記語言,XML將內容和顯示格式分離開來并且描述了文檔中的文本結構。另外,XML具有自我描述的特性,結果是數據可以在不同的應用程序間進行交換與處理而不必要求相應的應用程序是針對該數據定制的。XML被用于實現QTI的信息模型。
2、QTI規范
QTI規范的全稱是IMS Question and Test Interoperability(練習/測試互操作規范),它是由IMS發布的關于測試的互操作規范,作為一種學習技術規范,它描述表示問題和測試以及測試結果的數據模型。試圖提供一個共享評價數據的標準手段。
QTI的數據模型用抽象的UML來描述,實現用XML描述,因此QTI的技術實現可以使用不同的建模工具,跨不同的語言平臺和各種技術。QTI使用XML來描述學習者和測試的信息。IMS QTI的數據模型可以看作是一顆包含多個屬性的樹型結構評價結果報告的數據模型中有四個元素:
Summary(總結)包含諸如總分和允許嘗試的次數等數據 assessment(評價)包含一個或多個問題或一個或多個sectionsection(部分)允許評價的設計者將一些同類的問題歸類,在每個section內可以單獨計算section的分數Item(項)是包含問題和其它相關信息如分數,表示方式和反饋等。
評估(Assessment)、節(Section)、項(Item)這三個對象結合在一起稱為ASI結構。ASI信息模型具有以下特點:基本ASI數據定義很簡單,但也很靈活,可組成復雜的數據結構;評估數據至少需要包含一個節;評估不能直接包含項;節可嵌套;節可包含一個或多個項;允許定義空節;項是最小的獨立單元,能在QTI中互用,不允許項嵌套等。ASI模型作為QTI互換模型提供了題庫中內容的表現形式和內容組織方法,回答了“如何對已有的內容進行組織描述”的問題。
QTI來描述相關的測試和測試結果。QTI提供了一些常用的問題類型:多項選擇,判斷題,匹配題,填空題等,如果有新題型還可以擴展QTI。
3、VBA技術
Office文檔均以二進制形式存放在數據庫表中的OLE對象當中,以Word為例,一個Word二進制文件就是使用OLE的DOCFILE APIs以數據流方式寫入的。這些數據流作為文件中各塊的連接列表存儲在文件中,文檔內部結構復雜,信息量大,我們不能直接讀出文檔的細節與格式來和標準答案文檔對比得出考生的分數,所以只有從文檔的結構對象出發考慮。
在Microsoft Office中集成有VBA(Visual Basic for Applications)標準宏語言,它是基于Visual Basic發展而來的,提供了相當完整的程序設計語言,其應用主要有兩個方面:一是可以使用宏記錄器記錄用戶的各種操作并將其轉換為VBA程序代碼,使工作自動化;二是在其他程序開發中,通過對象引用調用宏模塊,增加程序的功能。VBA的語法類似VB,但提供了VB中沒有的函數和對象,這些函數和對象都是針對Office應用的。因此可以像編寫VB程序那樣來編寫VBA程序,以實現某種特定的功能。
VBA提供了訪問Office文檔的接口,包含有大量針對該類文檔的函數和對象,使用VBA編程可以對文檔中各對象的屬性和狀態進行識別和讀取,并與試題要求進行對比后自動評分。因此Office中的VBA非常適合于用來編寫自動閱卷的相關程序。
三、系統總體設計與實現
本系統的功能結構如圖1所示:
其中組卷模塊提供三種組卷模式,即手動組卷、半自動組卷和全自動組卷。對于手動組卷而言,用戶通過瀏覽試題庫,手動從中挑出一定的題目組成試卷。半自動組卷是題庫中的試卷已具備若干套,組卷時隨機從中抽取其中的一套。全自動組卷是根據一定的組卷要求,按一定的算法產生符合要求的試卷。
考試模塊采用服務器/客戶端結構。考試過程中,學生端以準考證號登錄,系統根據考生報名數據庫和監控系統的設置,確認身份后允許登錄。監控臺可隨時對每一考生進行監控和管理。如違反紀律,可強行要求指定的考生交卷,也可由主控臺控制全考場統一交卷。考生出現意外死機,可要求重考,原始記錄依舊保存,即繼續按原來所剩的時間做題,繼續按原來所做的題考試。在重考時,由于信息保存在服務器端,可支持換機考試的功能。
1、QTI規范的XML試題表示與解讀
在QTI規范中對于常規的客觀性題目類型,如選擇、判斷等題目的描述較多,但對于Office操作等操作性較強的題目卻沒有涉及。本系統參考QTI規范,對這類題目的XML表示進行了分析。
以WORD操作題為例:如測試者要求被測者(考生)打開考生目錄下的某個文檔(如test1.doc),并要求將標題“匆匆”設為黑體二號字加粗;正文第一段設為傾斜、紅色、字符邊框,字符縮放比例設為150%;對“輕輕悄悄地挪移了”幾個字設為華文彩云、字符底紋、下劃線(藍色波浪線)。
這樣一種Word操作題總是可將它的一系列操作細化為一個個獨立的原子操作,所有的操作即是由這些原子的操作的集合。如以上操作是將字體和字號、底紋、修飾等的組合。而對于每一個原子操作而言,總是包含三個要素,即操作對象、操作類型和操作取值。如對以上一項要求“將標題‘匆匆設為黑體二號字加粗”而言,實際是由三個原子操作組成。這些操作,它們操作對象是“匆匆”,操作類型分別是字體、字號、修飾,操作數值分別是黑體、二號、加粗。經這樣提取后即能表示Word題的操作要求,也為判分時提供一個依據。
當考生按要求做題后,其答卷首先表現為一份Word文檔,我們要將這份Word文檔轉化為標準的XML格式。為了轉換,首先要用XML SCHEMA定義Word文檔的格式。根元素是
為了實現轉換,必須識別出考生的答案文件(DOC格式)中與上述格式相關的信息。借用VBA訪問OFFICE對象,通過這些對象的屬性和方法,就可以獲得Office文件中的信息。
2、OFFICE操作題的出題與閱卷
(1)命題方式
OFFICE操作題通常是針對一篇具體的待操作的OFFICE文檔,提出一定的操作要求。考生操作時,先打開該文檔,按要求答題,保存文檔。評閱時根據考生所做的文檔和標準答案文檔比較,得到考生的分數。命題時,對于提供操作要求和文檔比較簡單,但如何提供這樣一種標準答案,既能客觀公正地便于評分,又能方便命題教師的錄入,而又以安全合理方式保存,不讓考生直接打開,這對OFFICE操作題的命題提出了一個挑戰。
以WORD操作題為例,命題時要求出題教師給出操作文件、操作答案文件以及設計的操作對象,系統據此讀取操作答案文件中操作對象的屬性生成標準答案,將標準答案格式化為三個參數,即操作對象、操作類型和操作值。WORD操作題命題如圖2所示:
(2)標準答案保存
解讀后的標準答案保存到數據庫的Word文字處理題命題表中,主要包括兩方面的信息:試題信息和評分細則,由于Word使用vba評分,因此一道試題的評分信息比較多且不固定,根據數據庫設計的范式準則將這些信息分為兩個表,關系為一對多,試題信息為一端表,評分細則為多端表。具體如表1和表2所示:
3、C語言程序設計題的出題與閱卷
C語言程序題主要考察程序設計思想、算法和流程。由于C語言程序書寫的多樣性,只根據考生填寫的預判答案作為評分結果違背了利用計算機語言自由編程的特點(程序書寫樣式不同,但能得到同樣的解)。為此,本系統處理程序題時,給出合理且較為復雜的測試數據,分別用學生程序和正確程序運行測試數據,對比兩個結果是否一致,若一致則學生程序正確,否則不正確。
需要特別提出的是:測試數據要滿足兩個要求:能唯一判斷該程序和須有一定的復雜度。前者用于規避錯誤程序運行的結果與正確程序運行結果相同的特例出現(主要考慮邊界值);后者使得考生在考試時間內通過手動算出相應的結果需要花比較多的時間,從而有效地避免了作弊。如何選擇合適的測試數據,要根據具體程序和題庫建設者的經驗來決定。
4、組卷的設計與實現
教師通過身份驗證后進入課程考試科目選擇界面,分四個步驟,分別輸入試卷名稱、總分、各題型的題量、每道題的分數及難度系數設置、選擇考試章節以及知識點等,按“提交”按鈕計算機即可根據輸入的參數生成一份隨機試卷。如果不選擇章節,則默認為所選課程的所有章節。
為了在非人工參與的情況下,由計算機組成一張符合命題者要求的試卷,在設計自動組卷算法時,需要考慮以下因素:
(1)知識點的重復性。自動組卷的基本原理是由計算機隨機地從試題庫中抽取一定數量的試題。但有時會出現試題重復或者試題相似,以及試題分布不符合要求等,為了避免這種情況,在自動組卷抽題時,一旦取到某一知識點的試題后,就及時地做上標記,告知系統接下來的抽題策略,以期獲得比較理想的試題分布。
(2)組卷條件有效性檢驗。為了保證自動組卷的成功,在組卷開始前,對用戶輸入的組卷條件進行嚴格檢查,對組卷條件和試題庫中的試題進行檢驗,在數據庫中的試題不能滿足條件時進行報錯并停止,直到組卷條件或數據庫中的試題滿足條件。
參數初始化是根據組卷人給出的組卷要求(包括考試章節、難度分配、考試項目及其分值和題量)定義本次組卷的相關參數,這些參數包括:①保存在數據庫中的試卷信息表、涉及章節表、涉及題型表、難度分布表;②計算每個章節、每個題型、每個難度的題量,并對分值進行分配,此外還要定義各知識點的最大題量和一個數組保存每個知識點的當前題量用以控制試題的分布使其能盡量覆蓋所有知識點;③一個題號數組保存所有已選的試題編號和另一個題號數組保存所有不可選的試題編號,這兩個參數保證不會抽到重復的試題,前者對于生成第二份試卷則可保證兩份試卷的差異性。
四、結束語
考試的無紙化、網絡化不僅能有效減少教師的工作量,也能使考試更加公平、公正。XML在考試系統中的應用,基本滿足系統的結構化、可擴展性、可重用性、安全性以及穩定性等特點。本系統包括命題模塊、組卷模塊、考試模塊、閱卷模塊和管理模塊等,使用VBA技術實現OFFICE上機操作題的出題和改卷,以XML作為信息交換的一個重要形式。本系統已經實驗運行,我們將在今后的實踐中,不斷采用新技術,實現更多的功能。
參考文獻:
[1] 朱小明,李向榮,林 捷,趙錦紅.計算機信息技術課無紙化考試的研究[J].中國教育技術裝備,2007,(01):H一14.
[2] 郭躍周,張 穎.基于校園網的計算機考試系統的設計與實現[J].現代電子技術,2006,(04):121一123.
[3] Clark Cooper. XML::Parser—A perl module forparsing XML documents. Apr 2,2002.
[4] Wahlin,Dan. Customize XML Data with SQLServer. XML Magazine. February/March 2001.
[5] (美)Kurt Cagle.XML高級開發指南.周生炳譯.北京:電子工業出版社.2001
[6] 王文磊,徐汀榮.基于OLE技術的Word和Excel的存取調用[J].現代計算機,2005,(7):98-100
[7] 李貴洋,王世倫,俞 曉,等.Word文檔自動判卷的實現.中國測試技術,2004;30(4):79—80
[8] 錢冬云.基于DELPHI7.0的計算機文化基礎試題庫系統的開發[J].浙江工貿職業技術學院學報,2004,(01).
[9] 劉 文,劉艷偉,劉秋梅,關于試題難度系數調整算法和組卷算法的研究,燕山大學學報,2007,31(3),266-268
[10] 武蕾娜,組卷算法的研究,福建電腦,2009,3,39-40
[11] 劉 嘯.Delphi高級編程.北京:人民郵電出版社.2002