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