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