論基于B/S的網(wǎng)上考試系統(tǒng)的設(shè)計和實現(xiàn)
隨著網(wǎng)絡(luò)的普及和對教育的重視,各院校各學(xué)科的網(wǎng)上考試都具有了必要的使用環(huán)境。但是,目前國內(nèi)的一些網(wǎng)絡(luò)教學(xué)系統(tǒng)的主要功能是教學(xué),不能單獨(dú)作為考試平臺,通用性差,而且系統(tǒng)中對主觀題的評閱多是采用人工評閱方式,沒有實現(xiàn)真正意義上的自動評分。另一方面,我們所在院校的計算機(jī)基礎(chǔ)課已開設(shè)了多年,但尚在沿用傳統(tǒng)的考試形式或使用單機(jī)版的考試系統(tǒng)?;赪eb的網(wǎng)上考試系統(tǒng)的設(shè)計和實現(xiàn)就是基于上述目的開發(fā)設(shè)計的。
本系統(tǒng)采用B/S架構(gòu)作為系統(tǒng)的總體結(jié)構(gòu),以Web數(shù)據(jù)庫技術(shù)為依托,利用微軟的ASP.NET技術(shù),結(jié)合ADO,實現(xiàn)了對Web數(shù)據(jù)庫的訪問和查詢。該設(shè)計實現(xiàn)了按題型隨機(jī)抽題組卷、在線考試、題庫管理、系統(tǒng)管理的功能,能夠?qū)陀^題在線評分。學(xué)生用學(xué)號登錄成功后,閱讀考試須知,之后選擇考試科目進(jìn)入考試頁面,完成相應(yīng)科目考試,自動給出考試成績。系統(tǒng)管理,實現(xiàn)了對題庫、考生信息、考試成績、考試科目的管理。題庫管理,實現(xiàn)了對試題的添加、編輯、刪除功能;考生信息管理可以添加、修改、刪除、查詢考生信息,成績管理可以刪除成績信息,科目管理主要是修改考試科目信息。
基于Web的網(wǎng)上考試系統(tǒng)本身是一個很大的系統(tǒng),尤其試題庫部分需要許多人的參和以及大量的投入才能建成。該系統(tǒng)雖然僅僅是完成《計算機(jī)文化基礎(chǔ)》和《操作系統(tǒng)》課程的考試,但卻具有良好的實用性和通用性,提供友好的人機(jī)界面,具有較好的可擴(kuò)充性和開放性。
1 緒論
1.1 網(wǎng)上考試系統(tǒng)的目前狀況分析
在信息技術(shù)迅速發(fā)展的今天,網(wǎng)絡(luò)對于大多數(shù)人已不再生疏,并且其應(yīng)用在人們的工作、學(xué)習(xí)和生活中越來越多地發(fā)揮著不可替代的功能。近年來隨著軟件工程技術(shù)、信息通信技術(shù)的快速發(fā)展以及計算機(jī)網(wǎng)絡(luò)技術(shù)的日趨成熟,網(wǎng)絡(luò)教育在人們的教育活動中逐步得到普及。網(wǎng)上考試是網(wǎng)絡(luò)教育不可缺少的組成部分,是網(wǎng)絡(luò)教育的一個重要環(huán)節(jié)。
網(wǎng)上考試在國外一些國家已經(jīng)得到了蓬勃發(fā)展,人們選學(xué)課程和考試都是通過網(wǎng)上進(jìn)行的。例如國外一些聞名的考試,如Microsoft公司的MCSE(Microsoft系統(tǒng)工程師認(rèn)證考試)、GMAT(工商管理碩士入學(xué)考試)、托??荚嚒RE(美國探究生入學(xué)考試)等,都是采用網(wǎng)上考試的形式進(jìn)行的。
在國內(nèi),目前絕大多數(shù)考試還停留在傳統(tǒng)考試方式上,對互聯(lián)網(wǎng)的真正應(yīng)用僅限于一些考試的網(wǎng)上報名工作和網(wǎng)上成績查詢,還沒有真正形成網(wǎng)上考試規(guī)模。網(wǎng)上考試系統(tǒng)作為現(xiàn)代教育的一個子系統(tǒng),是保證教育教學(xué)質(zhì)量的重要手段。在傳統(tǒng)的考試方式下,組織一次考試要經(jīng)過出題、考試、評卷、試卷分析等步驟,隨著考試類型的增加及考試要求的提高,教師的工作量將會越來越大,并且其工作非常輕易出錯,在一定程度上說,傳統(tǒng)的考試方式已經(jīng)存在著改革的必要了。Internet技術(shù)的發(fā)展使得考試的技術(shù)手段和載體發(fā)生了劃時代的變化,考試從傳統(tǒng)的紙筆考試到計算機(jī)輔助考試再發(fā)展到基于Web的網(wǎng)上考試成為現(xiàn)實。
現(xiàn)階段,網(wǎng)上考試系統(tǒng)的主流開發(fā)技術(shù)已經(jīng)相當(dāng)成熟,且很好地適應(yīng)了動態(tài)站點設(shè)計和基于Web的數(shù)據(jù)庫訪問的要求,是當(dāng)前網(wǎng)上考試軟件實現(xiàn)的主流技術(shù)之一。在對大量有關(guān)網(wǎng)上考試系統(tǒng)資料的探究和學(xué)習(xí)后,根據(jù)工作的需要,針對本校實際情況非凡是教學(xué)的需求,利用學(xué)校校園網(wǎng)已有的基礎(chǔ)條件,探究開發(fā)適合本校使用的基于Web的網(wǎng)上考試系統(tǒng)。
1.2 選題的背景及探究意義
隨著計算機(jī)科學(xué)、網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,在教育領(lǐng)域里,實現(xiàn)網(wǎng)上考試可以充分利用學(xué)?,F(xiàn)有的計算機(jī)軟、硬件資源和網(wǎng)絡(luò)資源實現(xiàn)考試;對于客觀題由計算機(jī)來完成閱卷,可以將減少人工閱卷的工作量。
目前常用的網(wǎng)上考試系統(tǒng)主要有兩種基本模式摘要:傳統(tǒng)的C/S(客戶機(jī)/服務(wù)器)模式和新型的B/S(瀏覽器/服務(wù)器)模式,所謂C/S模式,即數(shù)據(jù)庫(比如,試題庫)內(nèi)容放在遠(yuǎn)程的服務(wù)器上,在客戶機(jī)上安裝相應(yīng)軟件;C/S結(jié)構(gòu)在技術(shù)上雖然很成熟,但該結(jié)構(gòu)的程序往往只局限在小型的局域網(wǎng)內(nèi)部,不利于擴(kuò)展。并且,該結(jié)構(gòu)的每臺客戶機(jī)都需要安裝相應(yīng)的客戶端程序。當(dāng)擁有用戶量比較多時,假如采用該結(jié)構(gòu),系統(tǒng)的安裝和維護(hù)工作比較繁重。同時,由于應(yīng)用程序直接安裝在客戶機(jī),客戶機(jī)直接和數(shù)據(jù)庫服務(wù)器交換數(shù)據(jù),系統(tǒng)的平安性也受到一定影響。和傳統(tǒng)的基于C/S模式的網(wǎng)上考試系統(tǒng)相比,B/S體系將應(yīng)用邏輯和用戶界面和數(shù)據(jù)訪問相分離,使系統(tǒng)的維護(hù)變得簡單(只需要改變網(wǎng)頁,即可實現(xiàn)所有用戶的同步更新),同時簡化了客戶端的功能,用戶只需瀏覽器即可使用此考試系統(tǒng),更適宜于互聯(lián)網(wǎng)上的考試。
在信息網(wǎng)絡(luò)化的現(xiàn)實面前,我們提出一種基于Web的網(wǎng)上考試系統(tǒng),并用SQL Sever 2000數(shù)據(jù)庫和ASP.NET技術(shù)結(jié)合進(jìn)行了該系統(tǒng)的開發(fā)。
1.3 系統(tǒng)基本簡介
我們課題組所做的工作不僅僅是參和開發(fā)一個完整的在線考試系統(tǒng),也是一個引導(dǎo)性的基礎(chǔ)探究,是對.net平臺下基于B/S結(jié)構(gòu)的軟件體系結(jié)構(gòu)、關(guān)鍵技術(shù)、實現(xiàn)技術(shù)、框架解決方案進(jìn)行的探索。
本系統(tǒng)采用ASP.NET、HTML、Javascript、VBscript、圖形編輯和數(shù)據(jù)庫等工具,通過基于WEB服務(wù)器訪問WEB頁面,可以不受地點,時間限制,通過寬帶上網(wǎng)或其它上網(wǎng)方式,借助Internet這一強(qiáng)大、方便的工具,考生可以在互聯(lián)網(wǎng)上通過瀏覽器來選擇科目、參加考試,管理員可以在互聯(lián)網(wǎng)上通過瀏覽器來添加、修改學(xué)生信息,添加、修改、刪除試題,修改考試科目信息,管理學(xué)生成績;同時還實現(xiàn)有學(xué)生信息查詢功能摘要:按班級、學(xué)號、姓名等關(guān)鍵字查詢,實現(xiàn)對整個系統(tǒng)的管理功能。
系統(tǒng)的主界面主要有考生、管理員入口,根據(jù)用戶類型,分別進(jìn)入考試和管理兩個不同的頁面。其最大的特征是開放性、方便性和靈活性。
2 系統(tǒng)的關(guān)鍵技術(shù)及介紹
在《基于Web的網(wǎng)上考試系統(tǒng)》的設(shè)計過程中,主要考慮了以下幾方面的新問題摘要:
(1) ASP.NET技術(shù);
(2) 建立數(shù)據(jù)庫,使用SQL Sever 2000來建立;
(3) 選擇系統(tǒng)的開發(fā)模式,B/S模式;
(4) ADO.NET對象模型;
(5) 系統(tǒng)數(shù)據(jù)庫設(shè)計。
2.1 ASP.NET技術(shù)概況
ASP.NET是微軟公司推出的一種Internet編程技術(shù),它采用效率較高的、面向?qū)ο蟮姆椒▉韯?chuàng)建動態(tài)Web應(yīng)用程序。在原來的ASP技術(shù)中,服務(wù)器端代碼和客戶端HTML混合在一起,經(jīng)常導(dǎo)致頁面的代碼冗長而復(fù)雜,程序的邏輯難以理解。ASP.NET是一種獨(dú)立于瀏覽器的編程模型,可以在最新版本的IE、NetscapeNavigator以及諸如Opera等被廣泛使用的瀏覽器上運(yùn)行。
ASP.NET是一種建立在通用語言上的程序構(gòu)架。一個已編譯的、基于.NET的環(huán)境,把基于通用語言的程序在服務(wù)器上運(yùn)行。將程序在服務(wù)器端首次運(yùn)行時進(jìn)行編譯,比ASP即時解釋程序速度上要快很多。微軟公司發(fā)布了包括Visual Basic.NET、C#.NET、Visual C++.NET等和.NET兼容的語言來創(chuàng)作應(yīng)用程序。
2.1.1 ASP.NET的優(yōu)勢
ASP.NET是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫代碼,它可利用早期綁定、實時編譯、本機(jī)優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。
1)世界級的工具支持
ASP.NET框架補(bǔ)充了Visual Studio集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG編輯、拖放服務(wù)器控件和自動部署只是這個強(qiáng)大的工具所提供功能中的少數(shù)幾種。
2)可管理性
ASP.NET采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和Web應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴(kuò)展到了ASP.NET框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將ASP.NET框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運(yùn)行的編譯代碼時。
3)可縮放性和可用性
ASP.NET在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進(jìn)程受到ASP.NET運(yùn)行庫的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進(jìn)程,以幫助保持應(yīng)用程序始終可用于處理請求。
4)自定義性和擴(kuò)展性
ASP.NET隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴(kuò)展或替換吉林大學(xué)碩士學(xué)位論文ASP.NET運(yùn)行庫的任何子組件。
5)威力和靈活性
由于ASP.NET基于公共語言運(yùn)行庫,因此Web應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。Microsoft.NET框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從Web無縫訪問。ASP.NET也和語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運(yùn)行庫的交互性保證在遷移到ASP.NET時保留基于COM的開發(fā)中的現(xiàn)有投資。
6)簡易性
ASP.NET使執(zhí)行常見任務(wù)變得輕易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET頁框架使您可以生成將應(yīng)用程序邏輯和表示代碼清楚分開的用戶界面,和在類似Visual Basic的簡單窗體處理模型中處理事件并不相同。另外,公共語言運(yùn)行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。
7)平安性
借助內(nèi)置的Windows身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是平安的。
2.1.2 常用到的ASP.NET內(nèi)置對象
Application對象摘要:對整個ASP.NET執(zhí)行環(huán)境而言,一個虛擬目錄下的所有ASP.NET程序構(gòu)成了一個Web應(yīng)用程序。在多任務(wù)執(zhí)行的情況下,來自四面八方的眾多用戶可能執(zhí)行同一個Web應(yīng)用程序,這便依靠Application對象。常用到的場合摘要:聊天室、網(wǎng)頁計數(shù)器等。
Request對象摘要:獲取從客戶瀏覽器傳給服務(wù)器端的數(shù)據(jù),如接收來自表單的數(shù)據(jù)。
Response對象摘要:Request對象和Response對象就像一般程序語言里的Input及Output命令,若要讓服務(wù)器端的ASP.NET程序能夠接收來自客戶端的信息,須用Request對象;若想將服務(wù)器端的信息傳遞給客戶端,須用Response對象。
Session對象摘要:Session對象和Application對象極為類似,但Session對象的信息只適用于同一位用戶,換句話說,一個Session對象只屬于一位用戶。常用到的場合摘要:虛擬購物車、用戶登陸網(wǎng)站時用戶名的臨時存儲等。