王宇翔 黃偉仁
摘 要:隨著高校招生規(guī)模的不斷擴大,在教學(xué)中改進考試手段成為亟待解決的問題,網(wǎng)絡(luò)考試已經(jīng)成為教學(xué)改革的一部分。本文闡述了利用VB實現(xiàn)基于加密技術(shù)的網(wǎng)絡(luò)在線考試系統(tǒng)的開發(fā)實現(xiàn)方案,它具有題庫管理、自動組卷、考試管理、自動評分等功能,并提出了網(wǎng)絡(luò)考試系統(tǒng)需要進一步研究的問題。
關(guān)鍵詞:網(wǎng)絡(luò)考試 加密 身份認證
中圖分類號:TP311.5 文獻標識碼:A 文章編號:1672-3791(2013)03(b)-0015-02
隨著高等學(xué)校教育體制改革的不斷深入,各高等院校紛紛進行擴招,學(xué)生人數(shù)不斷劇增,在每次考試前,教師需要組織試卷、印刷裝訂試卷,考試后手工批改、試卷的分析,消耗了大量的人力物力,并且在閱卷、分數(shù)統(tǒng)計的工作中也非常容易出現(xiàn)人為的差錯。教師工作量直線上升,目前迫切需要一種新的考試方式來解決這些問題。與傳統(tǒng)考試模式相比,網(wǎng)絡(luò)考試采取考試管理中心與本地考點分離,并采用隨機抽題、智能組卷等方式,可大大改善教學(xué)方法,提高教學(xué)質(zhì)量。
1 網(wǎng)絡(luò)考試系統(tǒng)功能簡介
這個考試系統(tǒng)是在對我院的校園管理信息系統(tǒng)、學(xué)院機房的真實環(huán)境的現(xiàn)狀和特點進行深入等分析之后,進行了基于加密技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn)工作。使用經(jīng)典的VB開發(fā)技術(shù),實現(xiàn)我院考試系統(tǒng)的網(wǎng)絡(luò)化。
該考試系統(tǒng)具有以下特色和功能:
1.1 針對不同專業(yè),進行多種題型的考核
我院現(xiàn)有專業(yè)22個,在校人數(shù)6000多人,具有多學(xué)科、多專業(yè)教學(xué)特點。在不同的專業(yè)考試中,由命題教師將考核內(nèi)容,按題型、分值、考核時間等要素,分別填入Excel、Word文檔中,即可設(shè)計不同的考核內(nèi)容,自動生成試卷。
1.2 考試結(jié)果進行加密,傳送給教師
在加密文檔中,利用全球每臺計算機的網(wǎng)卡MAC地址的唯一性、每臺計算機的IP地址不可重復(fù)性的技術(shù),在技術(shù)層面上防止上機考核時常發(fā)生的學(xué)生進行答案的拷貝、學(xué)生進行代傳試卷的弊端。
1.3 客觀題的自動批閱
在試卷批閱中,最大程度保證了考核的公正性、客觀性。為本課程教師對考核結(jié)果進行分析,提供了科學(xué)、正確的數(shù)據(jù)。
1.4 系統(tǒng)界面友好,易于操作
系統(tǒng)設(shè)計使用Visual Basic語言,界面為所有同學(xué)都非常熟悉的Windows界面。在使用過程中不存在由于考試環(huán)境不熟悉,而對答題造成困惑,從而影響考試成績的情況。
教師進行題目的組合及題庫的建立使用最為廣泛的Excel和Word軟件,使教師無論在家中還是學(xué)院均可進行工作,而不必拘泥于某種特定環(huán)境。更不存在題庫的文件類型不能轉(zhuǎn)換,使以前的試卷全部作廢或者要重新進行輸入。
1.5 測試結(jié)果易于轉(zhuǎn)換
同學(xué)可以通過網(wǎng)絡(luò)完成測試,將結(jié)果提交給教師,測試結(jié)果的文件類型為txt文件。此種文件類型可以轉(zhuǎn)化成多種其他文件類型,為測試結(jié)果的再轉(zhuǎn)換提供了可能。
2 開發(fā)網(wǎng)絡(luò)考試的相關(guān)技術(shù)
2.1 Visual Basic技術(shù)
Visual Basic(VB)是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。從任何標準來說,VB都是世界上使用人數(shù)最多的語言—— 不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。
本系統(tǒng)就是利用這種技術(shù)來實現(xiàn)的。
2.2 OLE技術(shù)
OLE技術(shù)(Object Linking and Embedding,對象連接與嵌入),指的就是OLE自動化,是不同應(yīng)用程序之間進行通訊的一個標準。OLE自動化的工作方式是:通訊被動方(OLE服務(wù)器)應(yīng)用程序向通訊主動方(OLE客戶機)應(yīng)用程序提供一個以上可供其調(diào)用的OLE自動化對象類型,OLE客戶機通過引用這些對象實現(xiàn)對OLE服務(wù)器的調(diào)用,然后通過設(shè)置對象的屬性和使用對象的方法操縱OLE服務(wù)器應(yīng)用程序,完成兩者之間的通訊。
在本程序中使用OLE技術(shù),將Excel和Word與VB進行數(shù)據(jù)交換,完成不同的對象之間進行通訊。在Exec.Book123中儲存著題庫的內(nèi)容,使用OLE技術(shù)將題庫Exec.Book123(帶密碼)中的數(shù)據(jù)取出,存放到VB的控件MSFGrid控件中。將閱讀后的測試卷從RichTextBox控件中,保存到word文檔中。
2.3 加密算法綜述
加密技術(shù)是最常用的安全保密手段,利用技術(shù)手段把重要的數(shù)據(jù)變?yōu)閬y碼(加密)傳送,到達目的地后再用相同或不同的手段還原(解密)。
密鑰加密技術(shù)的密碼體制分為兩種:對稱密鑰體制和非對稱密鑰體制。相應(yīng)地,對數(shù)據(jù)加密的技術(shù)分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。
對稱加密技術(shù)具有很多的優(yōu)點,比如:效率高,加/解密速度可達數(shù)十兆/秒或更多、算法簡單等;由于以上特點,本網(wǎng)絡(luò)考試的加密技術(shù)采用對稱加密技術(shù)。
任何數(shù)據(jù)在計算機內(nèi)部均以二進制形式表現(xiàn)。本系統(tǒng)采用按位加運算一次對二進制數(shù)據(jù)進行加密,使得原文由原來的0變更為1,或?qū)⒃瓉淼?變更為0。
本程序中利用這種簡單工作原理,將同學(xué)的答案,冠以學(xué)號姓名進行加密后,以二進制文件形式保存在硬盤上。以防止當今的電子考試的拷貝作弊現(xiàn)象。在教師端上利用逆向操作,將同學(xué)的二進制的數(shù)據(jù)文件還原為真實內(nèi)容。供教師批閱。利用該原理,將每位同學(xué)的測試卷,在同學(xué)端加密后傳送到教師端上,利用該技術(shù),解密后寫入光盤予以保存。
2.4 控件的使用
在本系統(tǒng)中,主要用到如下控件。
(1)MsFlexGrid(網(wǎng)格控件):保存隨機產(chǎn)生的考卷數(shù)據(jù)。
(2)Timer:控制測試時間。
(3)三組控件的組合使用來模擬Windows界面。
Drive(驅(qū)動器):供使用者選擇盤符。
Dir(文件夾):供使用者選擇該盤中的文件夾。
File(文件):供使用者選擇該文件夾中的文件。
(4)RichTextBox:富文本控件,類似記事本,可以對控件中的文字的屬性,作各種類似Word的處理。
3 網(wǎng)絡(luò)考試系統(tǒng)的實現(xiàn)
3.1 需求分析
(1)用戶身份級別要求。
即根據(jù)身份的不同對系統(tǒng)的使用權(quán)限有所不同。權(quán)限大小分為:教師和學(xué)生。
教師:是權(quán)限最大的管理員,擁有超級權(quán)限,主要負責(zé)對系統(tǒng)進行參數(shù)設(shè)置,例如考試時間、題目數(shù)量設(shè)定,進行試卷的批閱和解除鎖定操作。
學(xué)生:輸入正確的學(xué)號和姓名后,進入考試試題,進行題目抽取和答題,并且提交試卷。
(2)系統(tǒng)設(shè)置功能。
提供對系統(tǒng)中各個參數(shù)的設(shè)置,比如考試時間,題目數(shù)量等。
3.2 考試系統(tǒng)主要功能模塊的實現(xiàn)
3.2.1 登錄窗口
主要是對登錄用戶進行身份合法性驗證,因為此系統(tǒng)面向的是學(xué)院的教師和學(xué)生,所以在登錄界面上提供學(xué)生學(xué)號和姓名的輸入框作為身份驗證的依據(jù)。同樣,教師登錄采用的是輸入職工編號和姓名來進行驗證。如果不能同時輸入正確的學(xué)號/編號和姓名,將不能進入系統(tǒng)。
3.2.2 測試窗口
通過VB菜單編輯器。生成兩級菜單,每個子菜單完成各自的功能。
(1)生成測試卷模塊。
利用OLE技術(shù)從Excel題庫中隨機生抽取題目、可選項目、標準答案。將獲得的數(shù)據(jù)置入答題紙頁面中的MSFlexGrid控件中。題目數(shù)量由系統(tǒng)文件Para\parama.dat中對應(yīng)數(shù)據(jù)項給出。
完成測試卷后,打開答題紙頁面窗口。
(2)開始測試模塊。
通過測試窗口的Textbox、Option1、Checkbox控件和答題紙窗口MSFlexGrid控件的組合完成測試。Timer控件,在后臺進行測試時間的計時工作。當計時到達系統(tǒng)參數(shù)文件中設(shè)置的時間。立即終止測試,并自動生成兩份加密文件置入Fileset文件夾中。
(3)提交測試卷模塊。
在未到測試時間提前交卷,則終止Timer控件的后臺計時,轉(zhuǎn)入Timer控件。
3.2.3 答題紙窗口
利用MSFlexGrid控件的單擊事件,將存儲在該控件中的數(shù)據(jù),向測試窗口的Textbox、Option1、CheckBox控件,寫入各題的內(nèi)容。
其中:
(1)Textbox:題目。
(2)Option1單選按鈕組:供選擇的內(nèi)容。
(3)CheckBox控件組:供選擇的內(nèi)容。
(4)將Option1單選按鈕組和CheckBox控件組的選擇數(shù)據(jù)保存到MSFlexGrid控件上,供測試者觀察。
3.2.4 系統(tǒng)窗口
(1)利用UpDown控件和Textbox控件的互聯(lián),完成ActiveX組合控件。在指定數(shù)據(jù)范圍內(nèi)選擇數(shù)據(jù)。
(2)利用加密技術(shù)和二進制文件寫入技術(shù),將參數(shù)寫入文件夾保存。文件名為Para\parama.dat。
使用三組控件的組合技術(shù):Drive(驅(qū)動器)+Dir(文件夾)+File(文件),讓教師快速批量選擇文件。應(yīng)用解密技術(shù),將每個測試成績文件解密。將解密后的文件各項數(shù)據(jù)存入MSFlexGrid控件的每行。利用OLE技術(shù)將MSFlexGrid控件的每行數(shù)據(jù)寫入Excel文件保存。
(3)生成每位測試者的測試卷。
使用三組控件的組合技術(shù):Drive(驅(qū)動器)+Dir(文件夾)+File(文件),讓教師快速批量選擇文件。應(yīng)用解密技術(shù),將每個測試試卷文件解密。利用OLE技術(shù)將RichTextBox控件內(nèi)的測試試卷內(nèi)容寫入Word文檔,存檔保存。
4 結(jié)語
本系統(tǒng)利用VB技術(shù),通過簡潔的算法對網(wǎng)絡(luò)考試系統(tǒng)進行設(shè)計,具有穩(wěn)定性,系統(tǒng)開銷小,組卷速度快等優(yōu)點,教師可以進行自由組卷,學(xué)生試卷加密上傳,避免作弊現(xiàn)象,客觀題進行自動閱卷,基本上達到實用水平。
參考文獻
[1]Visual Basic 6.0程序設(shè)計參考手冊[M].人民郵電出版社,2003.
[2]張春暉.網(wǎng)絡(luò)考試系統(tǒng)的數(shù)據(jù)安全性分析與設(shè)計[J].軟件導(dǎo)刊,2008(9).
[3]陳果.網(wǎng)絡(luò)考試系統(tǒng)加密技術(shù)研究[J].計算機工程與應(yīng)用,2008(44).