史永哲
(西安廣播電視大學(xué) 理工部,陜西西安710002)
?
大型在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
史永哲
(西安廣播電視大學(xué)理工部,陜西西安710002)
摘要:本文給出了一個(gè)大型在線考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。該考試系統(tǒng)使用sq1 server2005存儲(chǔ)題庫數(shù)據(jù),應(yīng)用asp. net技術(shù)設(shè)計(jì)動(dòng)態(tài)網(wǎng)頁,采用web offjce組件來提取試題中包含的多種類型信息,通過ajax異步傳輸技術(shù)實(shí)現(xiàn)考生答題結(jié)果的實(shí)時(shí)存儲(chǔ)。每門課程遵照獨(dú)立的組卷策略以實(shí)現(xiàn)抽題組卷的科學(xué)性和靈活性。該大型在線考試系統(tǒng)建成后,經(jīng)歷過數(shù)次較大型考試的實(shí)踐檢驗(yàn),運(yùn)行情況良好,承載能力強(qiáng),有較好的推廣價(jià)值。
關(guān)鍵詞:大型;在線;asp.net;考試系統(tǒng)
信息技術(shù)的快速發(fā)展正在不斷地影響和改變著傳統(tǒng)的教育模式。教學(xué)評(píng)價(jià)做為教學(xué)活動(dòng)必不可少的重要環(huán)節(jié),在信息時(shí)代正在不斷地發(fā)生變化——傳統(tǒng)的紙質(zhì)考試方式正在逐漸被基于計(jì)算機(jī)和互聯(lián)網(wǎng)的無紙化考試方式所替代。使用無紙化考試系統(tǒng)不但可以提高考試的公平公正性,可以較大減輕教學(xué)評(píng)價(jià)環(huán)節(jié)中教師的復(fù)雜勞動(dòng)。目前常見的無紙化考試系統(tǒng)大致可分為兩類,一類是基于客戶端和服務(wù)器的C/S型考試系統(tǒng),另一種是基于瀏覽器和服務(wù)器的B/S型考試系統(tǒng)。前者基于局域網(wǎng),后者基于廣域網(wǎng)[1]。B/S型的在線考試系統(tǒng)由于不需要安裝,兼容性好,使用方便,超越空間距離限制,因而受到大多數(shù)教育單位的歡迎[2]。筆者所在單位基于遠(yuǎn)程教育的要求,投入較多的人力物力,設(shè)計(jì)開發(fā)了一個(gè)大型在線考試系統(tǒng),該考試系統(tǒng)在軟件功能,能較好滿足在線無紙化考試的需要,在此將設(shè)計(jì)和實(shí)現(xiàn)方法給出,供對(duì)此有興趣的讀者參考。
本文介紹的大型在線考試系統(tǒng)是基于B/S型的,選擇ASP.NET技術(shù)進(jìn)行系統(tǒng)的編碼設(shè)計(jì),采用SQL Server 2005作為數(shù)據(jù)庫服務(wù)器,使用IIS來進(jìn)行網(wǎng)頁的發(fā)布[3]。教師可以通過瀏覽器在客戶端輸入題庫內(nèi)容,并設(shè)置出題策略,發(fā)布試題。學(xué)生在客戶端通過瀏覽器進(jìn)行在線考試,考試的中間結(jié)果可以實(shí)時(shí)保存,提交試卷后,考生客觀題的分?jǐn)?shù)可以自動(dòng)給出。相對(duì)于小型考試系統(tǒng),本在線考試系統(tǒng)具備以下4個(gè)方面的特點(diǎn):1)能夠兼容多數(shù)課程;即在同一平臺(tái)上,可以實(shí)現(xiàn)對(duì)多門課程進(jìn)行題庫的建立、錄入、編輯,以及實(shí)施考試。2)兼容多種題型;本考試系統(tǒng)對(duì)所有常見的題型進(jìn)行了包容,并盡量提高各種題型的延伸性(例如本系統(tǒng)的選擇題,允許設(shè)置1-6個(gè)選項(xiàng))。3)兼容多種類型信息的顯示;本考試系統(tǒng)采用offjce組件進(jìn)行試題內(nèi)容的輸入和采集,應(yīng)用了offjce良好的信息兼容功能,實(shí)現(xiàn)了對(duì)文本、公式、圖形、圖像、聲音、視頻等信息媒體的較好兼容。4)執(zhí)行效率高;本考試系統(tǒng)重視算法實(shí)現(xiàn)的效率,采用按組卷策略抽題的方法,并將學(xué)生抽到的試題新生成一個(gè)學(xué)生試題表,在該表中對(duì)考試過程及考試結(jié)果進(jìn)行存儲(chǔ),這種方法能有效提高系統(tǒng)的運(yùn)行效率。
2.1系統(tǒng)的架構(gòu)
根據(jù)在線考試系統(tǒng)的分布式需求和模塊化設(shè)計(jì)要求,考慮到微軟.NET平臺(tái)技術(shù)先進(jìn)、效率高和容易維護(hù)的特點(diǎn)[4],該在線考試系統(tǒng)采用基于微軟.NET平臺(tái)的B/S型三層架構(gòu)模式,具體包括表示層、業(yè)務(wù)層和數(shù)據(jù)層[5]。表示層負(fù)責(zé)處理用戶的輸入和輸出,業(yè)務(wù)層負(fù)責(zé)處理用戶提交的請(qǐng)求并向用戶返回處理結(jié)果,數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)的實(shí)際存儲(chǔ)和檢索。在該系統(tǒng)中,用戶無需安裝客戶端軟件,只需要用瀏覽器登錄WEB服務(wù)器后提出訪問申請(qǐng)即可??蛻舳瞬恢苯优c數(shù)據(jù)庫進(jìn)行交互,而由中間層向外提供接口,通過COM/DCOM通訊或者HTTP等方式與其建立連接,經(jīng)由中間層與數(shù)據(jù)庫進(jìn)行交互[6]。真正的數(shù)據(jù)處理是在后臺(tái)服務(wù)器上進(jìn)行??忌鲃?dòng)交卷或因?yàn)闀r(shí)間已到被動(dòng)交卷后,系統(tǒng)會(huì)自動(dòng)將考生成績提交給WEB服務(wù)器。系統(tǒng)的架構(gòu)圖如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
2.2系統(tǒng)的功能模塊設(shè)計(jì)
本考試系統(tǒng)采用模塊化功能設(shè)計(jì)。從整體上講,系統(tǒng)的功能可分為2部分,一部分是學(xué)生在客戶端瀏覽器進(jìn)行考試的功能,另一部分是教師在終端瀏覽器進(jìn)行考試管理的功能[7]。其中,學(xué)生的考試功能經(jīng)過細(xì)分后得到如圖2所示的功能模塊圖,圖中實(shí)線箭頭連接的是常規(guī)功能,虛線箭頭連接的是非常規(guī)功能。考試過程中出現(xiàn)意外情況后可以通過二次登錄恢復(fù)考試,二次登錄需要教師輸入口令。
圖2 考試流程圖
教師在后臺(tái)的考試管理功能經(jīng)過細(xì)分后,得到如圖3所示的功能模塊圖。其中教師在輸入試題后,還需要制定組卷策略,有了組卷策略后,還需要教師發(fā)布試題。發(fā)布試題的功能為是否允許學(xué)生在終端進(jìn)行考試。無紙化考試系統(tǒng)對(duì)客觀型題型的處理能力最好,因此教師在命題時(shí),應(yīng)盡量將試題轉(zhuǎn)變?yōu)榭陀^題型,這樣就可以將考試評(píng)分任務(wù)全部交給考試系統(tǒng)自動(dòng)完成[8]。
圖3 題庫管理流程圖
2.3數(shù)據(jù)庫設(shè)計(jì)
本系統(tǒng)在數(shù)據(jù)庫的選擇上采用功能強(qiáng)大、安全性高的SQL SERVER 2005關(guān)系型數(shù)據(jù)庫做為本考試系統(tǒng)的數(shù)據(jù)庫管理軟件[9]。數(shù)據(jù)庫的設(shè)計(jì)主要是對(duì)數(shù)據(jù)表的設(shè)計(jì),數(shù)據(jù)表的設(shè)計(jì)體現(xiàn)在對(duì)表結(jié)構(gòu)的字段設(shè)置上,考試系統(tǒng)的功能即是靠建立在數(shù)據(jù)表字段上的一些操作來實(shí)現(xiàn)的。本考試系統(tǒng)包含的數(shù)據(jù)表很多,囿于篇幅,不便一一列出,在此只介紹一下其中比較重要的試題表。
試題表是后臺(tái)數(shù)據(jù)庫中最大的一個(gè)表,表的字段較多。本題庫中,所有的試題共用一個(gè)表,通過“所屬課程編號(hào)”和“試題類型編號(hào)”來區(qū)分該記錄屬于那門課程,何種題型。試題表的結(jié)構(gòu)為:試題表=(記錄號(hào),試題類型編號(hào),所屬課程編號(hào),知識(shí)點(diǎn)編號(hào),難度編號(hào),題目數(shù)據(jù)塊,題目文本,選項(xiàng)1,選項(xiàng)2,選項(xiàng)3,選項(xiàng)4,選項(xiàng)5,選項(xiàng)6,答案)。本表通過其中各種編號(hào)字段和其它數(shù)據(jù)表進(jìn)行連接。對(duì)于不同類型的試題,六個(gè)選項(xiàng)表示的內(nèi)容是不一樣的,如對(duì)于選擇題,它是六個(gè)選擇項(xiàng),而對(duì)于填空題,則是填空答案項(xiàng)。而對(duì)于簡答題來講,這六個(gè)選項(xiàng)則無用途。試題表的“題目數(shù)據(jù)塊”存儲(chǔ)的是word格式的數(shù)據(jù)塊,題目文本存儲(chǔ)的是轉(zhuǎn)換為網(wǎng)頁格式的試題文本內(nèi)容。答案是文本類型的字段,對(duì)于選擇題而言它是答案的標(biāo)識(shí)字符串,而對(duì)于簡答題來講它是文本答案。
本考試系統(tǒng)在設(shè)計(jì)開發(fā)過程中碰到過一些技術(shù)上的問題,通過努力,最后找到了比較好的解決辦法。鑒于這些問題在考試系統(tǒng)開發(fā)中具有一定的共性,在此筆者將其中幾個(gè)典型問題的解決辦法給出,供對(duì)此有興趣的讀者參考。
3.1題目信息的顯示
題目信息內(nèi)容的顯示是開發(fā)大型考試系統(tǒng)首先需要解決的問題。因?yàn)楹芏嗾n程的題目中不光包含文字,還包括公式、圖形、圖像、聲音以及視頻等??荚囅到y(tǒng)必須實(shí)現(xiàn)對(duì)多種信息媒體的兼容[10]。經(jīng)過認(rèn)真的研究,我們另辟蹊徑,采用offjce組件的方法來實(shí)現(xiàn)對(duì)題目中多種類型信息的上傳與存儲(chǔ)[11]。offjce中的word具有很強(qiáng)的信息媒體兼容性,使用它來輸入信息就相當(dāng)解決了信息媒體兼容的問題。不足的是,offjce組件得到的信息內(nèi)容只能存儲(chǔ)為數(shù)據(jù)塊的格式,而數(shù)據(jù)塊的讀取速度較慢,會(huì)導(dǎo)致抽題速度太慢,為了不影響抽題速度,就必須將offjce格式的信息進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)換成網(wǎng)頁形式的文本。在試題錄入時(shí),可以通過web offjce組件進(jìn)行試題錄入,此時(shí)需要引入jnterop.mjcrosoft.offjce.core.d11組件[12],通過該組件可以將offjce格式的信息內(nèi)容存儲(chǔ)為數(shù)據(jù)塊格式,然后再通過一定的算法再將word格式的內(nèi)容轉(zhuǎn)換為htm1網(wǎng)頁文本并進(jìn)行存儲(chǔ),此時(shí)網(wǎng)頁中包含的多種媒體內(nèi)容將存儲(chǔ)到新建的與網(wǎng)頁同名的文件夾中[13]。當(dāng)抽到題目以網(wǎng)頁格式顯示時(shí),就會(huì)自動(dòng)從同名文件夾中讀取到媒體內(nèi)容并顯示出來。以下是將word格式的數(shù)據(jù)轉(zhuǎn)換為htm1格式的部分代碼:
Type wordType=Word.GetType();
Documents docs=Word.Documents;
Type docsType=docs.GetType();//打開文件
Documentdoc=docsType.InvokeMember(″Open″,
System.Ref1ectjon.BjndjngF1ags.InvokeMethod,nu11,(object)docs,new Object[]{fj1ePath,true,true});//讀取word
Type docType=doc.GetType();//轉(zhuǎn)換格式,另存為htm1
strjng ConfjgPath=//被轉(zhuǎn)換的htm1文檔保存的位置
HttpContext.Current.Server.MapPath(″../QuestjonFj1e/″+ QuestjonID+″.htm1″);
object saveFj1eName=ConfjgPath;
3.2組卷策略的實(shí)現(xiàn)
組卷的科學(xué)性是一個(gè)大型題庫的必然要求。無紙化考試系統(tǒng)大多采用隨機(jī)抽題組卷的方式,這就要求每份被抽的試卷具有一定的等價(jià)性。為此,我們給題庫中的每門課程建立了一個(gè)組卷策略,通過該組卷策略,教師可以確定試題的數(shù)量、難度、知識(shí)點(diǎn),以及出題方式等。組卷策略的實(shí)現(xiàn)分為兩個(gè)部分,一是試卷中的題型構(gòu)成策略,二是每個(gè)題型的小題組成策略。試卷的題型組成策略如圖4所示,在這里可以確定試卷的題型構(gòu)成、題目數(shù)量、分?jǐn)?shù)、出題方式等。
圖4 題型策略設(shè)置界面
題型構(gòu)成完成后,就需要對(duì)每個(gè)題型的小題構(gòu)成進(jìn)行策略設(shè)計(jì)。進(jìn)入編輯策略后,我們可以設(shè)計(jì)每道題中所含小題的組成結(jié)構(gòu),通過設(shè)置策略來控制每個(gè)題型中所含小題的知識(shí)點(diǎn)范圍、難易程度、以及題目數(shù)量等。具體情況見圖5所示。
圖5 知識(shí)點(diǎn)、難度及題量設(shè)置界面
通過上述策略的設(shè)計(jì),不但保證了每套隨機(jī)抽到試卷的相對(duì)等價(jià)性,還可以讓教師通過制定級(jí)卷策略,來控制試題的題量、難度、知識(shí)點(diǎn)范圍,從而實(shí)現(xiàn)教師根據(jù)考試要求靈活組織試卷的要求。
3.3考試中間過程的存儲(chǔ)
考試中間過程的保存是在線考試系統(tǒng)較難實(shí)現(xiàn)的一個(gè)功能,因?yàn)?,每次結(jié)果存儲(chǔ)必然會(huì)有一次提交請(qǐng)求,這勢(shì)必會(huì)增加服務(wù)器的負(fù)擔(dān)[14]。通過研究,我們采用AJAX的異步傳輸方法來存儲(chǔ)學(xué)生的中間答題結(jié)果。ajax的核心對(duì)象XMLHTTPRequest,通過這個(gè)對(duì)象,可在不重載頁面的情況下通過異步數(shù)據(jù)傳輸與Web服務(wù)器交換數(shù)據(jù)。此方法可使網(wǎng)頁向服務(wù)器發(fā)出請(qǐng)求并獲得少量的數(shù)據(jù)信息,但不會(huì)增加服務(wù)器的進(jìn)出壓力[15]。當(dāng)學(xué)生在考試過程中點(diǎn)擊下一題時(shí),系統(tǒng)便會(huì)將學(xué)生的答題結(jié)果通過異步傳輸?shù)姆椒▊鹘o服務(wù)器,服務(wù)器將學(xué)生的答題結(jié)果更新或添加到學(xué)生的答題表中,這樣便完成了對(duì)學(xué)生中間答題結(jié)果的存儲(chǔ)。下面給出應(yīng)用ajax技術(shù)向服務(wù)器發(fā)送存儲(chǔ)數(shù)據(jù)的請(qǐng)求的部分代碼[16-17]。
functjon buttonMove(){
request=new XMLHttpRequest();//定義一個(gè)XMLHttpRequest對(duì)象
try{
jf(request.readyState==4){//如果服務(wù)器完成其它響應(yīng)
request.open(″GET″,″saveanswer.aspx″,true);/*向服務(wù)器發(fā)出保存答題結(jié)果的請(qǐng)求,其中saveanswer.aspx的功能是將答題結(jié)果存入學(xué)生試題數(shù)據(jù)表中。*/
..................;}}
用在線無紙化考試替代傳統(tǒng)的紙質(zhì)考試是教育信息化發(fā)展的必然趨勢(shì)。本文介紹了一個(gè)大型在線考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法,該考試系統(tǒng)能夠兼容多門課程、多種題型,以及多種類型的媒體信息的顯示和存儲(chǔ),終端承載能力較強(qiáng)。本文還給出了大型在線考試系統(tǒng)的主體架構(gòu)、系統(tǒng)所包含的主要的功能模塊、以及數(shù)據(jù)庫的設(shè)計(jì)方法,同時(shí)還重點(diǎn)介紹了設(shè)計(jì)開發(fā)過程中碰到的幾項(xiàng)具有共性的問題以及解決方法。本文介紹的大型在線考試系統(tǒng),實(shí)現(xiàn)后已經(jīng)過教師的使用和數(shù)次大型考試的實(shí)踐檢驗(yàn),系統(tǒng)性能比較穩(wěn)定,運(yùn)行情況良好,可以逐步替代一些課程的傳統(tǒng)紙質(zhì)考試,具有較好的推廣價(jià)值。
參考文獻(xiàn):
[1]侯清禮,王擇善.B/S結(jié)構(gòu)與C/S結(jié)構(gòu)的網(wǎng)絡(luò)考試系統(tǒng)的比較性研究[J].中國輕工教育,2014(6):44-47.
[2]李慧,張劍霞.基于HTTP協(xié)議下自動(dòng)更新平臺(tái)的構(gòu)建[J].數(shù)字技術(shù)與應(yīng)用,2013(6):32-36.
[3]宗平,高斐.網(wǎng)頁中圖片離線加速下載方案的設(shè)計(jì)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(10):25-28.
[4]程琪,張白樺.ASP.NET動(dòng)態(tài)網(wǎng)站開發(fā)項(xiàng)目化教程[M].北京:清華大學(xué)出版社,2010.
[5]馮阿.基于遺傳算法的自動(dòng)組卷策略[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),2004(4):66-70.
[6]劉宗成.基于關(guān)聯(lián)規(guī)則的網(wǎng)絡(luò)行為分析[J].電子科技,2015 (9):16-18.
[7]張瑞,蘇建民.基于改進(jìn)遺傳算法的智能組卷在試題庫建設(shè)中的研究[J].自動(dòng)化技術(shù)與應(yīng)用,2010,29(1):41-43.
[8]陳曉波.云存儲(chǔ)在web3D內(nèi)容管理系統(tǒng)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2015(2):3-5.
[9]喻爭榮,夏小玲.一種基于云存儲(chǔ)的VOD系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2014(8):71-74.
[10]張萬臣.基于WEB的在線考試系統(tǒng)在高職院??荚嚟h(huán)節(jié)中的應(yīng)用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(1):35-39.
[11]玉泉.基于web的高職院校在線考試系統(tǒng)研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(11):57-61.
[12]汪剛.基于web的在線考試系統(tǒng)分析[J].電子商務(wù),2014(6):87-88,92.
[13]嚴(yán)為,吉曉民.制造業(yè)信息化中.net應(yīng)用服務(wù)平臺(tái)結(jié)構(gòu)探討[J].機(jī)械設(shè)計(jì),2013(5):45-49.
[14]江凌,楊平利.基于ADO.NET技術(shù)訪問SQL Server數(shù)據(jù)庫的編程實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014(8):37-41.
[15]熊文,孫旭.Ajax技術(shù)在Web2.0網(wǎng)站設(shè)計(jì)中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(3):142-145.
[16]游金崇,李隱峰,尤吳晶.基于Web的高校畢業(yè)生就業(yè)信息服務(wù)平臺(tái)設(shè)計(jì)[J].電子科技,2014(11):81-85.
[17]賀建英,唐青松.Ajax技術(shù)與路徑存儲(chǔ)法在樹形結(jié)構(gòu)中的整合研究[J].電子設(shè)計(jì)工程,2015(3):8-10.
The deslgn and lmPlementatlon of large scale onllne eXamlnatlon system
SHI Yong-zhe
(Department of Science and Technology,Xi 'an Radio and Television University,Xi 'an 710002,China)
Abstract:Thjs artjc1e gjves the way of the desjgn and jmp1ementatjon of 1arge sca1e on1jne examjnatjon system. The examjnatjon system uses SQL Server2005 database to store test data,usjng asp.net technjque to wrjte dynamjc web page,usjng the web offjce component to extract a varjety of types of jnformatjon contajned jn the questjons,usjng Ajax asynchronous transfer techno1ogy to store the resu1ts of the examjnatjon of students jn rea1 tjme. The jndependent test paper strategy js used to rea1jze the scjentjfjc and f1exjb1e of the test paper. After the comp1etjon of the 1arge-sca1e on1jne examjnatjon system,jt has experjenced severa1 tjmes practjce test of 1arge-sca1e examjnatjon,proved the operatjon js good and the carryjng capacjty js strong,and has the strong promotjon va1ue.
Key words:1arge sca1e;on1jne;asp.net;examjnatjon system
中圖分類號(hào):T02
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1674-6236(2016)07-0141-03
收稿日期:2016-01-25稿件編號(hào):201601225
作者簡介:史永哲(1975—),男,陜西武功人,碩士,副教授。研究方向:計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及數(shù)據(jù)庫。