艾 地
[摘 要]本文對Web考試系統(tǒng)開發(fā)的相關的技術背景進行了介紹,并在此基礎上,引入基于角色的訪問控制機制,設計并實現(xiàn)了一個具有良好通用性的Web考試系統(tǒng)。結合本系統(tǒng)的設計提出了幾點自己有關在線考試系統(tǒng)研究的思考。
[關鍵詞]考試系統(tǒng) 基于角色的訪問控制 身份驗證
[中圖分類號]TP311[文獻標識碼]A[文章編號]1007-9416(2009)12-0019-04
1 目前國內外在線考試系統(tǒng)的主要運行模式
目前國內外運用的在線考試系統(tǒng)主要基于兩種運行模式:C/S(client/Server)模式和B/S(Browser/Server)模式。
基于C/S(client/Server)模式的在線考試系統(tǒng),利用計算機局域網(wǎng)絡,每臺計算機(客戶端)通過安裝必要的軟件才能與服務器端相互通信。因此在每次進行不同的考試之前都必須將相關的應用程序安裝在考試客戶端上,這樣不僅造成了考務工作的繁瑣,而且系統(tǒng)的性能也會受到一定影響。相比而言,基于B/S(Browser/Server)模式的在線考試系統(tǒng),應用程序和考試信息都存儲在服務器端,客戶端只需要能聯(lián)網(wǎng),并且安裝有標準的Web瀏覽器即可。通常在線考試系統(tǒng)建成后,隨著其應用,其數(shù)據(jù)庫中的數(shù)據(jù)會不斷變化,而且系統(tǒng)本身也需要不斷地更新、升級以適應新的用戶需求。為了達到這種目的,本系統(tǒng)使用的是基于B/S(Browser/Server)模式的設計。工作原理如下圖1。
2 在線考試系統(tǒng)的總體設計
2.1 系統(tǒng)的總體結構
在線考試系統(tǒng)最終實現(xiàn)的功能結構如圖2。
其中,各部分具體功能介紹如圖3。
身份驗證模塊:身份驗證模塊分為兩個子模塊,分別用于考生登錄和高級用戶(教師和管理員)登錄,系統(tǒng)不允許匿名登錄,只有已分配相應權限的用戶才能登錄以享受相應的服務。
用戶信息管理模塊:此模塊為最高權限用戶的功能,可以對系統(tǒng)中的其他兩類用戶的信息進行管理與維護。
試題信息管理模塊:對于高級用戶中的兩種角色,都可以使用此功能,但教師的權限是受限的,只能管理自己所負責科目的相關試題信息。
考試科目信息管理模塊:最高權限用戶的功能,可以對考試科目進行管理與維護。
考試結果管理模塊:對于高級用戶中的兩種角色,都可以使用此功能,但教師的權限是受限的,只能管理自己所負責科目的考試結果信息。
在線考試系統(tǒng)模塊:這是系統(tǒng)的最核心功能,主要向考生提供自動隨機組卷、在線考試和自動評分的功能。
2.2 系統(tǒng)數(shù)據(jù)庫設計
SQL Server 2005 有兩種身份驗證模式:Windows 身份驗證模式、混合身份驗證模式。默認情況下,SQL Server 2005在安裝過程中使用的是Windows 身份驗證模式。這種認證模式使用的是Windows 認證機制,用戶不需提供SQL Server 登錄帳號就可以直接與SQL Server 相連,同時Windows Server的組策略也能對SQL Server的訪問提供全面的支持。但是在線考試系統(tǒng)一般需要遠程連接來管理服務器資源。所以本系統(tǒng)采用的是后一種身份驗證模式,即允許SQL Server和Windows 身份驗證對登錄帳號進行驗證。其工作模式:客戶端提供的用戶帳戶和密碼首先進行SQL Server身份驗證,若通過,則登錄成功;否則,再進行Windows 身份驗證,若通過,則登錄成功。如果兩種驗證都不成功,則無法使用SQL Serve。這可以創(chuàng)建Windows Server之外的一個安全層次,使在線考試系統(tǒng)遠程連接過程中的數(shù)據(jù)的安全性得到了保證。
接下來,我們使用混合身份驗證模式登錄到SQL Server 2005,然后在SQL Server 2005中創(chuàng)建一個名為“OnlineExam”的數(shù)據(jù)庫。根據(jù)前面有關系統(tǒng)功能需求的分析,考慮到系統(tǒng)實現(xiàn)的需要,這里對“OnlineExam”數(shù)據(jù)庫進行了設計,該數(shù)據(jù)庫共包括以下數(shù)據(jù)表:高級用戶信息表、考生信息表、考試科目信息表、考試記錄信息表、試題信息表。
3 在線考試系統(tǒng)的實現(xiàn)
3.1 實現(xiàn)在線考試系統(tǒng)的關鍵技術——基于角色訪問控制的身份驗證技術
考試在任何國家都屬于機密,而在線考試系統(tǒng)不僅涉及到考試有關信息,更涉及到有關用戶的信息,因此,一個完善的在線考試系統(tǒng)應能提供強大的信息安全解決方案。要實現(xiàn)這一解決方案,在控制系統(tǒng)訪問上把好關,尤為重要。
為了解決這一問題,本系統(tǒng)采用的驗證策略。把系統(tǒng)服務對象分為三類角色:教師、學生和管理員。其中又把教師和管理員作為高級用戶,對三種角色使用了不同的身份驗證技術,同時對每種角色的身份驗證采用驗證碼技術,能有效的防止利用機器人軟件反復登錄,使系統(tǒng)的安全性得到多重保障。
3.2 在線考試系統(tǒng)的實現(xiàn)
了解了實現(xiàn)在線考試系統(tǒng)的關鍵技術之后,接下來要做的工作便是按照系統(tǒng)流程圖中的描述逐一實現(xiàn)在線考試系統(tǒng)。
系統(tǒng)登錄是系統(tǒng)的第一個流程,由于系統(tǒng)用戶需求的原因,本系統(tǒng)了提供了兩個登錄界面:系統(tǒng)默認的首頁是考生登錄界面,此界面上也提供了到高級用戶登錄的界面鏈接。
3.2.1考生登錄界面的實現(xiàn)如圖3。
3.2.2 信息管理頁面的實現(xiàn):
(1)學生信息管理界面的實現(xiàn),如圖4。
(2)教師信息管理頁面的實現(xiàn),如圖5。
(3)試題基本信息的管理界面,如圖6。
3.3 系統(tǒng)運行測試及完善
基本功能實現(xiàn)之后,在線考試系統(tǒng)并未真正實現(xiàn),我們還要對其進行詳細的測試,以確定其是否存在設計過程中未考慮到的錯誤,以及系統(tǒng)開發(fā)導致的bug,這樣我們才能更好地完善在線考試系統(tǒng)。
測試過程的主要任務:
(1)檢查系統(tǒng)是否可以對用戶的各種輸入,做出正確的響應。
(2)檢查系統(tǒng)中的各種頁面顯示是否正常。
(3)檢查系統(tǒng)預期的各種功能是否實現(xiàn)。
(4)檢查系統(tǒng)運行是否穩(wěn)定。
測試結果:
系統(tǒng)基本實現(xiàn)了預期的功能,但仍然存在諸多設計上的不足,將在今后的實踐當中對其完善。
至此,一個完整的在線考試系統(tǒng)算是從功能上實現(xiàn)了。
4 關于在線考試系統(tǒng)的幾點思考
本系統(tǒng)采用ASP.NET2.0+SQL Server2005技術開發(fā),成功融合了時下流行的基于角色訪問控制的Web安全機制,采用了簡單友好的人機交互界面,可以實現(xiàn)在線隨機組卷、在線考試、在線自動評分、成績查詢以及基于角色訪問控制策略的強大的后臺管理等功能,能在很大程度上克服傳統(tǒng)考試的諸多不足,極大地提高整個考試工作的效率。在試題庫設計上,采用以學科為單位的試題類型發(fā)布機制,使得本系統(tǒng)通用性極強,能夠適應多種學科考試。
[參考文獻]
[1] 陸峰、楊宗凱、劉清堂.基于角色訪問控制技術的網(wǎng)絡考試系統(tǒng)研究.中國教育信息化.
[2] 楊冬.通用網(wǎng)絡考試系統(tǒng)的設計與實現(xiàn).2006年4月.
[3] 周雪燕.在線考試系統(tǒng)的開發(fā)及應用研究.2006年4月.
[4] 董納.網(wǎng)絡教育平臺暨在線考試系統(tǒng)的設計開發(fā).2006年4.
[5] 趙玉.基于ASP_NET的在線考試系統(tǒng)的設計與實現(xiàn).2007年5月.
[6] 徐魯雄、黃維通.網(wǎng)絡考試系統(tǒng)的設計與實現(xiàn).計算機教育.2006年9月.