朱巍 ,譚峰
(1.黑龍江八一農(nóng)墾大學信息技術(shù)學院,大慶 163319;2.黑龍江省人事考試中心)
在計算機網(wǎng)絡(luò)應(yīng)用技術(shù)逐漸滲入社會生活各個層面的今天,無紙化考試與無紙化辦公一樣已成為大勢所趨。無紙化考試也越來越成為各學校、企業(yè)和事業(yè)單位考核學生與員工的一種趨勢,它的優(yōu)勢不但體現(xiàn)在人力上也體現(xiàn)在物力上,無紙化考試系統(tǒng)的自動評閱、計分、成績存檔功能將有效地避免資源的浪費,有利于環(huán)保,減少人力,提高效率。傳統(tǒng)的考試方式也面臨著變革,而網(wǎng)絡(luò)考試則是一個很重要的方向。試卷可以根據(jù)題庫中的內(nèi)容即時生成,可避免考試前的壓題;而且可以采用大量標準化試題,從而使用計算機閱卷,大大提高閱卷效率;還可以直接把成績送到數(shù)據(jù)庫中,進行統(tǒng)計、排序等操作。所以現(xiàn)在較好的考試方法為網(wǎng)絡(luò)考試,試題內(nèi)容放在服務(wù)器上,考生通過姓名、準考證號碼和口令進行登錄,考試答案也存放在服務(wù)器中,這樣考試的公平性、答案的安全性可以得到有效的保證。因此,采用網(wǎng)絡(luò)考試方式將是以后考試發(fā)展的趨勢[1]。
計算機應(yīng)用是每一個大學生必須具備的能力,這是每一個大學生必修的課程,因為學生量大,因此各高校一般采用傳統(tǒng)的紙制試卷考試方式,考試監(jiān)考、閱卷繁雜,需要大量的教師,且易出錯,效率低下。采用高校局域網(wǎng)考試系統(tǒng)不僅或以節(jié)省大量的人力、物力和財力,而且極大地提高了考試進程及效率。
根據(jù)高??荚囈?,為保障考試的順利進行,系統(tǒng)應(yīng)具備下列功能[2]:
(1)考生通過局域網(wǎng)進行考試,考生登陸后自動從服務(wù)器上讀取試題并答題,考試結(jié)束后將試卷及答案通過局域網(wǎng)回傳給服務(wù)器。
(2)教師可以事先或考前制定考試方案,并根據(jù)考試方案以自動或手動方式從題庫中選出符合要求的試題生成電子考試試卷,快速搭建考試平臺。
(3)管理員能通過服務(wù)器進行試卷分發(fā),并能控制整個考試的流程。
根據(jù)系統(tǒng)功能要求,將系統(tǒng)分為服務(wù)器端和客戶端兩部分。服務(wù)器端主要負責考生信息管理、試題庫管理、試卷信息管理、數(shù)據(jù)庫備份及考試控制等,其功能模塊圖如圖1 所示。
圖1 服務(wù)器端功能模塊圖Fig.1 The function models in server side
客戶端主要負責為考生提供一個友好的答題界面,并在答題完畢后將答案提交回傳給服務(wù)器,其工作流程為:登錄→答題→交卷。
系統(tǒng)采用C/S 三層結(jié)構(gòu)開發(fā),采用Microsoft SQL Server2000 作為其數(shù)據(jù)庫,采用.NET Remoting 技術(shù)實現(xiàn)了遠程分布式開發(fā)與通信處理,總體結(jié)構(gòu)圖為圖2。
圖2 系統(tǒng)總體結(jié)構(gòu)圖Fig.2 Global structure chart of the system
三層架構(gòu)是目前軟件開發(fā)采用的主要架構(gòu),這種架構(gòu)比傳統(tǒng)的C/S 架構(gòu)增加了一個應(yīng)用程序服務(wù)器,應(yīng)用程序服務(wù)器包括了統(tǒng)一的界面、業(yè)務(wù)規(guī)則和數(shù)據(jù)處理邏輯等等,這樣客戶端程序就可以做得比較小,也就是常說的瘦客戶,由于業(yè)務(wù)規(guī)則和數(shù)據(jù)處理邏輯的集中在服務(wù)器上統(tǒng)一管理,客戶端無須進行復雜的計算,也不會因為錯誤的操作而影響到其他的用戶,所以三層架構(gòu)具有更高的可靠性、穩(wěn)定性、安全性和效率[3]。三層架構(gòu)示意圖如圖3 所示。
圖3 三層架構(gòu)示意圖Fig.3 Schematic diagram of the 3-tier
為使系充分發(fā)揮服務(wù)器端和客戶端網(wǎng)絡(luò)的協(xié)作能力,系統(tǒng)采用Windows 平臺下的Windows DNA(Distributed interNet Application Architecture,分布式網(wǎng)絡(luò)應(yīng)用結(jié)構(gòu))策略模型[4],通過該策略模型建造一個在局域網(wǎng)絡(luò)上運行的可伸縮的多層應(yīng)用軟件,并把COM+作為Windows DNA 策略中的中間件。COM+為中間層提供了負載平衡、對象池(Object Pooling)、事務(wù)特性等一系列的強力支持,并且在COM+中工作的程序受到操作系統(tǒng)的保護,從而最大的保證了系統(tǒng)的安全、穩(wěn)定和高效。
為了保障服務(wù)器端和客戶端順暢、實時的通信,系統(tǒng)采用.NET 平臺提供的.NET Remoting 技術(shù)。其實質(zhì)就是:客戶端創(chuàng)建服務(wù)端對象的代理并調(diào)用其方法,通過信道網(wǎng)絡(luò)傳輸?shù)椒?wù)端,在服務(wù)端上處理客戶端傳遞過來的參數(shù)數(shù)據(jù)并返回處理結(jié)果(如果有的話)給客戶端的接收變量。這種方式與傳統(tǒng)上的方法調(diào)用明顯不同,它輕松實現(xiàn)了數(shù)據(jù)的分布式處理。
Remoting 的通道主要有兩種:TcpChannel 和HttpChannel,HttpChannel 提供了一種使用 Http 協(xié)議,使其能在Internet 上穿越防火墻傳輸序列化消息流,因此具有更好的互操作性。系統(tǒng)采用HttpChannel實現(xiàn)服務(wù)器端和客戶端之間的通信。
在高??荚囅到y(tǒng)中,多采用教師制定試卷生成方案,由系統(tǒng)自動生成試卷的策略,這樣既可以保證出卷的公平性,又可以大大減輕了老師的勞動強度。但在制定試卷生成方案時,必須考慮要考核的章節(jié)、各章節(jié)所占的比重、考試題型、考題的難度系數(shù)、題的數(shù)量及分值等參數(shù)。系統(tǒng)的“自動生成試卷”模塊很好地實現(xiàn)了該項功能。其思路是先由教師根據(jù)教學要求及考核要求制定試卷生成方案,再由系統(tǒng)按方案自動從試題庫中隨機制取試題,組成一套試卷流程圖如圖4 所示[5-6]。
系統(tǒng)提供了三種試卷生成規(guī)則,即按考核知識點優(yōu)先、按難度優(yōu)先及混亂生成。制定試卷生成方案運行界面如圖5 所示。
在線考試模塊是系統(tǒng)的最重要的一個模塊,它完成了服務(wù)端與客戶端的在線考試部分,并能夠及時監(jiān)控客戶端狀態(tài),監(jiān)視客戶端完成考試,并可以設(shè)置任何已經(jīng)生成的試卷,按照考試指定的時間完成收回試卷的功能,當試卷接收完畢后,能夠?qū)⒃嚲泶鸢赴碬ord、Excel 等格式進行保存[7]。
圖4 自動生成試卷流程圖Fig.4 Flow of automatically generating test papers
圖5 試卷生成方案運行界面Fig.5 Interface of scheme of generating test paper
系統(tǒng)采用了Remoting 框架,采用的三層體系設(shè)計結(jié)構(gòu)。詳細設(shè)計過程如下。
(1)建立遠程分布式對象,作為業(yè)務(wù)邏輯層,把服務(wù)器和客戶端所用到的所有業(yè)務(wù)邏輯及方法按照劃分放在遠程對象中,所有的服務(wù)器和客戶端的調(diào)用都由遠程對象統(tǒng)一管理。Remoting 的設(shè)計中,采用客戶端激活模式。
(2)在服務(wù)器端,設(shè)置了一個回調(diào)類MyCallbackClass,它負責注冊遠程對象的事件,并將它和服務(wù)器相連,當遠程對象觸發(fā)事件后,通知服務(wù)器事件到達,此時會調(diào)用窗體線程傳遞事件代碼,在線程間必須設(shè)置同步或異步方式,以達到不同的響應(yīng)效果。
(3)服務(wù)器和遠程對象以及客戶端通訊時,會設(shè)置事件參數(shù),在它們之間調(diào)用,這樣把所有的信息封裝到參數(shù)中,包括環(huán)境變量和試卷信息等,可以保證數(shù)據(jù)的安全性。
(4)客戶端中也設(shè)置了一個回調(diào)類MyCallbackClass,它同樣注冊了遠程對象的事件,這樣服務(wù)器、遠程類和客戶端之間可以通過事件的觸發(fā)而響應(yīng)不同的操作而不需要手工加以干預。
圖6 為考試過程中服務(wù)器端的運行界面。
圖6 服務(wù)器端運行界面Fig.6 Interface of the server side
圖7 為考試過程中為四名學生答題在客戶端的運行界面。
圖7 客戶端運行界面Fig.7 Interface of the client side
系統(tǒng)實現(xiàn)了高校局域網(wǎng)考試系統(tǒng)的設(shè)計與開發(fā),通過服務(wù)器端進行考生信息管理、試題庫管理、試卷的生成及考試過程的全程控制,客戶端為考生提供了友好的答題環(huán)境,能滿足高??荚囉山處熤苯用}考試和由題庫按考試內(nèi)容、難度系統(tǒng)等隨機抽取試題的考核方式要求,并采用.NET Remoting 技術(shù)實現(xiàn)了分布式開發(fā),同時保障了服務(wù)器端和客戶端的順暢實時的通信,從而保障了考試的順利進行。經(jīng)對“計算機文化基礎(chǔ)”課程的考試的實際運行,效果良好。
[1] 馬曉丹,祁廣云,關(guān)海鷗,等.計算機基礎(chǔ)課網(wǎng)絡(luò)教學平臺的設(shè)計與實現(xiàn)[J].黑龍江八一農(nóng)墾大學學報,2010,22(6):62-64.
[2] 李偉為.基于ASP.NET2.0 的在線考試系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2011,28(9):163-165.
[3] 高軍,馬鐵民,高云麗.高校監(jiān)考管理系統(tǒng)的設(shè)計與實現(xiàn)[J].黑龍江八一農(nóng)墾大學學報,2011,23(3):65-67.
[4] 袁冰,楊棖.基于考試任務(wù)的分布式考試系統(tǒng)設(shè)計[J].計算機工程與設(shè)計,2011,32(10):3530-3533.
[5] 鄧慧琴,魏樹峰,蔣榮.《計算機應(yīng)用基礎(chǔ)》Web 考試系統(tǒng)的自動化測試方案[J].齊齊哈爾大學學報,2012,28(1):10-13.
[6] 陳澤琳,張慶彪.基于JAVA 的考試系統(tǒng)中題庫設(shè)計及組卷算法[J].重慶理工大學學報:自然科學版,2010,24(3):48-55.
[7] 劉娜,楊新.基于Web 和智能Agent 的網(wǎng)上考試系統(tǒng)的實現(xiàn)[J].西華大學學報:自然科學版,2008,27(2):20-22.