趙芳云
(畢節(jié)學(xué)院 計算機科學(xué)系,畢節(jié) 551700)
隨著互聯(lián)網(wǎng)的飛速發(fā)展和社會信息化水平的不斷提高,計算機網(wǎng)絡(luò)技術(shù)在教育領(lǐng)域的應(yīng)用越來越廣泛,傳統(tǒng)的考試方式正面臨著重大的變革,網(wǎng)絡(luò)考試做為一種先進的考試方式,將成為必然趨勢,開發(fā)一個功能完善的網(wǎng)絡(luò)考試系統(tǒng)有了迫切的市場需求。基于Internet的WEB在線考試系統(tǒng)的開放性、分布性的特點使得考試突破了時間和空間的限制,因此,基于WEB的考試系統(tǒng)正成為當(dāng)前考試系統(tǒng)研究的熱點之一。
傳統(tǒng)的網(wǎng)絡(luò)考試系統(tǒng)很多是基于ASP開發(fā)的, ASP使用VBS/JS這樣的腳本語言混合html來編程,而那些腳本語言屬于弱類型、面向結(jié)構(gòu)的編程語言,而非面向?qū)ο螅@就明顯產(chǎn)生以下幾個問題:1)代碼邏輯混亂,難于管理。2)代碼的可重用性差。3)弱類型造成潛在的出錯可能。那么,ASP.Net有哪些改進呢? ASP.Net和ASP的最大區(qū)別在于編程思維的轉(zhuǎn)換,而不僅僅在于功能的增強。比如封裝性、繼承性、多態(tài)性等等,這就解決了剛才談到的ASP的那些弱點。封裝性使得代碼邏輯清晰,易于管理,并且應(yīng)用到ASP.Net上就可以使業(yè)務(wù)邏輯和Html頁面分離,這樣無論頁面原型如何改變,業(yè)務(wù)邏輯代碼都不必做任何改動;繼承性和多態(tài)性使得代碼的可重用性大大提高,你可以通過繼承已有的對象最大限度保護你以前的投資。并且C#和C++、Java一樣提供了完善的調(diào)試/糾錯體系。
隨著WEB應(yīng)用的復(fù)雜度不斷提高。本系統(tǒng)應(yīng)用了三層結(jié)構(gòu),如圖1所示。也就是表現(xiàn)層、邏輯層、數(shù)據(jù)層[1], 在部署上表現(xiàn)層對應(yīng)WebServer,邏輯層對應(yīng)Application Server, 而數(shù)據(jù)層則對應(yīng)DataBase Server。表現(xiàn)層是用戶直接接觸的層面,包括直接可以看到的功能、界面等。業(yè)務(wù)層集中于事務(wù)的處理過程, 也稱之為中間層。數(shù)據(jù)層集中于數(shù)據(jù)的處理[2]。其體系結(jié)構(gòu)如圖1所示。采用三層結(jié)構(gòu)具有高效、便于開發(fā)與維護、便于今后擴展功能等優(yōu)點。
圖1 體系結(jié)構(gòu)圖
基于.NET和的SQL SERVER通用遠程考試系統(tǒng)是一個復(fù)雜的綜合系統(tǒng), 實現(xiàn)教師終端管理系統(tǒng),如圖2所示,與學(xué)生端測試系統(tǒng),如圖3所示的科學(xué)化規(guī)范化相結(jié)合的過程。系統(tǒng)授權(quán)三種登錄身份管理員、教師和考生。系統(tǒng)包括題庫管理、人員管理、組卷、考試、批閱試卷和成績等子系統(tǒng), 系統(tǒng)總體機構(gòu)如下圖所示。
教師端:
圖2 老師端管理系統(tǒng)
學(xué)生端:
圖3 學(xué)生端測試儀系統(tǒng)
下面以進行遠程考試的流程來說明各子系統(tǒng)功能。
題庫管理和人員管理子系統(tǒng)管理員登錄后進行題庫管理和人員管理。題庫管理子系統(tǒng)包括錄入題目、修改題目和刪除題目, 組卷子系統(tǒng)教師登錄后通過組卷子系統(tǒng)確定試卷的題型種類、題目數(shù)量、題目難度比和知識點分布自動組建所需要的試卷。
人員管理模塊的功能是對考生信息和教師信息帳號以及密碼進行管理。
考卷生成完畢后, 教師確定考試日期、考試時間和參加考試的學(xué)生名單, 并設(shè)定該考生考試的密碼。本系統(tǒng)可以根據(jù)實際情況通過電子表格批量增加加考生,這樣減少了教師錄入考生信息的時間,提高了工作效率。
考試系統(tǒng)學(xué)生在考試時間獲得考試密碼, 通過瀏覽器進行身份驗證登錄后, 輸人正確的試卷編號,在規(guī)定的時間內(nèi)進行答題. 當(dāng)達到規(guī)定的時間后, 系統(tǒng)將自動予以提交。系統(tǒng)自動對客觀題批閱并將答案和分數(shù)存人數(shù)據(jù)庫。
批閱子系統(tǒng)教師登錄進人批閱子系統(tǒng), 對主觀題進行批閱。系統(tǒng)將總分以及各題得分存入數(shù)據(jù)庫。同時還可以把成績導(dǎo)入電子表格,進行成績的統(tǒng)計分析及分類匯總形成成績分析報表。
成績子系統(tǒng)考生通過瀏覽器查詢記錄在庫的標(biāo)準答案和成績。教師通過成績統(tǒng)計系統(tǒng)掌握考試情況, 如計算試卷難度、各分數(shù)段的人數(shù)、百分率、平均分, 對試卷和學(xué)生的成績進行綜合分析和評定, 使得教師更好的掌握學(xué)生的學(xué)習(xí)情況, 以便于在今后的教學(xué)中做出適當(dāng)?shù)恼{(diào)整和改進, 提高教學(xué)效率和教學(xué)質(zhì)量。
該系統(tǒng)的數(shù)據(jù)庫是采用SQL Server 2005,如圖4所示,主要包括試題表、考試信息表、試卷信息表、用戶信息表、成績表等。而對于每次生成的試卷和每個考生的答卷, 數(shù)據(jù)庫都新建一組表存放相應(yīng)數(shù)據(jù)。題目信息和考試信息表如下圖所示。
圖4 信息視圖
.NET架構(gòu)能夠開發(fā)在臺式機上運行的分布式企業(yè)應(yīng)用程序,這些應(yīng)用程序通過Internet跨平臺運行,同時具備非常高的性能、伸縮性和健壯性[3]。ASP.NET建立在微軟新一代Microsoft.NET平臺上,為用戶提供強大的企業(yè)級Web應(yīng)用服務(wù)編程框架。ADO.NET在Microsoft ADO的基礎(chǔ)上進行改進,他是一種基于標(biāo)準的編程模型,用于創(chuàng)建分布式、數(shù)據(jù)共享應(yīng)用程序。ADO.NET的核心組件是DataSet數(shù)據(jù)集對象,DataSet提供訪問數(shù)據(jù)庫的一系列接口,是不依賴于數(shù)據(jù)庫的獨立的數(shù)據(jù)集合。
遠程考試系統(tǒng)是一個比較復(fù)雜的系統(tǒng), 包括許多功能模塊,下面是部分代碼的實現(xiàn)。
1)ADO.NET聯(lián)接字符串:
本文首先在對各種傳統(tǒng)網(wǎng)絡(luò)考試系統(tǒng)的應(yīng)用程序架構(gòu)、開發(fā)技術(shù)和系統(tǒng)特點進行深入分析的基礎(chǔ)上,提出了基于.NET的WEB在線考試系統(tǒng)設(shè)計思路。基于.NET的WEB在線考試系統(tǒng)是典型的B/S架構(gòu)的應(yīng)用程序,安裝使用和維護簡單,在高速網(wǎng)絡(luò)的支持下,可以很好地滿足一般考試需求[4]。 其次,在對基于網(wǎng)絡(luò)的無紙化考試系統(tǒng)需求進行充分分析的基礎(chǔ)上,本文重點研究了考試系統(tǒng)的設(shè)計與實現(xiàn)方案,并對數(shù)據(jù)庫服務(wù)器和WEB應(yīng)用程序設(shè)計過程中的技術(shù)要點進行了分析??荚囅到y(tǒng)主要包括教師的后臺題庫管理、考試管理、成績管理和用戶權(quán)限管理及學(xué)生端WEB登陸測試系統(tǒng)的用戶管理、考試管理、時間管理、試卷上交管理兩大功能模塊。我們采用面向?qū)ο蠓椒▽ο到y(tǒng)進行需求分析、設(shè)計和構(gòu)建系統(tǒng)模型,利用VFP9.0數(shù)據(jù)庫應(yīng)用程序開發(fā)平臺。采用先進的.NET框架下的ASP.NET,實現(xiàn)用戶界面層的設(shè)計,可移植性好、代碼執(zhí)行效率高、與數(shù)據(jù)庫的連接方便[5]。先進的XML技術(shù)提高了系統(tǒng)的跨平臺、可擴展性以及規(guī)范性[6]。服務(wù)器端,系統(tǒng)采用Windows server2003,安全性好、運行穩(wěn)定、管理容易。數(shù)據(jù)庫平臺采用SQL Server2005,使用方便、可伸縮性好、與相關(guān)軟件集成程度高??荚囅到y(tǒng)的總體結(jié)構(gòu)采用基于瀏覽器方式的網(wǎng)絡(luò)三層結(jié)構(gòu)應(yīng)用體系,客戶端運用WEB平臺,提高了系統(tǒng)的易維護性和易用性。
[1] 梅曉勇,顏君彪. 網(wǎng)絡(luò)環(huán)境下的考試系統(tǒng)應(yīng)用設(shè)計與實現(xiàn)[J].計算機工程與應(yīng)用, 2003,(26).
[2] 劉東飛,夏丹.基于_NET的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計與實現(xiàn)[J].福建電腦,2006,5(31):121-122.
[3] 鄧式陽.一種基于Web 的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計[J].山東:濰坊學(xué)院學(xué)報,2005,6(22):27-29.
[4] 言海燕.基于Web技術(shù)的Matlab網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計[J].電腦學(xué)習(xí),2008.2(47):21-22.
[5] Scott Worely.ASP.NET技術(shù)內(nèi)幕[M].北京:人民郵電出版社,2002.
[6] 古凌嵐.基于.Net框架的XML相關(guān)技術(shù)的實現(xiàn)[J].計算機工程與設(shè)計, 2005,7(07):37-38.