楊瑞
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 陜西 咸陽(yáng) 712000)
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)應(yīng)用的范圍不斷擴(kuò)大,例如遠(yuǎn)程教育等,這些應(yīng)用逐步被廣大人們所接受。人們較為迫切的需求采用這些計(jì)算機(jī)技術(shù)來(lái)實(shí)現(xiàn)在線考試,以減輕負(fù)擔(dān)和提升效率,進(jìn)一步使考試的質(zhì)量得到提高,這樣會(huì)更加公證、客觀并使得學(xué)生的學(xué)習(xí)積極性得到提高。所以本系統(tǒng)采用較先進(jìn)的.NET開(kāi)發(fā)平臺(tái)、利用B/S模式構(gòu)建三層結(jié)構(gòu)Web應(yīng)用程序的在線考試系統(tǒng)。這樣才能實(shí)現(xiàn)在線考試系統(tǒng)的實(shí)時(shí)、高效、科學(xué)和公開(kāi)透明的特點(diǎn)。
本系統(tǒng)采用面向?qū)ο蠹夹g(shù)設(shè)計(jì),其中業(yè)務(wù)對(duì)象是指完成系統(tǒng)業(yè)務(wù)邏輯的對(duì)象,是系統(tǒng)的核心[1]。面向?qū)ο蠓治觯ㄍǔ?s寫(xiě)為OOA),面向?qū)ο蠓治鲞^(guò)程從分析客戶需求開(kāi)始。在分析客戶需求的過(guò)程中系統(tǒng)分析員反復(fù)多次地與用戶討論、協(xié)商,還要了解現(xiàn)有的類似系統(tǒng),迅速建立起一個(gè)可以在計(jì)算機(jī)上運(yùn)行的模型系統(tǒng),讓用戶試用并聽(tīng)取用戶反饋意見(jiàn),才能更正確地總結(jié)出用戶的需求[2]。
ADO.NET是微軟新一代.NET數(shù)據(jù)庫(kù)的訪問(wèn)架構(gòu),是數(shù)據(jù)庫(kù)應(yīng)用程序和數(shù)據(jù)源之間溝通的橋梁,它提供了一個(gè)面向?qū)ο蟮臄?shù)據(jù)訪問(wèn)架構(gòu),用來(lái)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,ADO.NET具有很多優(yōu)異性,因此成為目前數(shù)據(jù)程序設(shè)計(jì)人員開(kāi)發(fā)數(shù)據(jù)庫(kù)的主要接口[3]。
本系統(tǒng)的開(kāi)發(fā)語(yǔ)言是C#語(yǔ)言。C#語(yǔ)言具有以下突出的特點(diǎn):1)語(yǔ)法簡(jiǎn)潔明了;2)徹底的面向?qū)ο笤O(shè)計(jì);3)良好的兼容性;4)靈活的版本處理技術(shù);5)完善的錯(cuò)誤、異常處理機(jī)制[4]。
本系統(tǒng)研究的主要內(nèi)容:設(shè)計(jì)一個(gè)滿足各種標(biāo)準(zhǔn)化考試題型的、能在不同平臺(tái)上運(yùn)行的網(wǎng)上考試系統(tǒng)。
該系統(tǒng)主要包含以下幾個(gè)功能模塊:1)用戶注冊(cè)管理模塊用來(lái)提交教師和學(xué)生用戶的注冊(cè)信息。2)用戶管理模塊用來(lái)對(duì)教師和學(xué)生注冊(cè)信息的管理。3)角色管理系統(tǒng)管理員模塊賦予用戶不同的角色,并可對(duì)角色的權(quán)限進(jìn)行修改。4)題庫(kù)管理模塊管理所有試題。5)試卷管理模塊生成符合要求的待考試卷并決定考試的時(shí)間和范圍。6)考試報(bào)名模塊審批學(xué)生的考試報(bào)名請(qǐng)求,并發(fā)送考試密碼給己批準(zhǔn)考試的學(xué)生生。7)考生通過(guò)考試模塊參加考試并提交試卷。8)教師通過(guò)判卷模塊批閱試卷并給出成績(jī)。9)學(xué)生可通過(guò)查分模塊功能查看考試得分。10)考試結(jié)果模塊分析幫助教師分析和評(píng)估考試結(jié)果。11)考試監(jiān)控模塊監(jiān)控當(dāng)前所有正在進(jìn)行的考試情況,包括考試科目、考試機(jī)器的地址、考生信息等。12)新聞管理模塊管理用戶對(duì)新聞的瀏覽、發(fā)布、修改等。
本系統(tǒng)研究的目標(biāo)是降低考試成本、減輕教師的工作負(fù)擔(dān)和提高工作效率,讓老師能夠在教學(xué)方法的高進(jìn)和教學(xué)質(zhì)量的提高擁有更充沛的精力和時(shí)間。
本系統(tǒng)采用B/S(瀏覽器/服務(wù)器)模式、采用微軟的.NET技術(shù)構(gòu)建了三層結(jié)構(gòu)的在線考試系統(tǒng),以此來(lái)滿足不同用戶的分布式訪問(wèn),同時(shí)也方便和外界交流信息。
B/S架構(gòu)與C/S架構(gòu)比較有以下優(yōu)勢(shì):1)所有的應(yīng)用軟件均在服務(wù)器上運(yùn)行,客戶機(jī)只需運(yùn)行瀏覽器軟件即可。2)開(kāi)發(fā)工作全部集中在服務(wù)器上,與客戶方無(wú)關(guān),便于以后開(kāi)發(fā)。3)應(yīng)用系統(tǒng)界面均以頁(yè)面的形式出現(xiàn),可以包含文本、圖象、聲音等內(nèi)容,可通過(guò)Internet訪問(wèn)。4)B/S在廣域網(wǎng)的基礎(chǔ)上,借助瀏覽器使系統(tǒng)與用戶之間、用戶與用戶之間的交流更加方便[5]。根據(jù)以上分析,本系統(tǒng)決定采用B/S架構(gòu)作為本系統(tǒng)的體系結(jié)構(gòu)。
本系統(tǒng)的用戶角色有4類:管理員,學(xué)生,訪客,教師。學(xué)生,教師用戶在首次使用系統(tǒng)時(shí)均需經(jīng)過(guò)注冊(cè),經(jīng)管理員確認(rèn)后成為正式用戶。其中教師類角色可根據(jù)具體權(quán)限的不同又可細(xì)分為若干類子角色,系統(tǒng)將教師對(duì)題庫(kù)的訪問(wèn)權(quán)限以課程分配為單位按查看、修改、刪除、增加四種操作進(jìn)行權(quán)限的分配,管理員可建立不同級(jí)別的教師子角色,賦予各子角色不同的權(quán)限,在教師注冊(cè)申請(qǐng)時(shí)分配子角色,并可隨時(shí)更改。所有未登錄用戶均為訪客身份,訪客只能對(duì)系統(tǒng)中的個(gè)別信息進(jìn)行瀏覽,如考試新聞等。
系統(tǒng)功能模塊如圖1所示。
用戶注冊(cè)流程如圖2所示。
圖1 系統(tǒng)功能模塊圖Fig.1 System function module
圖2 用戶注冊(cè)流程圖Fig.2 User registration flow chart
如果用戶已經(jīng)在網(wǎng)站提交了注冊(cè)申請(qǐng),在登錄時(shí)選擇登錄身份,如管理員、教師、學(xué)生,不同身份沒(méi)有相同的用戶名,避免出現(xiàn)同名現(xiàn)象。
4.1.1 系統(tǒng)物理結(jié)構(gòu)設(shè)計(jì)
考生可在校內(nèi)局域網(wǎng)內(nèi)部使用考試系統(tǒng),也可通過(guò)互聯(lián)網(wǎng),透過(guò)局域網(wǎng)本身的外防火墻從遠(yuǎn)程使用系統(tǒng)。考慮到系統(tǒng)的安全性,在局域網(wǎng)內(nèi)為考試系統(tǒng)添加內(nèi)防火墻。
4.1.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)
在線考試系統(tǒng)結(jié)構(gòu)有C/S和B/S兩種,C/S結(jié)構(gòu)需要在客戶端安裝軟件,在部署軟件和升級(jí)時(shí)的費(fèi)用較大。因此,本系統(tǒng)采用B/S三層結(jié)構(gòu),取得了良好的效果,實(shí)現(xiàn)了“瘦客戶端”的系統(tǒng)要求。下圖是系統(tǒng)的邏輯結(jié)構(gòu)圖,其中客戶端是標(biāo)準(zhǔn)瀏覽器,稱為表示層,中間層為應(yīng)用服務(wù)器,底層為數(shù)據(jù)庫(kù)服務(wù)器,稱為數(shù)據(jù)層。如圖3所示。
圖3 系統(tǒng)邏輯結(jié)構(gòu)圖Fig.3 System logic structur
各層功能簡(jiǎn)單說(shuō)明如下:
1)表示層是采用瀏覽器實(shí)現(xiàn)的統(tǒng)一的用戶界面,以表單的形式提供的圖形用戶接口,并顯示服務(wù)器處理所返回的頁(yè)面,是用戶與系統(tǒng)進(jìn)行交互的接口。
2)中間層這一層是在服務(wù)器的承載下,運(yùn)用實(shí)現(xiàn)系統(tǒng)的主要業(yè)務(wù)功能。
3)數(shù)據(jù)層這一層主要是數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器為系統(tǒng)提供數(shù)據(jù)服務(wù)[6]。
數(shù)據(jù)庫(kù)設(shè)計(jì)是創(chuàng)建一個(gè)性能良好、能滿足不同用戶使用要求、又能被選定的所接受的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能有效地存儲(chǔ)數(shù)據(jù),滿足用戶的信息要求和處理要求。邏輯結(jié)構(gòu)表示如下。
數(shù)據(jù)在具體數(shù)據(jù)庫(kù)上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。邏輯結(jié)構(gòu)設(shè)計(jì)的主要內(nèi)容是確定數(shù)據(jù)庫(kù)的數(shù)據(jù)表中具體字段的設(shè)計(jì)。因篇幅所限,下面僅從數(shù)據(jù)庫(kù)中列出答題簡(jiǎn)表和填空?qǐng)D表。答題簡(jiǎn)表如表1所示。
表1 答題簡(jiǎn)表Tab.1 Table answer
填空?qǐng)D表如表2所示。
表2 填空?qǐng)D表Tab.2 Fill in the chart
為降低教師的負(fù)擔(dān)和提高工作效率的需求,本系統(tǒng)采用ADO.NET和ASP.NET技術(shù),利用B/S模式構(gòu)建了三層結(jié)構(gòu)的在線考試管理系統(tǒng)。在編寫(xiě)代碼過(guò)程中使用了面向?qū)ο蟮木幊碳夹g(shù),將系統(tǒng)中的各種實(shí)體包裝為類,系統(tǒng)的屬性和操作抽象為相應(yīng)類的屬性和方法,為以后的系統(tǒng)測(cè)試和維護(hù)工作打下了基礎(chǔ),采用.NET技術(shù)所開(kāi)發(fā)的在線考試管理系統(tǒng)具有良好的可擴(kuò)展性、易維護(hù)性與易操作性,可在系統(tǒng)現(xiàn)有功能的基礎(chǔ)上不斷增加與完善。從系統(tǒng)整個(gè)體系結(jié)構(gòu)來(lái)說(shuō)基本能夠滿足降低考試成本、減輕教師負(fù)擔(dān)和提高工作效率的需求。
[1]蘇貴洋,黃惠.網(wǎng)絡(luò)編程從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社,2005.
[2]朱三元,錢(qián)樂(lè)秋,宿為民.軟件工程技術(shù)概論[M].北京:科技出版社,2003.
[3]曾登高.NET系統(tǒng)架構(gòu)與開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2003.
[4]張振蓮.基于NET的科研管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].西安:西北大學(xué),2005.
[5]張南平,王偉,夏紅霞.基于NET平臺(tái)的B/S應(yīng)用系統(tǒng)的開(kāi)發(fā)框架[J].武漢理工大學(xué)學(xué)報(bào),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動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社,2005.