張瑞英
(北京信息職業技術學院 信息工程系,北京 100018)
網絡在線考試系統的設計與實現
張瑞英
(北京信息職業技術學院 信息工程系,北京 100018)
通過詳細的調研和分析,立足于本院校的實際需求,設計并實現了一個基于B/S結構的,以ASP技術和SQL Server 2000后臺數據庫為基礎的智能化網絡考試系統,為實現教育信息化的普及做出了嘗試;同時,為教學評價提供了新模式和新方法,具有鮮明的社會實用價值,此解決方案可以廣泛應用于網絡化教育領域。
試題庫;智能組卷;組卷策略;在線考試
本網絡考試系統的目標是實現一個基于Internet的智能化網絡考試系統。采用開放、動態的系統架構,將傳統的考試模式與先進的網絡應用相結合。系統能根據不同登錄的用戶類別、從題庫中選取合適的策略來進行組卷,并能夠根據學生的考試情況給出相應的評分。另外,教師可以請求登錄,獲得允許后,可以對試題庫進行修改,批改試卷中的主觀題部分并給出成績,并且可以查閱學生的成績以及成績分析。它還具有智能隨機抽題、手工組卷與自動組卷、自動計時、自動閱卷及在線測試的重要功能,學生可隨時通過Internet測試自己的知識水平和知識掌握程度,滿足任何授權的學生考試及時獲得成績,并給出詳細的成績分析。
通過對在線考試系統的需求分析,其實現的主要功能有:用戶管理、題庫管理、試卷管理、自動組卷、在線考試、試卷評閱、成績統計分析等。當登錄系統時,系統提示考生輸入用戶名和密碼,系統將驗證輸入的用戶名和密碼是否正確,如正確,則啟動系統,根據考生輸入的相關信息,系統自動組卷,考生根據提供的試卷在線答題,提交后系統自動閱卷,更新考生答案表的相關信息,并給出分數;否則,系統提示錯誤信息,并提示考生重新輸入用戶名和密碼,超過三次,系統拒絕登錄。
首先,系統在考試機或網絡故障時應該是健壯的,并在導致系統不可用的故障出現時,提供手工評分的入口。其次,應使用現代程序設計語言,以提供較高的安全性和可維護性。第三,應使用成熟的數據庫管理系統。第四,系統應提供良好的頁面反應速度。
由于此系統的特殊性,數據的安全與保密顯得尤為重要。保密性是指用戶在網上的所有信息應有一定的保密度,不同類型的用戶之間的內容是互相保密的。安全性是指用戶參加一次活動是安全的過程,對于所有用戶的動作,服務器都加以跟蹤。為了確保其安全與保密性,一要確??忌荒苈摼W作弊;二要在試卷上實時加以監控;三要在時間上加以嚴格的控制等。主要通過下列兩種途徑予以實現:其一,凡進入在線考試的用戶,都要通過用戶身份驗證才能進入。而且,不同用戶具有不同的操作權限,支持按權限進行操作,確保數據的公共性與私有性。不允許用戶執行非法的操作,防止用戶無意或有意的破壞。其二,禁止用戶查看所有試卷的源文件及拷貝功能,第一種方法,禁止使用鼠標右鍵等功能;第二種方法,試卷庫中的試卷將以無下拉菜單及工具欄等的頁面方式呈現在瀏覽者面前。
通過系統分析,本系統總體功能結構如圖1所示。本系統具備正式考試和模擬考試兩大功能,完全滿足日常教學過程中的過程性知識測驗和期末的總結性課程考核。系統設計功能強大的試題庫系統,為智能組卷、在線測試和自動判分提供了基礎。此外還具備完善的系統管理,包括用戶管理、試卷管理、試卷分析等。

在線考試系統的研發主要采用了B/S三層結構模式、SQL數據庫技術、ASP等諸多技術,綜合采用面向組件和面向對象方法對系統進行需求分析、設計和構建系統模型。
結合本院網絡在線考試系統的設計,B/S架構的三層體系結構對應于硬件設計就是Web服務器、應用服務器和數據庫服務器。服務器端采用SQL Server 2000數據庫系統和ASP組件來構成考試的應用服務系統,客戶端采用Web瀏覽器來完成考試全過程,同時可進行遠程系統維護和管理,選擇這種體系結構是基于本院的具體情況而設計的。
基于考試公平公正的原則,盡量做到每一個考生都有不同的試卷,杜絕筆試的情況下,考生的試卷都一樣,容易產生作弊等現象,所以網絡在線考試系統的開發,關鍵技術是試題的智能組卷和考試的安全性設計。經過對比分析研究,本系統采用隨機算法進行系統算法實現。
隨機算法是最常用的組卷算法,它根據狀態空間的控制指標,由計算機隨機地抽選一道試題加入試卷中,此過程不斷重復,直到組卷完畢,或已無法從試題庫中抽選滿足指標的試題為止。在具體實現時,可以采用一個定長的線性表作為試卷生成過程中的狀態,線性表的長度為用戶提交的總題量,每一元素代表選中試題的狀態長度,狀態類型由試題的若干分量組成,如題型、難度、章節等,待組卷完成后,再從試題庫中抽取與之相應的試題生成試卷。算法的實現過程為:
(1)建立兩個數組 Z(S)、U(X)。 Z(S)的值為某種狀態S的試題在試題庫中的試題量,U(X)為用戶要求的該狀態的試題數目,U(X)對應的全部狀態的集合構成線性表LIST;
(2)如果 U(X)>Z(S),則轉向(5),否則產生隨機整數N1,Nl=int(rand(-1)*Z(S)),其值小于 Z(S),讀取 N1 記錄,并對該記錄作選取標志,抽取下一道題目時,有選取標志的記錄不再有效;
(3)若 U(X)≠0,則 U(X)=U(X)一 1,重復(2);
(4)若LIST表未滿,則轉向(1),否則組卷成功;
(5)算法結束。
數據庫的整體結構設計如下:
考生{準考證號,登錄密碼,真實姓名,年級,班級,郵箱,審核標識}。
試題{試題編號,試題內容,試題所屬章節,試題類型,試題答案,試題選擇項,難度級別,試題標識,課程編號,試題附圖}
管理員{管理員賬號,登錄密碼,管理員類型,郵箱,權限}
試卷庫{試卷編號,所屬課程編號,試卷名稱,考試總時間,起始時間,結束時間,起始章節,結束章節,啟用標識}
考生成績{準考證號,課程編號,試卷編號,考試標識,開始考試時間,結束考試用時,批改標識,成績}
考試試題編號{試卷編號,試題編號,標準答案,課程編號,試題類型,所屬章節}
系統組合E-R圖,如圖2所示。

1.考生在線考試流程
考生登錄后,進入考試科目選擇頁面,選擇考試科目,在該科目下選擇指定的試卷進行考試。系統將以全屏方式在HTML頁面呈現該試卷,并顯示考試時間計時器,考生即可開始答題。考試時間到或考生單擊保存試卷、交卷按鈕,系統將考生答案存入數據庫,供自動判卷時使用。
2.組卷方案
組卷方案如圖3所示。依此實現方法,試卷中的其他試題類型也可以逐一顯示出來,一份完整的考試試卷就呈現在考生面前,考生可以順利進行考試。
3.在線考試模塊的系統實現
如果在系統功能頁面選擇了開始考試的選項,則系統會進入在線考試科目子系統模塊,選擇相應的考試科目就可以進入到考試界面中,如圖4所示。
考試主界面呈全屏狀態,分別顯示每種題型的考試題目。同時在屏幕左上方的考試計時器中顯示剩余時間。主界面中提供“保存”和“交卷”兩種按鈕,分別用于保存各種題型的考生答案和考生試卷。

表 在線考試界面測試用例

軟件在設計和編碼階段之后,為了發現潛在的錯誤,需要進行一系列測試工作。例如可以編寫測試用例,即根據軟件開發階段的規格說明和程序的內部結構而設計的輸入數據和預期輸出結果,并利用這些測試用例去運行程序,以發現程序錯誤的過程。因此軟件測試是軟件質量保證的關鍵技術。功能測試過程中需使用大量的測試用例,限于篇幅原因,如表所示只羅列了典型的對系統測試使用的用例。

本論文的研究具有一定的理論參考價值和實用價值。首先,考試系統的研發是學校教育信息化改革的重要成果,不僅解決了老師出試卷的問題,還節約了紙張和節省了審批手續,為實現教育信息化的普及做出了嘗試;其次,使得考試更加公正,為教學評價提供了新模式和新方法,具有社會實用價值。
[1]趙娟.基于B/S模式的在線考試系統的設計與實現[J].2008(3)第10卷第2期.
[2]粱瑾.基于JSP的在線考試系統的設計與實現[J].中國教育信息化,2008(8).
[3]叢春瑜.基于XML遠程在線考試系統的[J].中國教育信息化,2004(4).
[4]吳靜霞.基于智能組卷的在線考試系統的設計與實現[J].2008(4)第10卷第3期.
[5]朱國際.基于B/S在線考試系統的設計與實現[J].
[6]韓萌,王移芝,王嘉樹.基于W eb的通用在線考試系統的設計與實現[J].計算機工程與設計.2008(11)第29卷第21期.
TP315
B
1673-8454(2011)17-0077-03
(編輯:隗爽)