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