楊瑞
(陜西工業職業技術學院 陜西 咸陽 712000)
隨著計算機技術的快速發展,網絡應用的范圍不斷擴大,例如遠程教育等,這些應用逐步被廣大人們所接受。人們較為迫切的需求采用這些計算機技術來實現在線考試,以減輕負擔和提升效率,進一步使考試的質量得到提高,這樣會更加公證、客觀并使得學生的學習積極性得到提高。所以本系統采用較先進的.NET開發平臺、利用B/S模式構建三層結構Web應用程序的在線考試系統。這樣才能實現在線考試系統的實時、高效、科學和公開透明的特點。
本系統采用面向對象技術設計,其中業務對象是指完成系統業務邏輯的對象,是系統的核心[1]。面向對象分析(通常縮寫為OOA),面向對象分析過程從分析客戶需求開始。在分析客戶需求的過程中系統分析員反復多次地與用戶討論、協商,還要了解現有的類似系統,迅速建立起一個可以在計算機上運行的模型系統,讓用戶試用并聽取用戶反饋意見,才能更正確地總結出用戶的需求[2]。
ADO.NET是微軟新一代.NET數據庫的訪問架構,是數據庫應用程序和數據源之間溝通的橋梁,它提供了一個面向對象的數據訪問架構,用來開發數據庫應用程序,ADO.NET具有很多優異性,因此成為目前數據程序設計人員開發數據庫的主要接口[3]。
本系統的開發語言是C#語言。C#語言具有以下突出的特點:1)語法簡潔明了;2)徹底的面向對象設計;3)良好的兼容性;4)靈活的版本處理技術;5)完善的錯誤、異常處理機制[4]。
本系統研究的主要內容:設計一個滿足各種標準化考試題型的、能在不同平臺上運行的網上考試系統。
該系統主要包含以下幾個功能模塊:1)用戶注冊管理模塊用來提交教師和學生用戶的注冊信息。2)用戶管理模塊用來對教師和學生注冊信息的管理。3)角色管理系統管理員模塊賦予用戶不同的角色,并可對角色的權限進行修改。4)題庫管理模塊管理所有試題。5)試卷管理模塊生成符合要求的待考試卷并決定考試的時間和范圍。6)考試報名模塊審批學生的考試報名請求,并發送考試密碼給己批準考試的學生生。7)考生通過考試模塊參加考試并提交試卷。8)教師通過判卷模塊批閱試卷并給出成績。9)學生可通過查分模塊功能查看考試得分。10)考試結果模塊分析幫助教師分析和評估考試結果。11)考試監控模塊監控當前所有正在進行的考試情況,包括考試科目、考試機器的地址、考生信息等。12)新聞管理模塊管理用戶對新聞的瀏覽、發布、修改等。
本系統研究的目標是降低考試成本、減輕教師的工作負擔和提高工作效率,讓老師能夠在教學方法的高進和教學質量的提高擁有更充沛的精力和時間。
本系統采用B/S(瀏覽器/服務器)模式、采用微軟的.NET技術構建了三層結構的在線考試系統,以此來滿足不同用戶的分布式訪問,同時也方便和外界交流信息。
B/S架構與C/S架構比較有以下優勢:1)所有的應用軟件均在服務器上運行,客戶機只需運行瀏覽器軟件即可。2)開發工作全部集中在服務器上,與客戶方無關,便于以后開發。3)應用系統界面均以頁面的形式出現,可以包含文本、圖象、聲音等內容,可通過Internet訪問。4)B/S在廣域網的基礎上,借助瀏覽器使系統與用戶之間、用戶與用戶之間的交流更加方便[5]。根據以上分析,本系統決定采用B/S架構作為本系統的體系結構。
本系統的用戶角色有4類:管理員,學生,訪客,教師。學生,教師用戶在首次使用系統時均需經過注冊,經管理員確認后成為正式用戶。其中教師類角色可根據具體權限的不同又可細分為若干類子角色,系統將教師對題庫的訪問權限以課程分配為單位按查看、修改、刪除、增加四種操作進行權限的分配,管理員可建立不同級別的教師子角色,賦予各子角色不同的權限,在教師注冊申請時分配子角色,并可隨時更改。所有未登錄用戶均為訪客身份,訪客只能對系統中的個別信息進行瀏覽,如考試新聞等。
系統功能模塊如圖1所示。
用戶注冊流程如圖2所示。

圖1 系統功能模塊圖Fig.1 System function module

圖2 用戶注冊流程圖Fig.2 User registration flow chart
如果用戶已經在網站提交了注冊申請,在登錄時選擇登錄身份,如管理員、教師、學生,不同身份沒有相同的用戶名,避免出現同名現象。
4.1.1 系統物理結構設計
考生可在校內局域網內部使用考試系統,也可通過互聯網,透過局域網本身的外防火墻從遠程使用系統。考慮到系統的安全性,在局域網內為考試系統添加內防火墻。
4.1.2 系統邏輯結構設計
在線考試系統結構有C/S和B/S兩種,C/S結構需要在客戶端安裝軟件,在部署軟件和升級時的費用較大。因此,本系統采用B/S三層結構,取得了良好的效果,實現了“瘦客戶端”的系統要求。下圖是系統的邏輯結構圖,其中客戶端是標準瀏覽器,稱為表示層,中間層為應用服務器,底層為數據庫服務器,稱為數據層。如圖3所示。

圖3 系統邏輯結構圖Fig.3 System logic structur
各層功能簡單說明如下:
1)表示層是采用瀏覽器實現的統一的用戶界面,以表單的形式提供的圖形用戶接口,并顯示服務器處理所返回的頁面,是用戶與系統進行交互的接口。
2)中間層這一層是在服務器的承載下,運用實現系統的主要業務功能。
3)數據層這一層主要是數據庫服務器。數據庫服務器為系統提供數據服務[6]。
數據庫設計是創建一個性能良好、能滿足不同用戶使用要求、又能被選定的所接受的數據庫模式,建立數據庫及其應用系統,使之能有效地存儲數據,滿足用戶的信息要求和處理要求。邏輯結構表示如下。
數據在具體數據庫上的存儲結構與存取方法稱為數據庫的邏輯結構。邏輯結構設計的主要內容是確定數據庫的數據表中具體字段的設計。因篇幅所限,下面僅從數據庫中列出答題簡表和填空圖表。答題簡表如表1所示。

表1 答題簡表Tab.1 Table answer
填空圖表如表2所示。

表2 填空圖表Tab.2 Fill in the chart
為降低教師的負擔和提高工作效率的需求,本系統采用ADO.NET和ASP.NET技術,利用B/S模式構建了三層結構的在線考試管理系統。在編寫代碼過程中使用了面向對象的編程技術,將系統中的各種實體包裝為類,系統的屬性和操作抽象為相應類的屬性和方法,為以后的系統測試和維護工作打下了基礎,采用.NET技術所開發的在線考試管理系統具有良好的可擴展性、易維護性與易操作性,可在系統現有功能的基礎上不斷增加與完善。從系統整個體系結構來說基本能夠滿足降低考試成本、減輕教師負擔和提高工作效率的需求。
[1]蘇貴洋,黃惠.網絡編程從基礎到實踐[M].北京:電子工業出版社,2005.
[2]朱三元,錢樂秋,宿為民.軟件工程技術概論[M].北京:科技出版社,2003.
[3]曾登高.NET系統架構與開發[M].北京:電子工業出版社,2003.
[4]張振蓮.基于NET的科研管理系統的設計與實現 [D].西安:西北大學,2005.
[5]張南平,王偉,夏紅霞.基于NET平臺的B/S應用系統的開發框架[J].武漢理工大學學報,2004,2(1):42.
ZHANG Nan-ping,WANG Wei,XIA Hong-xia.Based on the.NET platform B/S application system development framework[J].Journal of Wuhan University,2004,2(1):42.
[6]楊鯤鵬,孟凡琦,溫才焱.ASP.NET+SQL Server 2005動態網站開發從基礎到實踐[M].北京:電子工業出版社,2005.