摘要:在線考試是建立在聯(lián)網(wǎng)上的應(yīng)用系統(tǒng),客戶端的配置極為簡(jiǎn)單,使考試不受地域的局限。該在線考試系統(tǒng)是利用微軟.net三層架構(gòu)技術(shù)并使用VS2005和Sql Server2000數(shù)據(jù)庫編寫的B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用程序。它具有使用用簡(jiǎn)單、部署方便、擴(kuò)展性強(qiáng)等特點(diǎn)。
關(guān)鍵詞:.NET;B/S;在線考試
中圖分類號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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
一個(gè)完備的在線考試系統(tǒng)可以使用戶在網(wǎng)上學(xué)習(xí)過后及時(shí)檢驗(yàn)自己的學(xué)習(xí)效果,已發(fā)現(xiàn)自己的不足,使得學(xué)習(xí)效率得到很大提高。在線考試系統(tǒng)中題目的生成、試卷的提交、成績(jī)的批閱等都可以在網(wǎng)絡(luò)上自動(dòng)完成。只要形成一套成熟的題庫就可以實(shí)現(xiàn)考試的自動(dòng)化。這樣一來大大減輕了教師的負(fù)擔(dān),其經(jīng)濟(jì)性是相當(dāng)可觀的。
1 在線考試系統(tǒng)總體設(shè)計(jì)
1.1 系統(tǒng)總體目標(biāo)
該系統(tǒng)是專門用于用戶注冊(cè)、登錄、參加在線考試以及管理員進(jìn)行試題錄入、修改、刪除、成績(jī)查詢、管理用戶的應(yīng)用程序??忌M(jìn)行身份驗(yàn)證登錄后,在規(guī)定的時(shí)間內(nèi)答題,當(dāng)達(dá)到規(guī)定的時(shí)間后,系統(tǒng)將自動(dòng)予以提示。一旦考生做完交卷后便能立即看到自己的考試成績(jī),并且其分?jǐn)?shù)將被記入庫中以供審核和查閱;另外,系統(tǒng)可以隨機(jī)的抽取試題庫中的各類試題組成各種形式的試卷,其內(nèi)容會(huì)隨著庫中試題的改變而改變,不同的考生所面對(duì)的試題是不同的。
1.2 系統(tǒng)結(jié)構(gòu)
根據(jù)需求分析,系統(tǒng)分為以下七個(gè)功能模塊:
①用戶登陸模塊:用戶通過用戶名和密碼進(jìn)行登錄。
②用戶信息的管理模塊:管理員可以增刪用戶。
③試題庫管理模塊:可以增加、修改、刪除試題。
④試卷生成模塊:從試題庫里隨機(jī)抽取試題生成一份原始試卷。
⑤在線考試模塊:系統(tǒng)嚴(yán)格控制整個(gè)考試過程,實(shí)行時(shí)間的監(jiān)控與權(quán)限的控制,考生需要在限定的考試時(shí)間內(nèi)交卷。
⑥計(jì)算機(jī)自動(dòng)閱卷模塊:本系統(tǒng)只考慮客觀題,要求計(jì)算機(jī)能自動(dòng)閱卷,然后馬上顯示出考生分?jǐn)?shù)。
⑦成績(jī)查閱模塊:考生考完以后,管理員應(yīng)該能對(duì)所有紀(jì)錄進(jìn)行查詢,并應(yīng)該可以刪除指定紀(jì)錄。
1.3 系統(tǒng)模式和技術(shù)架構(gòu)
目前,網(wǎng)絡(luò)應(yīng)用軟件的模式主要有二類:C/S模式,B/S模式。采用B/S架構(gòu)模式最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件,客戶端零維護(hù),系統(tǒng)的擴(kuò)展非常容易。考慮軟件系統(tǒng)的先進(jìn)性、發(fā)展性原則,用B/S模式來設(shè)計(jì)考試系統(tǒng)比較合適。
系統(tǒng)采用.NET三層架構(gòu)中的四層架構(gòu)的模式,這四個(gè)層分別為:
1) Web層
客戶端首先調(diào)用的是Web層,Web層為客戶端提供對(duì)應(yīng)用程序的訪問。這一層是作為系統(tǒng)解決方案的Web項(xiàng)目實(shí)現(xiàn)的。Web層由ASP.NET的Web窗體和代碼隱藏文件組成Web窗體只是提供用戶操作,而代碼隱藏文件實(shí)現(xiàn)各種控件的事件處理等。此時(shí)的Web層相當(dāng)于表示層的功能,它為整個(gè)系統(tǒng)提供了用戶界面。
2) 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層為Web層提供統(tǒng)一接口界面。它包含各種業(yè)務(wù)規(guī)則和邏輯的實(shí)現(xiàn)除了低級(jí)系統(tǒng)和支持功能之外,對(duì)數(shù)據(jù)庫服務(wù)器的所有調(diào)用都是通過此程序集進(jìn)行的。
3) 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層通過訪問數(shù)據(jù)庫的存儲(chǔ)過程為上面的業(yè)務(wù)邏輯層提供數(shù)據(jù)服務(wù)。
4) 數(shù)據(jù)庫層
存儲(chǔ)用戶的數(shù)據(jù),并且定義了存儲(chǔ)過程,來提高性能。
1.4 開發(fā)語言和平臺(tái)
系統(tǒng)開發(fā)平臺(tái)采用Visualstudio2005,開發(fā)語言使用C#,系統(tǒng)數(shù)據(jù)庫選擇Sql Server 2000數(shù)據(jù)庫系統(tǒng)。
1.5 詳細(xì)設(shè)計(jì)
下面就分如下幾個(gè)部分對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì):1)試題設(shè)計(jì);2)數(shù)據(jù)庫中表的設(shè)計(jì);3)管理功能設(shè)計(jì);4)功能模塊詳細(xì)設(shè)計(jì)。
1) 試題設(shè)計(jì)
鑒于主觀題的主觀性,目前無法實(shí)現(xiàn)系統(tǒng)自動(dòng)判卷,所以本系統(tǒng)只作客觀題部分。一般情況下,單選題往往在四個(gè)供選的答案A、B、C、D中選擇唯一正確的答案;
2) 數(shù)據(jù)庫中表的設(shè)計(jì)
① question表結(jié)構(gòu)
通常,每一類型的試題都應(yīng)有一個(gè)表結(jié)構(gòu)。但考慮到目前系統(tǒng)存貯空間可以很大,也為了更加方便。我們采用把全部試題集中在一起的方案來建立數(shù)據(jù)表,每道客觀題均有四個(gè)備選答案項(xiàng),字段名一般是相應(yīng)的英文單詞。這樣,查詢起來較方便,會(huì)節(jié)約時(shí)間,也不致于造成數(shù)據(jù)十分雜亂等。詳細(xì)設(shè)計(jì)如表1所示。
各字段說明:
ID是問題的id號(hào),用來唯一標(biāo)志該問題,把它設(shè)為主鍵,類型為自動(dòng)編號(hào)。
Question字段為問題內(nèi)容,類型為文本。
A字段代表選項(xiàng)A的內(nèi)容
B字段代表選項(xiàng)B的內(nèi)容
C字段代表選項(xiàng)C的內(nèi)容
D字段代表選項(xiàng)D的內(nèi)容
Answer字段表示答案選項(xiàng)
Hasselected字段表示是否已經(jīng)選擇過本題
② score表
各字段說明:
studentname字段代表在某次考試記錄中學(xué)生的名字。
score字段為某次考試紀(jì)錄中考試分?jǐn)?shù)。
id字段為某次考試紀(jì)錄的標(biāo)志號(hào)。
Testtime字段代表考試的結(jié)束時(shí)間。
③ student表結(jié)構(gòu)
各字段說明:
studentname字段代表學(xué)生的名字。
studentpassword字段代表密碼。
④ admin表結(jié)構(gòu)
各字段說明:
name字段代表管理員的名字。
password字段代表密碼。
id字段為管理員的標(biāo)志號(hào)。
3) 用戶、管理員權(quán)限
管理員:在此系統(tǒng)中只有一個(gè)管理員,即系統(tǒng)管理員。具有一般用戶所沒有的權(quán)限,即具有管理一般用戶、試題管理功能。
一般用戶:主要是指學(xué)校的學(xué)生和企事業(yè)單位的培訓(xùn)對(duì)象等
4) 功能模塊詳細(xì)設(shè)計(jì)
由于篇幅所限,本文只對(duì)試題管理模塊進(jìn)行詳細(xì)討論。
試題管理模塊
管理員可以向題庫中添加各種類型且符合要求的試題,也可以對(duì)它們進(jìn)行修改和刪除。
① 試題錄入
首先,試題的錄入是通過一個(gè)asp.net頁面中的web服務(wù)器控件:GridView完成的。GridView控件是.net framework2.0新增加的一個(gè)數(shù)據(jù)綁定控件。它的功能比.net framework1.1中的DataGrid控件的功能進(jìn)一步加強(qiáng),并且效率也有所提高。
② 試題修改
管理員還可以對(duì)試題進(jìn)行修改。不過,對(duì)于各表中的主鍵不用修改,避免了造成系統(tǒng)中的數(shù)據(jù)混亂,或者覆蓋其它有用數(shù)據(jù)的現(xiàn)象。如果用戶執(zhí)行了非法操作,則必須重新操作。對(duì)于對(duì)數(shù)據(jù)庫數(shù)據(jù)的修改,在以前的asp頁面中比較麻煩,要想修改一條記錄,必須寫很長(zhǎng)的代碼。在asp.net中,幾乎可以不寫一行代碼,就可以對(duì)數(shù)據(jù)庫記錄進(jìn)行修改。
③ 試題刪除
管理員可以刪除不再需要的試題。通過在每一條記錄的后面放置一個(gè)button按鈕并提示用戶是否要?jiǎng)h除,來完成試題的刪除。
2 在線考試系統(tǒng)實(shí)現(xiàn)
根據(jù)系統(tǒng)總體設(shè)計(jì),首先系統(tǒng)要有一個(gè)登錄界面,用戶可以從該界面登錄參加考試。管理員也應(yīng)該有一個(gè)進(jìn)入管理登錄界面的通道。進(jìn)入開始考試界面,由計(jì)算機(jī)隨機(jī)提取試題,顯示出來組成試卷,并開始進(jìn)行計(jì)時(shí)??忌俅芜M(jìn)行考試,答完試題后交卷,進(jìn)入下一個(gè)界面。
考生提交答卷后,由計(jì)算機(jī)進(jìn)行處理--判卷,得出考試分?jǐn)?shù),顯示出來,并把該生考試記錄存入數(shù)據(jù)庫。在這個(gè)界面上應(yīng)該可以返回繼續(xù)進(jìn)行考試或回到登錄界面。
以上是系統(tǒng)進(jìn)行考試功能的部分,要對(duì)系統(tǒng)進(jìn)行管理,如試題管理、科目管理、用戶管理等就需要設(shè)計(jì)一些管理界面。下面就來逐步進(jìn)行設(shè)計(jì)。
要進(jìn)行管理首先要有管理員登陸驗(yàn)證,這里另外設(shè)計(jì)了一個(gè)界面,使它與用戶登錄區(qū)別開來。這個(gè)界面與用戶登錄界面表面上很相似,但是他們是從不同的表中提取數(shù)據(jù)進(jìn)行驗(yàn)證的,以便于系統(tǒng)擴(kuò)充和增加安全性。
管理用戶的界面可以實(shí)現(xiàn)用戶的增加、和刪除的功能,管理員在此可以對(duì)用戶進(jìn)行管理。
管理管理員的界面,功能和管理用戶的差不多,實(shí)現(xiàn)對(duì)管理員的增加和刪除功能。
管理考試紀(jì)錄界面可以對(duì)考生的每次考試進(jìn)行紀(jì)錄,管理員科可以對(duì)考生成績(jī)、時(shí)間及考試各相關(guān)紀(jì)錄進(jìn)行查詢和刪除。
最后是試題庫管理界面,它根據(jù)各科進(jìn)行分類。通過這個(gè)界面管理員可以對(duì)題庫中的某科試題進(jìn)行增加、修改或刪除。這樣就十分方便靈活的對(duì)試題庫進(jìn)行管理。
參考文獻(xiàn):
[1] 黃海.ASP.NET 2.0全程指南[M].北京:電子工業(yè)出版社,2008.
[2] 趙強(qiáng).SQL SERVER2000數(shù)據(jù)庫編程[M].北京:清華大學(xué)出版社,2005.
[3] 王石.VISUAL C# 2005[M].北京:人民郵電出版社,2007.