趙芳云
(畢節(jié)學(xué)院 計(jì)算機(jī)科學(xué)系,畢節(jié) 551700)
隨著互聯(lián)網(wǎng)的飛速發(fā)展和社會(huì)信息化水平的不斷提高,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)在教育領(lǐng)域的應(yīng)用越來(lái)越廣泛,傳統(tǒng)的考試方式正面臨著重大的變革,網(wǎng)絡(luò)考試做為一種先進(jìn)的考試方式,將成為必然趨勢(shì),開(kāi)發(fā)一個(gè)功能完善的網(wǎng)絡(luò)考試系統(tǒng)有了迫切的市場(chǎng)需求?;贗nternet的WEB在線(xiàn)考試系統(tǒng)的開(kāi)放性、分布性的特點(diǎn)使得考試突破了時(shí)間和空間的限制,因此,基于WEB的考試系統(tǒng)正成為當(dāng)前考試系統(tǒng)研究的熱點(diǎn)之一。
傳統(tǒng)的網(wǎng)絡(luò)考試系統(tǒng)很多是基于ASP開(kāi)發(fā)的, ASP使用VBS/JS這樣的腳本語(yǔ)言混合html來(lái)編程,而那些腳本語(yǔ)言屬于弱類(lèi)型、面向結(jié)構(gòu)的編程語(yǔ)言,而非面向?qū)ο?,這就明顯產(chǎn)生以下幾個(gè)問(wèn)題:1)代碼邏輯混亂,難于管理。2)代碼的可重用性差。3)弱類(lèi)型造成潛在的出錯(cuò)可能。那么,ASP.Net有哪些改進(jìn)呢? ASP.Net和ASP的最大區(qū)別在于編程思維的轉(zhuǎn)換,而不僅僅在于功能的增強(qiáng)。比如封裝性、繼承性、多態(tài)性等等,這就解決了剛才談到的ASP的那些弱點(diǎn)。封裝性使得代碼邏輯清晰,易于管理,并且應(yīng)用到ASP.Net上就可以使業(yè)務(wù)邏輯和Html頁(yè)面分離,這樣無(wú)論頁(yè)面原型如何改變,業(yè)務(wù)邏輯代碼都不必做任何改動(dòng);繼承性和多態(tài)性使得代碼的可重用性大大提高,你可以通過(guò)繼承已有的對(duì)象最大限度保護(hù)你以前的投資。并且C#和C++、Java一樣提供了完善的調(diào)試/糾錯(cuò)體系。
隨著WEB應(yīng)用的復(fù)雜度不斷提高。本系統(tǒng)應(yīng)用了三層結(jié)構(gòu),如圖1所示。也就是表現(xiàn)層、邏輯層、數(shù)據(jù)層[1], 在部署上表現(xiàn)層對(duì)應(yīng)WebServer,邏輯層對(duì)應(yīng)Application Server, 而數(shù)據(jù)層則對(duì)應(yīng)DataBase Server。表現(xiàn)層是用戶(hù)直接接觸的層面,包括直接可以看到的功能、界面等。業(yè)務(wù)層集中于事務(wù)的處理過(guò)程, 也稱(chēng)之為中間層。數(shù)據(jù)層集中于數(shù)據(jù)的處理[2]。其體系結(jié)構(gòu)如圖1所示。采用三層結(jié)構(gòu)具有高效、便于開(kāi)發(fā)與維護(hù)、便于今后擴(kuò)展功能等優(yōu)點(diǎn)。

圖1 體系結(jié)構(gòu)圖
基于.NET和的SQL SERVER通用遠(yuǎn)程考試系統(tǒng)是一個(gè)復(fù)雜的綜合系統(tǒng), 實(shí)現(xiàn)教師終端管理系統(tǒng),如圖2所示,與學(xué)生端測(cè)試系統(tǒng),如圖3所示的科學(xué)化規(guī)范化相結(jié)合的過(guò)程。系統(tǒng)授權(quán)三種登錄身份管理員、教師和考生。系統(tǒng)包括題庫(kù)管理、人員管理、組卷、考試、批閱試卷和成績(jī)等子系統(tǒng), 系統(tǒng)總體機(jī)構(gòu)如下圖所示。
教師端:

圖2 老師端管理系統(tǒng)
學(xué)生端:

圖3 學(xué)生端測(cè)試儀系統(tǒng)
下面以進(jìn)行遠(yuǎn)程考試的流程來(lái)說(shuō)明各子系統(tǒng)功能。
題庫(kù)管理和人員管理子系統(tǒng)管理員登錄后進(jìn)行題庫(kù)管理和人員管理。題庫(kù)管理子系統(tǒng)包括錄入題目、修改題目和刪除題目, 組卷子系統(tǒng)教師登錄后通過(guò)組卷子系統(tǒng)確定試卷的題型種類(lèi)、題目數(shù)量、題目難度比和知識(shí)點(diǎn)分布自動(dòng)組建所需要的試卷。
人員管理模塊的功能是對(duì)考生信息和教師信息帳號(hào)以及密碼進(jìn)行管理。
考卷生成完畢后, 教師確定考試日期、考試時(shí)間和參加考試的學(xué)生名單, 并設(shè)定該考生考試的密碼。本系統(tǒng)可以根據(jù)實(shí)際情況通過(guò)電子表格批量增加加考生,這樣減少了教師錄入考生信息的時(shí)間,提高了工作效率。
考試系統(tǒng)學(xué)生在考試時(shí)間獲得考試密碼, 通過(guò)瀏覽器進(jìn)行身份驗(yàn)證登錄后, 輸人正確的試卷編號(hào),在規(guī)定的時(shí)間內(nèi)進(jìn)行答題. 當(dāng)達(dá)到規(guī)定的時(shí)間后, 系統(tǒng)將自動(dòng)予以提交。系統(tǒng)自動(dòng)對(duì)客觀題批閱并將答案和分?jǐn)?shù)存人數(shù)據(jù)庫(kù)。
批閱子系統(tǒng)教師登錄進(jìn)人批閱子系統(tǒng), 對(duì)主觀題進(jìn)行批閱。系統(tǒng)將總分以及各題得分存入數(shù)據(jù)庫(kù)。同時(shí)還可以把成績(jī)導(dǎo)入電子表格,進(jìn)行成績(jī)的統(tǒng)計(jì)分析及分類(lèi)匯總形成成績(jī)分析報(bào)表。
成績(jī)子系統(tǒng)考生通過(guò)瀏覽器查詢(xún)記錄在庫(kù)的標(biāo)準(zhǔn)答案和成績(jī)。教師通過(guò)成績(jī)統(tǒng)計(jì)系統(tǒng)掌握考試情況, 如計(jì)算試卷難度、各分?jǐn)?shù)段的人數(shù)、百分率、平均分, 對(duì)試卷和學(xué)生的成績(jī)進(jìn)行綜合分析和評(píng)定, 使得教師更好的掌握學(xué)生的學(xué)習(xí)情況, 以便于在今后的教學(xué)中做出適當(dāng)?shù)恼{(diào)整和改進(jìn), 提高教學(xué)效率和教學(xué)質(zhì)量。
該系統(tǒng)的數(shù)據(jù)庫(kù)是采用SQL Server 2005,如圖4所示,主要包括試題表、考試信息表、試卷信息表、用戶(hù)信息表、成績(jī)表等。而對(duì)于每次生成的試卷和每個(gè)考生的答卷, 數(shù)據(jù)庫(kù)都新建一組表存放相應(yīng)數(shù)據(jù)。題目信息和考試信息表如下圖所示。

圖4 信息視圖
.NET架構(gòu)能夠開(kāi)發(fā)在臺(tái)式機(jī)上運(yùn)行的分布式企業(yè)應(yīng)用程序,這些應(yīng)用程序通過(guò)Internet跨平臺(tái)運(yùn)行,同時(shí)具備非常高的性能、伸縮性和健壯性[3]。ASP.NET建立在微軟新一代Microsoft.NET平臺(tái)上,為用戶(hù)提供強(qiáng)大的企業(yè)級(jí)Web應(yīng)用服務(wù)編程框架。ADO.NET在Microsoft ADO的基礎(chǔ)上進(jìn)行改進(jìn),他是一種基于標(biāo)準(zhǔn)的編程模型,用于創(chuàng)建分布式、數(shù)據(jù)共享應(yīng)用程序。ADO.NET的核心組件是DataSet數(shù)據(jù)集對(duì)象,DataSet提供訪問(wèn)數(shù)據(jù)庫(kù)的一系列接口,是不依賴(lài)于數(shù)據(jù)庫(kù)的獨(dú)立的數(shù)據(jù)集合。
遠(yuǎn)程考試系統(tǒng)是一個(gè)比較復(fù)雜的系統(tǒng), 包括許多功能模塊,下面是部分代碼的實(shí)現(xiàn)。
1)ADO.NET聯(lián)接字符串:



本文首先在對(duì)各種傳統(tǒng)網(wǎng)絡(luò)考試系統(tǒng)的應(yīng)用程序架構(gòu)、開(kāi)發(fā)技術(shù)和系統(tǒng)特點(diǎn)進(jìn)行深入分析的基礎(chǔ)上,提出了基于.NET的WEB在線(xiàn)考試系統(tǒng)設(shè)計(jì)思路?;?NET的WEB在線(xiàn)考試系統(tǒng)是典型的B/S架構(gòu)的應(yīng)用程序,安裝使用和維護(hù)簡(jiǎn)單,在高速網(wǎng)絡(luò)的支持下,可以很好地滿(mǎn)足一般考試需求[4]。 其次,在對(duì)基于網(wǎng)絡(luò)的無(wú)紙化考試系統(tǒng)需求進(jìn)行充分分析的基礎(chǔ)上,本文重點(diǎn)研究了考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案,并對(duì)數(shù)據(jù)庫(kù)服務(wù)器和WEB應(yīng)用程序設(shè)計(jì)過(guò)程中的技術(shù)要點(diǎn)進(jìn)行了分析。考試系統(tǒng)主要包括教師的后臺(tái)題庫(kù)管理、考試管理、成績(jī)管理和用戶(hù)權(quán)限管理及學(xué)生端WEB登陸測(cè)試系統(tǒng)的用戶(hù)管理、考試管理、時(shí)間管理、試卷上交管理兩大功能模塊。我們采用面向?qū)ο蠓椒▽?duì)系統(tǒng)進(jìn)行需求分析、設(shè)計(jì)和構(gòu)建系統(tǒng)模型,利用VFP9.0數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)平臺(tái)。采用先進(jìn)的.NET框架下的ASP.NET,實(shí)現(xiàn)用戶(hù)界面層的設(shè)計(jì),可移植性好、代碼執(zhí)行效率高、與數(shù)據(jù)庫(kù)的連接方便[5]。先進(jìn)的XML技術(shù)提高了系統(tǒng)的跨平臺(tái)、可擴(kuò)展性以及規(guī)范性[6]。服務(wù)器端,系統(tǒng)采用Windows server2003,安全性好、運(yùn)行穩(wěn)定、管理容易。數(shù)據(jù)庫(kù)平臺(tái)采用SQL Server2005,使用方便、可伸縮性好、與相關(guān)軟件集成程度高。考試系統(tǒng)的總體結(jié)構(gòu)采用基于瀏覽器方式的網(wǎng)絡(luò)三層結(jié)構(gòu)應(yīng)用體系,客戶(hù)端運(yùn)用WEB平臺(tái),提高了系統(tǒng)的易維護(hù)性和易用性。
[1] 梅曉勇,顏君彪. 網(wǎng)絡(luò)環(huán)境下的考試系統(tǒng)應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用, 2003,(26).
[2] 劉東飛,夏丹.基于_NET的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].福建電腦,2006,5(31):121-122.
[3] 鄧式陽(yáng).一種基于Web 的網(wǎng)絡(luò)考試系統(tǒng)設(shè)計(jì)[J].山東:濰坊學(xué)院學(xué)報(bào),2005,6(22):27-29.
[4] 言海燕.基于Web技術(shù)的Matlab網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)[J].電腦學(xué)習(xí),2008.2(47):21-22.
[5] Scott Worely.ASP.NET技術(shù)內(nèi)幕[M].北京:人民郵電出版社,2002.
[6] 古凌嵐.基于.Net框架的XML相關(guān)技術(shù)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2005,7(07):37-38.