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