摘要:基于B/S的在線考試系統(tǒng),充分利用了B/S模式交互性強、速度快、安全性高、信息共享的優(yōu)點,實現(xiàn)了學生成績科學、快速、準確、全面地統(tǒng)計分析,有助于全面了解學生的學習成績。通過對在線考試系統(tǒng)的功能分析,采用了ASP.NET技術,數(shù)據(jù)庫技術和B/S三層體系結(jié)構進行設計開發(fā)。
關鍵詞:B/S;ASP.NET;考試系統(tǒng);Web技術
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)04-0772-02
Design of Test System Based on B/S Model
ZHANG Jiang-wen1, RAO Hong2, HU Su-juan3
(1.School of Information and Engineering, Nanchang University, Nanchang 330031, China; 2.Computer Center, Nanchang University, Nanchang 330031, China; 3.Jiangxi Tourism Commerce College, Nanchang 330039, China)
Abstract: The test system is based on B/S model. It takes full advantage of model, such as the strong interaction, high rapidity and security, as well as the strong share of B/S model. So it makes the statistical analysis of the test system more scientifically, quickly and comprehensively. According to the function analysis of the online examination system based on ASP.NET, the system is designed and developed using ASP.NET, database and B/S architecture in three levels in the paper.
Key words: B/S; ASP.NET; test system; web technology
1 引言
隨著因特網(wǎng)技術的發(fā)展,利用網(wǎng)絡進行網(wǎng)上教學,開發(fā)網(wǎng)絡題庫和在線考試系統(tǒng)是減輕教師工作量的有效途徑,是對傳統(tǒng)考試方式的重要改革??荚囎鳛榻虒W的重要環(huán)節(jié),同時也是評價、指導教學的重要依據(jù),具有相當?shù)闹匾?。無紙化考試可以節(jié)省資源,提高考試效率,同時也減少了閱卷老師的勞動強度。所以,無紙化考試在社會的各個方面得到推廣和應用。隨著網(wǎng)絡技術的發(fā)展和應用,無紙化考試又進一步發(fā)展成為網(wǎng)上考試,可以在不同的地域同步或異步地組織考試而又集中收發(fā)試卷。網(wǎng)上考試系統(tǒng)的優(yōu)點表現(xiàn)為:保密性強、客觀性較強、迅速準確公平、便于組織大規(guī)模的異地實時考試。隨著計算機技術和互聯(lián)網(wǎng)的發(fā)展,可以通過以互聯(lián)網(wǎng)為基礎的考試模式來實現(xiàn)人們對學習成果的驗收,這就是網(wǎng)絡在線考試。在線考試系統(tǒng)采用了B/S的體系結(jié)構,用ASP.NET 技術開發(fā)在線考試系統(tǒng),以SQL Server 2000作為后臺數(shù)據(jù)庫,通過ADO.NET 技術來連接和訪問數(shù)據(jù)庫,實現(xiàn)了數(shù)據(jù)的快速處理和共享,提高了系統(tǒng)的安全性和可靠性。
2 體系結(jié)構的確定
隨著計算機網(wǎng)絡技術、數(shù)據(jù)庫技術的發(fā)展和Internet/Intranet技術的廣泛應用,管理信息系統(tǒng)的體系結(jié)構發(fā)生了很大的變化,目前主流模式有客戶機/服務器模式(Client/Server ,簡稱C/S)和瀏覽器/服務器模式(Browser/Server,簡稱B/S)兩種,簡要比較如下:
2.1 客戶機/服務器模式(Client/Server,簡稱C/S)
C/S模式由數(shù)據(jù)庫服務器、客戶端應用程序和網(wǎng)絡三部分組成。這種架構的特點是由客戶端向服務器發(fā)出指令,而數(shù)據(jù)的存儲和處理均在服務器上進行。在服務器完成對數(shù)據(jù)的處理后,將運算結(jié)果返回給客戶端,用戶就可以利用安裝在客戶上的應用程序?qū)Y(jié)果進行二次處理。圖1顯示了客戶機/服務器架構的工作特點。
但是,由于客戶機/服務器架構主要是針對局域網(wǎng)的應用環(huán)境設計的,因此適合在企業(yè)內(nèi)部的Intranet 上使用,而無法在Internet上得以高效的應用,外界客戶無法訪問,不利于信息的共享。
2.2 瀏覽器/服務器模式(Browser/Server,簡稱B/S)
B/S模式是一種新興的軟件體系結(jié)構,具體結(jié)構為:瀏覽器/Web服務器/數(shù)據(jù)庫服務器。在B/S模式下,客戶端只需安裝一個瀏覽器軟件(例如微軟的IE),不需要安裝用戶界面應用程序,真正實現(xiàn)了“瘦客戶”,同時簡化了客戶端的操作,降低了企業(yè)的成本。由于B/S模式所有功能都在服務器上實現(xiàn),所以大大降低了系統(tǒng)的維護工作。此外,它還具有分布性強,開發(fā)簡單,共享性強等特點,所以越來越多的信息管理系統(tǒng)考慮使用B/S模式,瀏覽器/服務器實際上是客戶端/服務器架構的延伸,是根據(jù)廣域網(wǎng)的特點對客戶端/服務器架構進行了的改進。圖2為瀏覽器/服務器架構的示意圖。
通過比較我們可以發(fā)現(xiàn)瀏覽器/服務器模式具有下以3個方面的優(yōu)越性:
1) 瀏覽器/服務器架構采用Internet上的標準通信協(xié)議既TCP/IP協(xié)議作為客戶端同服務器的通信協(xié)議,可以是使位于Internet上的任意位置的人都可訪問服務器。
2) 在服務器上對數(shù)據(jù)進行處理并將處理結(jié)果生成網(wǎng)頁,供客戶端直接下載,使得在客戶機上對數(shù)據(jù)的處理被進一步簡化。
3) 由于數(shù)據(jù)的處理,存儲都是在服務器上完成,因此將來對系統(tǒng)的升級都只是對服務器進行。
3 功能模塊的設計
綜合考慮考試系統(tǒng)使用的生命期、性價比、開發(fā)人員掌握相關技術的速度及可移植性、可擴展性等因素,采用.NET 技術,以ASP.NET網(wǎng)絡編程語言作為開發(fā)工具設計了在線考試系統(tǒng)的功能模塊結(jié)構,各模塊的劃分和設計遵循高內(nèi)聚、低耦合的原則??荚囅到y(tǒng)可實現(xiàn)教師在線抽取試卷、批改試卷、發(fā)布答案、編輯題庫、發(fā)布試卷,以及學生在線考試、查詢成績、獲取答案等雙重身份使用的一套在線實現(xiàn)考試的網(wǎng)絡系統(tǒng)。
3.1 數(shù)據(jù)庫的設計
數(shù)據(jù)庫設計是一個軟件項目的重要環(huán)節(jié),在正確分析需求的基礎上,使用規(guī)范化的設計方法對數(shù)據(jù)庫進行概念上和邏輯上的建模,以求客觀準確的反映真實世界。在本系統(tǒng)的數(shù)據(jù)庫設計與實現(xiàn)中,遵循規(guī)范化的數(shù)據(jù)庫設計方法,對實體以及實體間的聯(lián)系進行了認真仔細的劃分,力求符合數(shù)據(jù)庫設計的要求,劃分良好的層次性,增強靈活性,降低數(shù)據(jù)的冗余。
數(shù)據(jù)庫邏輯結(jié)構設計如下:
1) 用戶信息:用戶ID、用戶名、密碼、密碼問題、問題答案、所屬部門、所屬單位、職務等級、職務、是否管理員等。
2) 考試科目信息:科目編號、科目名稱。
3) 新聞信息:新聞編號、新聞標題、新聞內(nèi)容、發(fā)布者、審核人員、發(fā)布時間、審核通過時間等。
4) 題庫信息:題庫編號、題干信息、各選項信息、正確答案等。
5) 考試試卷信息:考試編號、題目數(shù)量、題目對應分值、考試時間、考試創(chuàng)建者(設置者)、審核者、以及考試開始和結(jié)束時間等。
6) 考生信息:考生考號、考試編號、是否通過等。
7) 考試成績信息:考生考號、姓名、考試科目名稱、考試成績等。
4 系統(tǒng)采用的關鍵技術
4.1 Web數(shù)據(jù)庫訪問技術
ASP.NET使用的數(shù)據(jù)庫訪問技術是ADO.NET.ADO.NET提供對Microsoft SQL Server 等數(shù)據(jù)源以及通過OLE DB和XML公開的數(shù)據(jù)源的一致訪問。數(shù)據(jù)共享使應用程序可以使用ADO.NET來連接到這些數(shù)據(jù)源,并檢索、操作和更新數(shù)據(jù)。ADO.NET有效地從數(shù)據(jù)操作中將數(shù)據(jù)訪問分解為多個單獨使用或一前一后使用的不連續(xù)組件。ADO.NET的一個重要優(yōu)點是它是建立在.NET Framework之上的,可以通過任何基于.NET的編程語言都可以直接無縫地使用ADO.NET,ADO.NET主要包括Connection(用于數(shù)據(jù)庫的連接) Command(用于執(zhí)行數(shù)據(jù)庫的命令) DataReader(用于讀取數(shù)據(jù)庫) DataSet(數(shù)據(jù)集) DataAdapter(數(shù)據(jù)庫的適配器,要主用來操作數(shù)據(jù)庫填充DataSet并操作DataSet)等幾個部分。
4.2 Web.Config配置文件的設計
Web.Config文件是一個 XML文件,用來儲存 ASP.NET中 Web應用程序的配置信息。其可以出現(xiàn)在應用程序的每個目錄中,默認情況下會在根目錄自動創(chuàng)建一個默認的 Web.Config文件,包括默認的設置,所有的子目錄都繼承它。此文件是可以擴展的,可以自定義新配置參數(shù)并編寫配置節(jié)處理程序以進行處理。
4.3 后臺服務器和數(shù)據(jù)庫配置
在線考試系統(tǒng)使用IIS6.0作為后臺系統(tǒng)服務器。由于本系統(tǒng)使用了ASP.NET的Session(會話)和Application(應用程序)等對象,因此在配置完系統(tǒng)服務器后,進人Web根目錄,在屬性對話框中的應用和程序設置中,必須創(chuàng)建一個與根目錄同名的應用程序由于SQL Server2000數(shù)據(jù)庫的安全性比較好因此本系統(tǒng)采用SQL Server2000作為后臺數(shù)據(jù)庫。使用ASP.NET技術訪問SQL Server2000數(shù)據(jù)庫有兩種方式:一種是OLE DB方式,另一種是ODBC數(shù)據(jù)源的方式。本系統(tǒng)采用后者。這樣在系統(tǒng)設計前要進行數(shù)據(jù)源名稱DSN(Data Source Name)設置,然后以DSN來啟動數(shù)據(jù)庫。因此用戶在程序中只要使用DNS名稱,系統(tǒng)便會找到對應的ODBC驅(qū)動程序和數(shù)據(jù)庫,從而簡化了程序設計工作。
4.4 防止考生刷新頁面
由于加載試題頁面時將從數(shù)據(jù)庫中隨機抽取試題,所以應防止考生刷新面頁(刷新頁面會重新生成新的試題)。方法是將表studInfo中的LogYn字段默認值設為0,加載試題后設為1,交卷評分后設為2,加載試題頁面時進行相應檢查,以防止頁面的刷新,代碼如下(test.aspx):
Private void Page_Load(object sender,System.EventArgs e)
{if(!IsPostBack)
{QuestCmd.CommandText=\"select LogYn from StuInfo where ExamId='\"+Session[\"Id\"].ToString()\"'\"
QuestConn.Open();
SqlDataReader Quested=QuestCmd.ExecuteReader();
QuestRd.Read();
if(QuestRd[\"LogYn\"].ToString().Trim().Equals(\"I\")||QuestRd[\"LogYn\"].ToString().Trim().Equals(\"2\"))}
//判斷是否加載試題或是否已評分;
{Response.Write(\"\";)
}
else
{QuestCmd.CommandText=\"update.StuIfo set LogYn='1'\";//已成功加載試題
QuestCmd.ExecuteReader();
}}}
4 結(jié)論
整個系統(tǒng)具有較好的實用性和先進性、開放性和擴展性、可靠性和穩(wěn)定性、安全性和共享性,界面友好,操作簡便。
基于B/S模式的在線考試系統(tǒng)真正實現(xiàn)了無紙化在線考試,任何授權的考生隨時隨地都可進行考試,并迅速獲得成績,保證了考試的公正性和合理性,同時大大減輕了教師出題和判卷等繁重的工作量。由于采用了B/S結(jié)構,系統(tǒng)具有良好的可維護性和可擴充性,如果考試科目或課程內(nèi)容有所調(diào)整,只要對題庫作調(diào)整即可。該系統(tǒng)對今后考試改革具有積極的實際指導意義。
參考文獻:
[1] 楊鯤鵬,孟凡琦,溫才.ASP.NET+SQL Server動態(tài)網(wǎng)站開發(fā)從基礎到實踐[M].北京:電子工業(yè)出版社,2006.
[2] 李玉林,王巖.ASP.NET2.0網(wǎng)絡編程從入門到精通[M].北京:清華大學出版社,2007.
[3] 郝春強 C#基礎與實例專教程[M].北京:中國電力出版社,2005.
[4] 徐人鳳.SQL Server 2000數(shù)據(jù)庫及應用[M].北京:高等教育出版社,2004.
[5] 劉振華,何丕廉.C/S與B/S混合模式學生體質(zhì)健康管理系統(tǒng)設計[J].計算機與現(xiàn)代,2008,149(1):98-100.