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