李瑩+李欣懌
摘要:試題解析系統(tǒng)是一種新的教學資源, 廣泛應用于各類培訓和考試。在數(shù)據(jù)庫設計和功能分析的基礎上,對系統(tǒng)的關鍵技術進行了探討,提出了利用Visual FoxPro來實現(xiàn)試題解析系統(tǒng)的方案。
關鍵詞:試題;解析;數(shù)據(jù)庫;Visual FoxPro
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)10-0003-02
隨著市場競爭和就業(yè)形式的日益嚴峻,高校學生對行業(yè)從業(yè)資格證書也越來越重視。學生在校期間,參加各種考試和培訓班,也促使各地各種形式的培訓機構應運而生,如火如荼。試題解析系統(tǒng)是近年來出現(xiàn)的一種新的教學資源,廣泛應用于國家計算機等級考試和各類專業(yè)的崗位培訓過程之中。試題解析系統(tǒng)可以提高學生綜合運用所學知識的能力,提供解決問題的思路參考和解題方法,培養(yǎng)學生的計算思維,進而課程教學過程中課時少,實踐少,抽象難懂,教學難度大等疑難問題。此外,試題解析系統(tǒng)還可以為學生順利通過國家計算機等級考試和升學考試提供參考和助力。
1 數(shù)據(jù)庫設計
試題解析系統(tǒng)數(shù)據(jù)庫中包括學生表、試題表、試卷表、客觀試題評分表。學生表主要存儲學生的學生編號、密碼及其它基本學生信息; 試題表的字段主要有試題流水號、試卷號、試題內(nèi)容、試題圖片、標準分數(shù)、試題類型、答案類型、標準答案、試題分析內(nèi)容。試卷表的字段包括試卷號、試卷名稱、考試時間、通過成績、滿分成績、出卷教師、審卷教師、所用數(shù)據(jù)庫圖片??陀^試題評分表字段包括試卷編號、試題內(nèi)容、學生答案、標準答案、標準分數(shù)、學生得分等信息。
2 系統(tǒng)功能設計
試題解析系統(tǒng)在功能上包括系統(tǒng)注冊、試題組卷、試題分析、模擬考試、試題判分模塊。
系統(tǒng)注冊模塊根據(jù)用戶機器硬件的特征標識碼,生成一個唯一的機器碼,根據(jù)機器碼計算用戶的注冊碼,并判斷用戶是否是合法用戶, 完成授權用戶的登陸功能。只有授權用戶輸入正確的注冊碼后才能進入系統(tǒng),一旦注冊成功,以后再進入系統(tǒng)時,則不必再輸入注冊碼。
試題組卷模塊的功能根據(jù)每道試題預先定義好的套題號標識,提取數(shù)據(jù)庫中的試題,完成每套試題的組卷,利用Treeview控件在表單左側實現(xiàn)試題的樹形目錄結構顯示,單擊每一結點,則在表單右側的試題內(nèi)容框中顯示試題的內(nèi)容。
試題分析模塊完成每道試題的文本分析。試題判分模塊根據(jù)用戶輸入的答案完成用戶自我測試時的評分功能,并給出統(tǒng)計圖表顯示用戶成績。
試題分析模塊負責讀取數(shù)據(jù)庫中當前試題的解析文本,利用編輯框控件,將解析文本顯示在表單界面中,并允許用戶調(diào)整文字的大小,方便用戶閱讀。
試題判分模塊為用戶提供一個上機考試的模擬環(huán)境。在表單界面中,利用Treeview控件顯示試題的編號結果,右側的編輯框中顯示每一道試題。表單中利用選項組或復選框控件接收并記錄考生的答案,將考生答案與數(shù)據(jù)庫中的預存的標準答案進行關鍵字比較,完成每一道試題的評分,并把分數(shù)存入數(shù)據(jù)庫中。最后,讀取并統(tǒng)計數(shù)據(jù)庫中考生的部分,并以圖形的方式顯示考生全部試題的得分統(tǒng)計情況。
3 關鍵技術問題
3.1 一機一碼加密方案
為了使試題解析系統(tǒng)軟件便于商業(yè)發(fā)行,有效保證軟件的安全,系統(tǒng)采用一機一碼的注冊方式。通過Windows系統(tǒng)提供的API函數(shù)來獲取機器的CPU、硬盤或網(wǎng)卡硬件獨有的ID號信息,與隨機函數(shù)及系統(tǒng)時間進行文本組合,構造生成唯一的機器碼標識,并采用MD5加密算法生成用于激活軟件的注冊碼。一機一碼加密方案將加密軟件與授權的電腦進行綁定,不同機器的所用的注冊碼也不相同,對保護軟件版權、防止盜版具有非常重要的意義。
3.2 系統(tǒng)判分的實現(xiàn)
客觀題的評分通過“關鍵字”匹配方式來實現(xiàn)。選擇題判分時只要比較一下學生的選擇答案與系統(tǒng)提供的標準答案是否相符即可,相同則正確,反之則錯誤。填空題有可能多個答案都正確,判分時只要學生的答案與系統(tǒng)提供的標準答案的某一個相同則正確。
操作題的評分采用基于比較指定對象屬性值的評分策略。首先在題庫制作系統(tǒng)中將每套題的判分點寫成評分規(guī)則語句,并將每道操作題標準答案的屬性值存儲于數(shù)據(jù)庫中,評分時,首先調(diào)用調(diào)用相關的評分程序,打開學生操作的結果文檔讀取評分點數(shù)據(jù),與標準答案中記錄的數(shù)據(jù)進行比較,結果相同,即可得分,否則不得分。
3.3 圖片拖放功能
通過數(shù)據(jù)表的通用字段存儲試題中的圖片,并通過圖像控件將圖片顯示在表單中。顯示試題時,如果試題包含圖片,則將設置圖像控件為可見狀態(tài),否則隱藏圖像控件。將圖像控件添加到容器中,通過容器的大小來限定圖片可以移動的區(qū)域,以保證圖片不被移出表單界面,并在Mousemove事件中,通過對象move方法來控制圖片的新位置,實現(xiàn)圖片的在表單上的任意拖放功能。
3.4 系統(tǒng)連編
設計好整個系統(tǒng)的入口主程序,將其設置為主文件,并把程序運行時需要修改數(shù)據(jù)的文件全部排除在外,就可以利用Visual Foxpro6.0提供的項目管理器來實現(xiàn)試題解析系統(tǒng)的連編過程,將整個系統(tǒng)連編成一個擴展名為.exe的可執(zhí)行文件。在編譯完成后,要將Visual Foxpro系統(tǒng)文件夾里的兩個支持庫文件VFP6r.dll,VFP6renu.dll拷貝到連編后的文件夾中,才可以實現(xiàn)Windows環(huán)境下直接運行程序。經(jīng)過測試,連編后的軟件可在Win7、WinXP環(huán)境成功運行。
3.5 防止反匯編
利用反編譯軟件,可將VF系統(tǒng)編譯所形成的EXE文件進行匯編,很容易就能獲得軟件的原代碼和數(shù)據(jù)庫文件。雖然VF系統(tǒng)中的所有文件對象的擴展名各不相同,但其實質都是數(shù)據(jù)表,并且采用明文的ASCII碼存儲,安全性較差。因此可采用第三方軟件來對編譯后的exe進行加殼保護,進而有效的防止反匯編。
總之,試題解析系統(tǒng)作為一種優(yōu)秀的教學資源,以數(shù)據(jù)庫為基礎,即提供了一個模擬考試的環(huán)境,也提供了試題解析功能,闡述了程序設計類課程中的常見類型題的分析思路和解題方法,提高了學生的分析問題、解決問題的計算機思維能力,為學生學習和考試提供了較為完美的解決方案。
參考文獻:
[1] 萬茹.VF數(shù)據(jù)庫環(huán)境下的數(shù)據(jù)加密技術[J].計算機光盤軟件與應用,2013(5):171-172.
[2] 李薄.數(shù)據(jù)庫加密技術研究[J].忻州師范學院學報,2010(5):43-45.
[3] 李慶森.淺談visual FoxPro數(shù)據(jù)庫加密技術及其應用[J].計算機光盤軟件與應用,2012(20):106-111.
[4] 吳小玲.基于Web的在線考試系統(tǒng)的實現(xiàn)[D].廣州:廣東工業(yè)大學,2005.