丁為民 鄒海 唐瑞華
(1巢湖學(xué)院,安徽 巢湖 238000)
(2安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230039)
大學(xué)計(jì)算機(jī)基礎(chǔ)課程上機(jī)考試系統(tǒng)設(shè)計(jì)
丁為民1鄒海2唐瑞華1
(1巢湖學(xué)院,安徽 巢湖 238000)
(2安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230039)
在對(duì)目前國(guó)內(nèi)多種計(jì)算機(jī)考試系統(tǒng)的優(yōu)點(diǎn)和不足進(jìn)行充分分析的基礎(chǔ)上,結(jié)合大學(xué)計(jì)算機(jī)基礎(chǔ)課程本身的特點(diǎn),對(duì)計(jì)算機(jī)考試系統(tǒng)中涉及的主要關(guān)鍵問題進(jìn)行了深入的研究,并設(shè)計(jì)出一套大學(xué)計(jì)算機(jī)基礎(chǔ)課程的上機(jī)考試應(yīng)用系統(tǒng)。
考試系統(tǒng);對(duì)象連接與嵌入;對(duì)象;服務(wù)器
隨著信息技術(shù)的發(fā)展,運(yùn)用計(jì)算機(jī)進(jìn)行考試,特別是對(duì)計(jì)算機(jī)上機(jī)操作類課程進(jìn)行科學(xué)的考試是現(xiàn)代考試領(lǐng)域的一個(gè)重要發(fā)展方向。這種為適應(yīng)信息技術(shù)發(fā)展和教學(xué)考試需求而出現(xiàn)的先進(jìn)的可付諸實(shí)踐的考試技術(shù),已經(jīng)在很多領(lǐng)域得到應(yīng)用和推廣,特別是計(jì)算機(jī)類知識(shí)和能力考試,其優(yōu)點(diǎn)主要在于自動(dòng)生成試卷、自動(dòng)評(píng)分和自動(dòng)進(jìn)行成績(jī)統(tǒng)計(jì)分析。
按照軟件工程[1]的方法,設(shè)計(jì)一個(gè)應(yīng)用系統(tǒng)需要經(jīng)過幾個(gè)過程,而系統(tǒng)可行性分析和需求分析是設(shè)計(jì)應(yīng)用系統(tǒng)的前期必備工作。
大學(xué)計(jì)算機(jī)基礎(chǔ)課程的考核分為客觀題和操作題兩部分。該課程的考試或平時(shí)考測(cè)若采取紙面形式或上機(jī)操作教師隨后人工檢查的形式,則教師工作量大,耗時(shí)多,并較易存在人為失誤的問題。所以,實(shí)現(xiàn)該課程的機(jī)上考試,將盡可能的提高教師的工作效率。
整個(gè)系統(tǒng)按功能可劃分為四個(gè)子系統(tǒng):服務(wù)器自動(dòng)設(shè)置子系統(tǒng)、學(xué)生信息管理子系統(tǒng)、試題管理子系統(tǒng)、考試管理子系統(tǒng)、評(píng)分回收和統(tǒng)計(jì)分析子系統(tǒng)。按照軟件工程設(shè)計(jì)的要求,得到如圖1所示的系統(tǒng)功能模塊圖。
圖1 系統(tǒng)功能模塊圖
用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。
在仔細(xì)分析調(diào)查有關(guān)考試需求的基礎(chǔ)上,可得到如圖2所示的本系統(tǒng)所處理的數(shù)據(jù)流程。
圖2 系統(tǒng)數(shù)據(jù)流程圖
針對(duì)考試系統(tǒng)的需求,通過對(duì)考試系統(tǒng)工作過程的內(nèi)容和數(shù)據(jù)流程分析,可設(shè)計(jì)出相應(yīng)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu),可設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。
服務(wù)器設(shè)置子系統(tǒng)有考生數(shù)據(jù)處理、設(shè)置信息編輯和考試服務(wù)器權(quán)限自動(dòng)配置??忌鷶?shù)據(jù)處理功能是考試結(jié)束后備份考生文件夾,同時(shí)清理用戶目錄下已考考生數(shù)據(jù),為下一場(chǎng)考試作好準(zhǔn)備。設(shè)置信息編輯的功能是指定服務(wù)器的名稱,考試工作站用戶名以及考試工作站臺(tái)數(shù)??荚嚪?wù)器權(quán)限自動(dòng)配置將根據(jù)相應(yīng)的環(huán)境參數(shù)自動(dòng)生成用戶、工作站文件夾并為其配置共享及安全屬性。
學(xué)生信息管理子系統(tǒng)的功能主要包括:考生信息的錄入與編輯、考號(hào)考場(chǎng)的自動(dòng)編排、考試環(huán)境的設(shè)置、考生信息的統(tǒng)計(jì)等。
一個(gè)完整的考試系統(tǒng)應(yīng)由登錄、組卷、考試環(huán)境生成、試題顯示、答案保存組成。組卷約束條件包括:試卷總分、各類題型的試題數(shù)量、分?jǐn)?shù)比例和難度級(jí)別等。隨機(jī)組卷是根據(jù)一定的組卷?xiàng)l件,按照隨機(jī)算法生成滿足用戶要求的試卷。采用遺傳算法進(jìn)行組卷是相對(duì)公平的組卷方案[2]。
在充分考慮Windows系統(tǒng)的安全性基礎(chǔ)上,考試系統(tǒng)包含Windows系統(tǒng)的常用操作,題型包括文件或文件夾操作以及Windows的定制操作等題型,其中Windows的定制操作涉及Windows注冊(cè)表的操作。對(duì)于與文件夾和文件有關(guān)的操作,在判卷過程中相應(yīng)地需要進(jìn)行文件與文件夾的搜索、檢查和比較。對(duì)注冊(cè)表設(shè)置的檢查,主要借助于操作系統(tǒng)底層API函數(shù)來實(shí)現(xiàn)。
Office模塊主要考核Office常用的操作,為便于學(xué)生操作,試題顯示窗口不易過大并盡量讓顯示窗體占據(jù)前端。該部分的評(píng)分則要利用VBA和OLE技術(shù)[3],評(píng)分思路是定義Office對(duì)象,檢測(cè)學(xué)生操作文件中的相應(yīng)特征值并與標(biāo)準(zhǔn)答案值進(jìn)行比對(duì)。
針對(duì)Vb、Vfp類的上機(jī)操作考試,設(shè)計(jì)工作的前期準(zhǔn)備是分析數(shù)據(jù)類型結(jié)構(gòu),根據(jù)試題特點(diǎn)進(jìn)行分類設(shè)計(jì),評(píng)分時(shí)通過查詢操作對(duì)象的屬性、取值等與標(biāo)準(zhǔn)答案值進(jìn)行比較,進(jìn)而給出得分結(jié)果。
相比較Vb、Vfp類考試,C語言程序上機(jī)考試類的設(shè)計(jì)工作量要輕一些,C語言的考核主要考核編程能力。其評(píng)分的核心思路有兩種,一種利用檢測(cè)結(jié)果文件和源程序文件中的相應(yīng)特征值進(jìn)行相似度計(jì)算[4-5],根據(jù)相似度值進(jìn)行評(píng)分;另一種辦法是利用命令行編譯源程序,利用編譯程序檢測(cè)源程序的語法正確率。
考試服務(wù)器主要起到安全共享考試數(shù)據(jù)和向考生提供獨(dú)立的磁盤空間作用。服務(wù)器手工設(shè)置比較煩瑣且易出錯(cuò),因此需編寫代碼來進(jìn)行自動(dòng)設(shè)置。下面的代碼是檢測(cè)服務(wù)器軟件環(huán)境是否具備的部分代碼。
如圖3所示為服務(wù)器自動(dòng)設(shè)置運(yùn)行圖。
圖3 自動(dòng)設(shè)置服務(wù)器窗體
Windows操作考試過程中進(jìn)行的操作系統(tǒng)定制會(huì)影響到注冊(cè)表相應(yīng)值的改變,此類型考題可通過測(cè)試注冊(cè)表相應(yīng)項(xiàng)的值來進(jìn)行評(píng)判學(xué)生操作的正確與否。進(jìn)行注冊(cè)表的訪問主要涉及到兩個(gè) API底層函數(shù) “RegOpenKey” 和“RegCreateKey”。前者用于打開一個(gè)已存在的主鍵,而后者除了能用于打開一個(gè)已存在的主鍵外,還能創(chuàng)建主鍵。打開或創(chuàng)建主鍵成功后將返回一個(gè)句柄給參數(shù)“phkResult”,這個(gè)句柄將在對(duì)鍵值的操作中用到,它就是“RegSetValueEx”、“RegQueryValueEx”和 “RegDeleteValue”中 的 “nKeyHandle”參數(shù)。通過查詢注冊(cè)表相應(yīng)項(xiàng)的值與參考答案進(jìn)行比較,若相等,則學(xué)生操作正確。例操作注冊(cè)表的部分代碼如下:
′API聲明
Private Declare Function RegCreateKey Lib“advapi32.dll”Alias“RegCreateKeyA”(ByVal hKey As Long,ByVal lpSubKey As String,ByRef phkResult As Long)As Long
′建立主鍵
Private Declare Function RegOpenKey Lib“advapi32.dll”Alias “RegOpenKeyA”(ByVal hKey As Long,ByVal lpSubKey As String,ByRef phkResult As Long)As Long
′打開主鍵
Private Declare Function RegDeleteKey Lib“advapi32.dll”Alias“RegDeleteKeyA”(ByVal hKey As Long,ByVal lpSubKey As String)As Long
圖4所示為Windows操作運(yùn)行圖。
圖4 Windows文件(夾)操作考試主界面
Office操作題的檢測(cè)可借助VBA和OLE技術(shù)。下面以Word為例進(jìn)行分析。Word文檔是多個(gè)對(duì)象組成的,這些對(duì)象及其屬性值決定了文檔的結(jié)構(gòu)和格式,可通過讀取答題文檔中相應(yīng)對(duì)象的屬性值來進(jìn)行評(píng)分。
要在程序中控制Word,首先定義一個(gè)引用Word中“Basic”對(duì)象的對(duì)象變量:
Dim Wordobj as Object
接著將Word中的“Basic”對(duì)象賦給該對(duì)象:
Set Wordobj=CreateObject(“Word.Basic”)
再使用微軟的VBA代碼來控制Word,使用方法和在Word宏中使用VBA指令的方法基本相同。為了編寫程序的需要,可以通過對(duì)Word進(jìn)行的操作或控制先在Word中實(shí)際進(jìn)行一遍,并同時(shí)錄制宏,利用生成的宏組建相應(yīng)的評(píng)分模塊。
圖5所示為Word操作運(yùn)行圖。
圖5 Word操作考試主界面
在顯示考試題目信息時(shí),有時(shí)需要顯示圖形。為了考試安全,圖形須放在題庫(kù)中的pic圖形字段中,并設(shè)為OLE對(duì)象類型,考試時(shí)再?gòu)念}庫(kù)
中提取出來進(jìn)行顯示。部分代碼如下:
′ksk為考試庫(kù),Data1為數(shù)據(jù)控件,OLE為容器控件
′使tm的pic字段與OLE1容器控件關(guān)聯(lián),實(shí)現(xiàn)圖形在OLE中的顯示。
通過安排部署,在10年12月進(jìn)行了實(shí)際考試檢測(cè)。從學(xué)生的實(shí)際操作來看,學(xué)生對(duì)基本理論、基本技能方面的內(nèi)容掌握較好。由于部分試題具有一定的靈活性,大多數(shù)學(xué)生經(jīng)認(rèn)真思考后能夠作出正確操作,也有部分學(xué)生對(duì)基礎(chǔ)知識(shí)掌握不牢,不能將所學(xué)內(nèi)容靈活運(yùn)用。綜合來看,絕大多數(shù)抽取的試題均很好反映了教與學(xué)的情況,學(xué)生的成績(jī)分布合理。考試系統(tǒng)能進(jìn)行自動(dòng)閱卷評(píng)分并統(tǒng)計(jì)出多種分析報(bào)表,顯著地提高了考試效率,取得了預(yù)期的效果。
上機(jī)考試系統(tǒng)的建設(shè)是一項(xiàng)長(zhǎng)期工程,需要在全面規(guī)劃的基礎(chǔ)上統(tǒng)一設(shè)計(jì),分步實(shí)施??荚囅到y(tǒng)中的遺傳算法組卷和語句相似度評(píng)分思路還有較大的開發(fā)空間,在進(jìn)一步研究人工智能理論的基礎(chǔ)上,部分功能還可以進(jìn)行進(jìn)一步提高和完善。
[1]王少鋒.面向?qū)ο蠹夹g(shù)UML教程 [M].北京:清華大學(xué)出版社,2006
[2]程鵬.支持智能組卷和自適應(yīng)功能的計(jì)算機(jī)考試系統(tǒng) [D].哈爾濱:北京工業(yè)大學(xué),2004.
[3][美]Jonh WalkEnbach.EXCEL 2003 高級(jí) VBA 編程 [M].北京:電子工業(yè)出版社,2005.
[4]南鉉國(guó),崔榮一.基于多層次融合的語句相似度計(jì)算模型 [J]延吉:延邊大學(xué)學(xué)報(bào) 2007,33(3):16-23
[5]唐歆瑜,樂文忠,李志成.基于知網(wǎng)語義相似度計(jì)算的特征降維方法研究[J].科學(xué)技術(shù)與工程,2006,6(21):3442-3446.
DESIGN OF A NEW EXAMINATION SYSTEM ON COMPUTER FOR THE BASIC COLLEGE COURES
DING Wei-min1ZHOU Hai2TANG Rui-hua1
(1 Chaohu University,Chaohu Anhui 238000)(2 College of Computer Science and Technology,Anhui University,Hefei Anhui 230039)
In this paper,the key problems of examination system on computer are deeply investigated by considering the characteristics of the basic college computer course.Furthermore,through analyzing for the weaknesses and advantages of current domestic examination systems on computer,a new examination system on computer is designed for the basic college computer course.
Examination System;Object Linking and Embedding;Object;Server
TP311.1
A
1672-2868(2011)03-0041-04
2011-3-10
丁為民(1971-),男,安徽巢湖人。講師,碩士,研究方向:智能軟件、軟件工程
責(zé)任編輯:陳 侃