摘要:在線考試是建立在聯網上的應用系統,客戶端的配置極為簡單,使考試不受地域的局限。該在線考試系統是利用微軟.net三層架構技術并使用VS2005和Sql Server2000數據庫編寫的B/S結構的網絡應用程序。它具有使用用簡單、部署方便、擴展性強等特點。
關鍵詞:.NET;B/S;在線考試
中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2008)35-2500-02
With Realize Based on the .NET Three Construction's Online Test System Designs
GUO Bin
(Xuzhou Higher Vocational School of Economics Treating,Xuzhou 221004,China)
Abstract: The online test is the establishment in the networking application system,the client side disposition is extremely simple,causes the test not the region limitation.This online test system is and uses the B/S structure network application procedure which using the Microsoft.net three construction technologies VS2005 and SqlServer 2000 database compiles.It has the use with simply,to deploy,the extension conveniently strong and so on characteristics.
Key words: .NET;B/S;online test
一個完備的在線考試系統可以使用戶在網上學習過后及時檢驗自己的學習效果,已發現自己的不足,使得學習效率得到很大提高。在線考試系統中題目的生成、試卷的提交、成績的批閱等都可以在網絡上自動完成。只要形成一套成熟的題庫就可以實現考試的自動化。這樣一來大大減輕了教師的負擔,其經濟性是相當可觀的。
1 在線考試系統總體設計
1.1 系統總體目標
該系統是專門用于用戶注冊、登錄、參加在線考試以及管理員進行試題錄入、修改、刪除、成績查詢、管理用戶的應用程序??忌M行身份驗證登錄后,在規定的時間內答題,當達到規定的時間后,系統將自動予以提示。一旦考生做完交卷后便能立即看到自己的考試成績,并且其分數將被記入庫中以供審核和查閱;另外,系統可以隨機的抽取試題庫中的各類試題組成各種形式的試卷,其內容會隨著庫中試題的改變而改變,不同的考生所面對的試題是不同的。
1.2 系統結構
根據需求分析,系統分為以下七個功能模塊:
①用戶登陸模塊:用戶通過用戶名和密碼進行登錄。
②用戶信息的管理模塊:管理員可以增刪用戶。
③試題庫管理模塊:可以增加、修改、刪除試題。
④試卷生成模塊:從試題庫里隨機抽取試題生成一份原始試卷。
⑤在線考試模塊:系統嚴格控制整個考試過程,實行時間的監控與權限的控制,考生需要在限定的考試時間內交卷。
⑥計算機自動閱卷模塊:本系統只考慮客觀題,要求計算機能自動閱卷,然后馬上顯示出考生分數。
⑦成績查閱模塊:考生考完以后,管理員應該能對所有紀錄進行查詢,并應該可以刪除指定紀錄。
1.3 系統模式和技術架構
目前,網絡應用軟件的模式主要有二類:C/S模式,B/S模式。采用B/S架構模式最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟件,客戶端零維護,系統的擴展非常容易??紤]軟件系統的先進性、發展性原則,用B/S模式來設計考試系統比較合適。
系統采用.NET三層架構中的四層架構的模式,這四個層分別為:
1) Web層
客戶端首先調用的是Web層,Web層為客戶端提供對應用程序的訪問。這一層是作為系統解決方案的Web項目實現的。Web層由ASP.NET的Web窗體和代碼隱藏文件組成Web窗體只是提供用戶操作,而代碼隱藏文件實現各種控件的事件處理等。此時的Web層相當于表示層的功能,它為整個系統提供了用戶界面。
2) 業務邏輯層
業務邏輯層為Web層提供統一接口界面。它包含各種業務規則和邏輯的實現除了低級系統和支持功能之外,對數據庫服務器的所有調用都是通過此程序集進行的。
3) 數據訪問層
數據訪問層通過訪問數據庫的存儲過程為上面的業務邏輯層提供數據服務。
4) 數據庫層
存儲用戶的數據,并且定義了存儲過程,來提高性能。
1.4 開發語言和平臺
系統開發平臺采用Visualstudio2005,開發語言使用C#,系統數據庫選擇Sql Server 2000數據庫系統。
1.5 詳細設計
下面就分如下幾個部分對系統進行詳細設計:1)試題設計;2)數據庫中表的設計;3)管理功能設計;4)功能模塊詳細設計。
1) 試題設計
鑒于主觀題的主觀性,目前無法實現系統自動判卷,所以本系統只作客觀題部分。一般情況下,單選題往往在四個供選的答案A、B、C、D中選擇唯一正確的答案;
2) 數據庫中表的設計
① question表結構
通常,每一類型的試題都應有一個表結構。但考慮到目前系統存貯空間可以很大,也為了更加方便。我們采用把全部試題集中在一起的方案來建立數據表,每道客觀題均有四個備選答案項,字段名一般是相應的英文單詞。這樣,查詢起來較方便,會節約時間,也不致于造成數據十分雜亂等。詳細設計如表1所示。
各字段說明:
ID是問題的id號,用來唯一標志該問題,把它設為主鍵,類型為自動編號。
Question字段為問題內容,類型為文本。
A字段代表選項A的內容
B字段代表選項B的內容
C字段代表選項C的內容
D字段代表選項D的內容
Answer字段表示答案選項
Hasselected字段表示是否已經選擇過本題
② score表
各字段說明:
studentname字段代表在某次考試記錄中學生的名字。
score字段為某次考試紀錄中考試分數。
id字段為某次考試紀錄的標志號。
Testtime字段代表考試的結束時間。
③ student表結構
各字段說明:
studentname字段代表學生的名字。
studentpassword字段代表密碼。
④ admin表結構
各字段說明:
name字段代表管理員的名字。
password字段代表密碼。
id字段為管理員的標志號。
3) 用戶、管理員權限
管理員:在此系統中只有一個管理員,即系統管理員。具有一般用戶所沒有的權限,即具有管理一般用戶、試題管理功能。
一般用戶:主要是指學校的學生和企事業單位的培訓對象等
4) 功能模塊詳細設計
由于篇幅所限,本文只對試題管理模塊進行詳細討論。
試題管理模塊
管理員可以向題庫中添加各種類型且符合要求的試題,也可以對它們進行修改和刪除。
① 試題錄入
首先,試題的錄入是通過一個asp.net頁面中的web服務器控件:GridView完成的。GridView控件是.net framework2.0新增加的一個數據綁定控件。它的功能比.net framework1.1中的DataGrid控件的功能進一步加強,并且效率也有所提高。
② 試題修改
管理員還可以對試題進行修改。不過,對于各表中的主鍵不用修改,避免了造成系統中的數據混亂,或者覆蓋其它有用數據的現象。如果用戶執行了非法操作,則必須重新操作。對于對數據庫數據的修改,在以前的asp頁面中比較麻煩,要想修改一條記錄,必須寫很長的代碼。在asp.net中,幾乎可以不寫一行代碼,就可以對數據庫記錄進行修改。
③ 試題刪除
管理員可以刪除不再需要的試題。通過在每一條記錄的后面放置一個button按鈕并提示用戶是否要刪除,來完成試題的刪除。
2 在線考試系統實現
根據系統總體設計,首先系統要有一個登錄界面,用戶可以從該界面登錄參加考試。管理員也應該有一個進入管理登錄界面的通道。進入開始考試界面,由計算機隨機提取試題,顯示出來組成試卷,并開始進行計時。考生再次進行考試,答完試題后交卷,進入下一個界面。
考生提交答卷后,由計算機進行處理--判卷,得出考試分數,顯示出來,并把該生考試記錄存入數據庫。在這個界面上應該可以返回繼續進行考試或回到登錄界面。
以上是系統進行考試功能的部分,要對系統進行管理,如試題管理、科目管理、用戶管理等就需要設計一些管理界面。下面就來逐步進行設計。
要進行管理首先要有管理員登陸驗證,這里另外設計了一個界面,使它與用戶登錄區別開來。這個界面與用戶登錄界面表面上很相似,但是他們是從不同的表中提取數據進行驗證的,以便于系統擴充和增加安全性。
管理用戶的界面可以實現用戶的增加、和刪除的功能,管理員在此可以對用戶進行管理。
管理管理員的界面,功能和管理用戶的差不多,實現對管理員的增加和刪除功能。
管理考試紀錄界面可以對考生的每次考試進行紀錄,管理員科可以對考生成績、時間及考試各相關紀錄進行查詢和刪除。
最后是試題庫管理界面,它根據各科進行分類。通過這個界面管理員可以對題庫中的某科試題進行增加、修改或刪除。這樣就十分方便靈活的對試題庫進行管理。
參考文獻:
[1] 黃海.ASP.NET 2.0全程指南[M].北京:電子工業出版社,2008.
[2] 趙強.SQL SERVER2000數據庫編程[M].北京:清華大學出版社,2005.
[3] 王石.VISUAL C# 2005[M].北京:人民郵電出版社,2007.