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