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

圖1 體系結構圖
基于.NET和的SQL SERVER通用遠程考試系統是一個復雜的綜合系統, 實現教師終端管理系統,如圖2所示,與學生端測試系統,如圖3所示的科學化規范化相結合的過程。系統授權三種登錄身份管理員、教師和考生。系統包括題庫管理、人員管理、組卷、考試、批閱試卷和成績等子系統, 系統總體機構如下圖所示。
教師端:

圖2 老師端管理系統
學生端:

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

圖4 信息視圖
.NET架構能夠開發在臺式機上運行的分布式企業應用程序,這些應用程序通過Internet跨平臺運行,同時具備非常高的性能、伸縮性和健壯性[3]。ASP.NET建立在微軟新一代Microsoft.NET平臺上,為用戶提供強大的企業級Web應用服務編程框架。ADO.NET在Microsoft ADO的基礎上進行改進,他是一種基于標準的編程模型,用于創建分布式、數據共享應用程序。ADO.NET的核心組件是DataSet數據集對象,DataSet提供訪問數據庫的一系列接口,是不依賴于數據庫的獨立的數據集合。
遠程考試系統是一個比較復雜的系統, 包括許多功能模塊,下面是部分代碼的實現。
1)ADO.NET聯接字符串:



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