葉 春
[摘要]傳統(tǒng)的考試組織者工作量大、繁瑣而且非常容易出錯。隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和英特網(wǎng)的不斷普及,在線考試系統(tǒng)作為一種新穎的考試系統(tǒng)模式也應(yīng)運而生。本文給出了一個在線考試系統(tǒng)的設(shè)計思路,并給出了部分的實現(xiàn)過程。
[關(guān)鍵詞]數(shù)據(jù)庫 網(wǎng)上考試
在線考試系統(tǒng)的產(chǎn)生不僅解決了各類考試人員地域分散性的特點,而且也大大提高了組織考試的效率和考試的公正性。網(wǎng)絡(luò)在線考試系統(tǒng)正是采用互聯(lián)網(wǎng)的方式來實現(xiàn)網(wǎng)上考試和成績評定等功能,并通過后臺數(shù)據(jù)庫對教學(xué)輔助工作提供強有力的支持。下面茲介紹一個系統(tǒng)。
一、系統(tǒng)的總體設(shè)計
1.目標(biāo)設(shè)計
在線考試系統(tǒng)的主要功能如下:
登陸系統(tǒng)的主要功能要求:歡迎頁面;功能選擇頁面;各種功能的登陸頁面及密碼驗證。
在線考試系統(tǒng)的主要實現(xiàn)功能要求:讓用戶選擇試卷類型;讓用戶選擇試卷的斷線情況;從試題庫中隨機出題給用戶;將隨機試卷保存在暫時表中;保存用戶的答案;給用戶的試卷判分;保存用戶的試卷;查詢用戶成績。
在線帳戶管理系統(tǒng)的主要功能要求:選擇更改帳戶屬性的類別;瀏覽整個系統(tǒng)中的各種用戶;添加包含某項功能的用戶;刪除不再需要的用戶;更改用戶的密碼。
在線閱卷的主要功能要求:瀏覽系統(tǒng)中用戶答案情況;刪除某個用戶的其中一個答案或刪除某種系統(tǒng)試卷。
2.設(shè)計思想
目前比較流行的兩種網(wǎng)絡(luò)開發(fā)模式分別是客服端/服務(wù)器模式與瀏覽器/服務(wù)器模式??头?服務(wù)器的優(yōu)點是能充分發(fā)揮客戶端的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點就是客戶端響應(yīng)速度快。客服端/服務(wù)器的缺點,它在以局域網(wǎng)為基礎(chǔ)的環(huán)境下展開應(yīng)用的,它受到地域的限制。還有,客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進行安裝或維護。同時它對客戶端的操作系統(tǒng)一般也會有限制。瀏覽器/服務(wù)器模式通過英特網(wǎng)進行通信,可以不受地域的限制,但是它不能進行聯(lián)機事務(wù)處理,并且在大量數(shù)據(jù)處理的情況下,速度較慢。
3.系統(tǒng)功能設(shè)計
根據(jù)系統(tǒng)功能的要求,在線考試系統(tǒng)分為三個模塊。即在線的考試系統(tǒng),在線帳戶管理系統(tǒng)和在線的閱卷系統(tǒng)。可以將系統(tǒng)分解成幾個功能模塊來分別設(shè)計,首先進入歡迎頁面。流程如:歡迎頁面;登陸頁面;分系統(tǒng)。分系統(tǒng)包括:在線考試系統(tǒng)、在線管理系統(tǒng)、在線閱讀系統(tǒng)。
二、數(shù)據(jù)庫的設(shè)計
網(wǎng)絡(luò)在線考試系統(tǒng)的設(shè)計過程中數(shù)據(jù)庫的設(shè)計是非常重要的。如果數(shù)據(jù)庫設(shè)計不合理,整個系統(tǒng)的性能就會大打折扣。通過進行正規(guī)化數(shù)據(jù)庫設(shè)計,可以使ASP代碼更具可讀性,更容易擴展和升級,從而也會提升系統(tǒng)的應(yīng)用性能。在數(shù)據(jù)庫系統(tǒng)開始設(shè)計時就應(yīng)該盡量考慮全面,尤其應(yīng)該考慮實際應(yīng)用中所需要解決的問題,使數(shù)據(jù)庫對整個系統(tǒng)有更強的支持。根據(jù)系統(tǒng)功能模塊的劃分,各模塊設(shè)置內(nèi)部的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu),并根據(jù)需要設(shè)置模塊外的數(shù)據(jù)支持。注冊功能模塊主要包括用戶的信息,所以其數(shù)據(jù)項應(yīng)包括:用戶標(biāo)志、用戶名、用戶密碼和用戶權(quán)限。在線考試功能模塊結(jié)構(gòu)比較復(fù)雜,除了試題標(biāo)志、試題類型、試題內(nèi)容、難易程度、試題分值和試題答案等一些內(nèi)部項以外,還需要試卷名稱、試卷分?jǐn)?shù)和答題時間等一些外部數(shù)據(jù)的支持。在線帳戶管理模塊主要是保存一些試題維護人員和系統(tǒng)維護人員的信息,主要有用戶標(biāo)志、用戶名、用戶密碼、用戶類型和用戶權(quán)限,該模塊不需要外部數(shù)據(jù)的支持。對于在線閱卷系統(tǒng),主要有試卷名稱、答題用戶、當(dāng)前狀態(tài),它所需的外部數(shù)據(jù)支持超級用戶信息:用戶的標(biāo)志、用戶名、密碼、權(quán)限。
從應(yīng)用的角度而言,Access數(shù)據(jù)庫易于使用,在創(chuàng)建和配置上都比SQLServer更為容易,它是一個功能強大的數(shù)據(jù)庫管理系統(tǒng)開發(fā)工具,具有界面友好、易學(xué)易用、開發(fā)簡單、接口靈活等特點,可以充分滿足小型系統(tǒng)的需求。因此,對于小型的在線考試系統(tǒng),后臺數(shù)據(jù)庫可以選擇微軟的Access數(shù)據(jù)庫。但是,對于大中型在線考試系統(tǒng)而言Access數(shù)據(jù)庫已經(jīng)無法滿足功能的需求。使用SQLServer可以獲得超強的可伸縮性和可靠性,這樣就更能滿足在線考試系統(tǒng)程序設(shè)計的要求。它已經(jīng)成為新一代網(wǎng)絡(luò)應(yīng)用程序的最佳數(shù)據(jù)庫和分析解決方案之一。
三、系統(tǒng)開發(fā)的關(guān)鍵技術(shù)
1.隨機取題成卷技術(shù)
在線考試不同于傳統(tǒng)意義上的考試,在同一次考試中管理員可以從題庫中隨機取題成卷,每個考生的試卷都不同,但都是依照預(yù)定的知識點難度等策略從題庫中隨機抽取的,這樣在一定意義上也就防止了考試中出現(xiàn)的舞弊現(xiàn)象。隨機取題成卷技術(shù)可以有兩種,一 種是打亂卷面題目順序技術(shù),另一種是在事先規(guī)定好的同一難度的試題中隨機抽取的技術(shù)。打亂卷面題目順序的技術(shù)比較容易實現(xiàn),這里主要介紹隨機取題的技術(shù)。隨機取題由特定的算法來實現(xiàn)。
2.自動判分功能的實現(xiàn)
編者使用了一個巧妙的辦法來解決自動判分的功能,除了上面的生成的臨時表以外,判分頁面還生成了一個“擁護 名+表名”的正式表,用來存儲用戶答題的所有信息,然后讀取這些記錄,進行判分。這里特別強調(diào)讀者注意的是,判分的比較過程,以外加分環(huán)節(jié)和最后總分?jǐn)?shù)的得出。
3.兩層用戶鑒別
在我們這個再線考試系統(tǒng)中,采用了一個兩層用戶鑒別的模式,目的是為了系統(tǒng)的安全,當(dāng)然,這個辦法所起到的作用也是非常有限的,只是能夠防止普通用戶通過猜測管理員的用戶名和密碼達到入侵的目的。
4.系統(tǒng)的安全性
從系統(tǒng)的安全角度考慮,為了避免Cookie被盜用,并獲得對合法用戶的會話變量的訪問,服務(wù)器為每個SessionID指派一個隨機生成號碼。每當(dāng)用戶的瀏覽器返回一個Cookie時,服務(wù)器取出SessionID和被賦予的數(shù)字,接著檢查是否與存儲在服務(wù)器上的生成號碼一致。若兩個號碼一致,將允許用戶訪問會話變量。這一技術(shù)的有效性在于被賦予的數(shù)字的長度,此長度在一定程度上保證了系統(tǒng)的安全性。
參考文獻:
[1]宋昕.asp網(wǎng)絡(luò)開發(fā)技術(shù)入門與提高實用教程——入門與提高實用教程 [M].北京:中國鐵道出版社,2005.
[2]石志國,李穎,薛為民.ASP程序設(shè)計[M].北京:清華大學(xué)出版社,2005.