張瑞英
(北京信息職業(yè)技術(shù)學院 信息工程系,北京 100018)
網(wǎng)絡(luò)在線考試系統(tǒng)的設(shè)計與實現(xiàn)
張瑞英
(北京信息職業(yè)技術(shù)學院 信息工程系,北京 100018)
通過詳細的調(diào)研和分析,立足于本院校的實際需求,設(shè)計并實現(xiàn)了一個基于B/S結(jié)構(gòu)的,以ASP技術(shù)和SQL Server 2000后臺數(shù)據(jù)庫為基礎(chǔ)的智能化網(wǎng)絡(luò)考試系統(tǒng),為實現(xiàn)教育信息化的普及做出了嘗試;同時,為教學評價提供了新模式和新方法,具有鮮明的社會實用價值,此解決方案可以廣泛應(yīng)用于網(wǎng)絡(luò)化教育領(lǐng)域。
試題庫;智能組卷;組卷策略;在線考試
本網(wǎng)絡(luò)考試系統(tǒng)的目標是實現(xiàn)一個基于Internet的智能化網(wǎng)絡(luò)考試系統(tǒng)。采用開放、動態(tài)的系統(tǒng)架構(gòu),將傳統(tǒng)的考試模式與先進的網(wǎng)絡(luò)應(yīng)用相結(jié)合。系統(tǒng)能根據(jù)不同登錄的用戶類別、從題庫中選取合適的策略來進行組卷,并能夠根據(jù)學生的考試情況給出相應(yīng)的評分。另外,教師可以請求登錄,獲得允許后,可以對試題庫進行修改,批改試卷中的主觀題部分并給出成績,并且可以查閱學生的成績以及成績分析。它還具有智能隨機抽題、手工組卷與自動組卷、自動計時、自動閱卷及在線測試的重要功能,學生可隨時通過Internet測試自己的知識水平和知識掌握程度,滿足任何授權(quán)的學生考試及時獲得成績,并給出詳細的成績分析。
通過對在線考試系統(tǒng)的需求分析,其實現(xiàn)的主要功能有:用戶管理、題庫管理、試卷管理、自動組卷、在線考試、試卷評閱、成績統(tǒng)計分析等。當?shù)卿浵到y(tǒng)時,系統(tǒng)提示考生輸入用戶名和密碼,系統(tǒng)將驗證輸入的用戶名和密碼是否正確,如正確,則啟動系統(tǒng),根據(jù)考生輸入的相關(guān)信息,系統(tǒng)自動組卷,考生根據(jù)提供的試卷在線答題,提交后系統(tǒng)自動閱卷,更新考生答案表的相關(guān)信息,并給出分數(shù);否則,系統(tǒng)提示錯誤信息,并提示考生重新輸入用戶名和密碼,超過三次,系統(tǒng)拒絕登錄。
首先,系統(tǒng)在考試機或網(wǎng)絡(luò)故障時應(yīng)該是健壯的,并在導致系統(tǒng)不可用的故障出現(xiàn)時,提供手工評分的入口。其次,應(yīng)使用現(xiàn)代程序設(shè)計語言,以提供較高的安全性和可維護性。第三,應(yīng)使用成熟的數(shù)據(jù)庫管理系統(tǒng)。第四,系統(tǒng)應(yīng)提供良好的頁面反應(yīng)速度。
由于此系統(tǒng)的特殊性,數(shù)據(jù)的安全與保密顯得尤為重要。保密性是指用戶在網(wǎng)上的所有信息應(yīng)有一定的保密度,不同類型的用戶之間的內(nèi)容是互相保密的。安全性是指用戶參加一次活動是安全的過程,對于所有用戶的動作,服務(wù)器都加以跟蹤。為了確保其安全與保密性,一要確??忌荒苈?lián)網(wǎng)作弊;二要在試卷上實時加以監(jiān)控;三要在時間上加以嚴格的控制等。主要通過下列兩種途徑予以實現(xiàn):其一,凡進入在線考試的用戶,都要通過用戶身份驗證才能進入。而且,不同用戶具有不同的操作權(quán)限,支持按權(quán)限進行操作,確保數(shù)據(jù)的公共性與私有性。不允許用戶執(zhí)行非法的操作,防止用戶無意或有意的破壞。其二,禁止用戶查看所有試卷的源文件及拷貝功能,第一種方法,禁止使用鼠標右鍵等功能;第二種方法,試卷庫中的試卷將以無下拉菜單及工具欄等的頁面方式呈現(xiàn)在瀏覽者面前。
通過系統(tǒng)分析,本系統(tǒng)總體功能結(jié)構(gòu)如圖1所示。本系統(tǒng)具備正式考試和模擬考試兩大功能,完全滿足日常教學過程中的過程性知識測驗和期末的總結(jié)性課程考核。系統(tǒng)設(shè)計功能強大的試題庫系統(tǒng),為智能組卷、在線測試和自動判分提供了基礎(chǔ)。此外還具備完善的系統(tǒng)管理,包括用戶管理、試卷管理、試卷分析等。
在線考試系統(tǒng)的研發(fā)主要采用了B/S三層結(jié)構(gòu)模式、SQL數(shù)據(jù)庫技術(shù)、ASP等諸多技術(shù),綜合采用面向組件和面向?qū)ο蠓椒▽ο到y(tǒng)進行需求分析、設(shè)計和構(gòu)建系統(tǒng)模型。
結(jié)合本院網(wǎng)絡(luò)在線考試系統(tǒng)的設(shè)計,B/S架構(gòu)的三層體系結(jié)構(gòu)對應(yīng)于硬件設(shè)計就是Web服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器。服務(wù)器端采用SQL Server 2000數(shù)據(jù)庫系統(tǒng)和ASP組件來構(gòu)成考試的應(yīng)用服務(wù)系統(tǒng),客戶端采用Web瀏覽器來完成考試全過程,同時可進行遠程系統(tǒng)維護和管理,選擇這種體系結(jié)構(gòu)是基于本院的具體情況而設(shè)計的。
基于考試公平公正的原則,盡量做到每一個考生都有不同的試卷,杜絕筆試的情況下,考生的試卷都一樣,容易產(chǎn)生作弊等現(xiàn)象,所以網(wǎng)絡(luò)在線考試系統(tǒng)的開發(fā),關(guān)鍵技術(shù)是試題的智能組卷和考試的安全性設(shè)計。經(jīng)過對比分析研究,本系統(tǒng)采用隨機算法進行系統(tǒng)算法實現(xiàn)。
隨機算法是最常用的組卷算法,它根據(jù)狀態(tài)空間的控制指標,由計算機隨機地抽選一道試題加入試卷中,此過程不斷重復(fù),直到組卷完畢,或已無法從試題庫中抽選滿足指標的試題為止。在具體實現(xiàn)時,可以采用一個定長的線性表作為試卷生成過程中的狀態(tài),線性表的長度為用戶提交的總題量,每一元素代表選中試題的狀態(tài)長度,狀態(tài)類型由試題的若干分量組成,如題型、難度、章節(jié)等,待組卷完成后,再從試題庫中抽取與之相應(yīng)的試題生成試卷。算法的實現(xiàn)過程為:
(1)建立兩個數(shù)組 Z(S)、U(X)。 Z(S)的值為某種狀態(tài)S的試題在試題庫中的試題量,U(X)為用戶要求的該狀態(tài)的試題數(shù)目,U(X)對應(yīng)的全部狀態(tài)的集合構(gòu)成線性表LIST;
(2)如果 U(X)>Z(S),則轉(zhuǎn)向(5),否則產(chǎn)生隨機整數(shù)N1,Nl=int(rand(-1)*Z(S)),其值小于 Z(S),讀取 N1 記錄,并對該記錄作選取標志,抽取下一道題目時,有選取標志的記錄不再有效;
(3)若 U(X)≠0,則 U(X)=U(X)一 1,重復(fù)(2);
(4)若LIST表未滿,則轉(zhuǎn)向(1),否則組卷成功;
(5)算法結(jié)束。
數(shù)據(jù)庫的整體結(jié)構(gòu)設(shè)計如下:
考生{準考證號,登錄密碼,真實姓名,年級,班級,郵箱,審核標識}。
試題{試題編號,試題內(nèi)容,試題所屬章節(jié),試題類型,試題答案,試題選擇項,難度級別,試題標識,課程編號,試題附圖}
管理員{管理員賬號,登錄密碼,管理員類型,郵箱,權(quán)限}
試卷庫{試卷編號,所屬課程編號,試卷名稱,考試總時間,起始時間,結(jié)束時間,起始章節(jié),結(jié)束章節(jié),啟用標識}
考生成績{準考證號,課程編號,試卷編號,考試標識,開始考試時間,結(jié)束考試用時,批改標識,成績}
考試試題編號{試卷編號,試題編號,標準答案,課程編號,試題類型,所屬章節(jié)}
系統(tǒng)組合E-R圖,如圖2所示。
1.考生在線考試流程
考生登錄后,進入考試科目選擇頁面,選擇考試科目,在該科目下選擇指定的試卷進行考試。系統(tǒng)將以全屏方式在HTML頁面呈現(xiàn)該試卷,并顯示考試時間計時器,考生即可開始答題??荚嚂r間到或考生單擊保存試卷、交卷按鈕,系統(tǒng)將考生答案存入數(shù)據(jù)庫,供自動判卷時使用。
2.組卷方案
組卷方案如圖3所示。依此實現(xiàn)方法,試卷中的其他試題類型也可以逐一顯示出來,一份完整的考試試卷就呈現(xiàn)在考生面前,考生可以順利進行考試。
3.在線考試模塊的系統(tǒng)實現(xiàn)
如果在系統(tǒng)功能頁面選擇了開始考試的選項,則系統(tǒng)會進入在線考試科目子系統(tǒng)模塊,選擇相應(yīng)的考試科目就可以進入到考試界面中,如圖4所示。
考試主界面呈全屏狀態(tài),分別顯示每種題型的考試題目。同時在屏幕左上方的考試計時器中顯示剩余時間。主界面中提供“保存”和“交卷”兩種按鈕,分別用于保存各種題型的考生答案和考生試卷。
表 在線考試界面測試用例
軟件在設(shè)計和編碼階段之后,為了發(fā)現(xiàn)潛在的錯誤,需要進行一系列測試工作。例如可以編寫測試用例,即根據(jù)軟件開發(fā)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而設(shè)計的輸入數(shù)據(jù)和預(yù)期輸出結(jié)果,并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。因此軟件測試是軟件質(zhì)量保證的關(guān)鍵技術(shù)。功能測試過程中需使用大量的測試用例,限于篇幅原因,如表所示只羅列了典型的對系統(tǒng)測試使用的用例。
本論文的研究具有一定的理論參考價值和實用價值。首先,考試系統(tǒng)的研發(fā)是學校教育信息化改革的重要成果,不僅解決了老師出試卷的問題,還節(jié)約了紙張和節(jié)省了審批手續(xù),為實現(xiàn)教育信息化的普及做出了嘗試;其次,使得考試更加公正,為教學評價提供了新模式和新方法,具有社會實用價值。
[1]趙娟.基于B/S模式的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[J].2008(3)第10卷第2期.
[2]粱瑾.基于JSP的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[J].中國教育信息化,2008(8).
[3]叢春瑜.基于XML遠程在線考試系統(tǒng)的[J].中國教育信息化,2004(4).
[4]吳靜霞.基于智能組卷的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[J].2008(4)第10卷第3期.
[5]朱國際.基于B/S在線考試系統(tǒng)的設(shè)計與實現(xiàn)[J].
[6]韓萌,王移芝,王嘉樹.基于W eb的通用在線考試系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計.2008(11)第29卷第21期.
TP315
B
1673-8454(2011)17-0077-03
(編輯:隗爽)