摘要:本文從結構及環(huán)境設置兩個方面闡述了Windows基本操作試題的總體設計,同時就題干和環(huán)境的目錄樹的設計與實現(xiàn)方法進行了詳細的介紹。
關鍵詞:基本操作題;題干;環(huán)境;命令
Windows基本操作題在試題維護和自動評分方面有一定的難度。根據(jù)內(nèi)蒙古科技大學實踐訓練中心的具體情況,即測試基本操作主要的考點是:建立文件夾、刪除文件夾、刪除文件、文件夾更名、文件更名、移動文件夾、移動文件、設置文件夾屬性、設置文件屬性、復制文件和建立快捷鍵。為了評分的方便,為每個考點的試題給出一個命令,從不同的命令可以查詢考生是否完成對應考點的要求,命令與考點的對應關系如表1所示。
表1中的說明字段實際上就是題干部分,通過這樣的命令,可以把題干轉化為計算機程序可以識別的知識,這在人工智能中也常用到。測試系統(tǒng)的評分程序就可以根據(jù)命令和參數(shù)構成的字符串得知試題測試的考點,并通過操作系統(tǒng)的相關API函數(shù)可以判斷考試是否正確完成某個考點。
對于基本操作題還有一個比較關鍵的地方就是測試環(huán)境的構造,比如要考察考生設置文件的屬性,那么就要保證系統(tǒng)在抽取試題時必須建立該文件。在試題維護功能中,操作人員可以維護一個目錄樹,可以建立文件或文件夾,并可以設置文件或文件夾的屬性,類似于操作系統(tǒng)的相關操作,圖2為某套試題中的基礎測試環(huán)境的目錄樹和構建該目錄樹需要的命令。
在抽取試題時,測試系統(tǒng)會根據(jù)命令在考生文件夾下建立上圖所示的目錄結構以便考生操作,為了檢查考生是否操作的是抽取試題生成的文件,系統(tǒng)會根據(jù)考生信息和目錄結構生成文件的相關內(nèi)容。
試題管理子系統(tǒng)會把操作人員輸入的信息保存于WinKS.MDB數(shù)據(jù)庫的TOPIC表中的對應字段,圖3顯示了該表的4個關鍵字段。
圖3中的TOPIC_NO字段中保存試題的套題號;TOPIC_ANS保存試題的答案,對于基本操作題這個答案就是考點,根據(jù)這個考點在考生文件夾下搜索相關信息以便判斷考生是否正確答題;TOPIC_INTE保存試題的題干;TOPIC_DAT字段保存考試環(huán)境
需要的數(shù)據(jù),對于基本操作題保存了建立操作環(huán)境需要的文件或文件夾。部分關鍵代碼如下:
1)根據(jù)選擇的考點建立不同的命令字符串
Select Case cbCmdType.ListIndex
Case Is = 0
cmdType = \"mkdir\"
Case Is = 1
cmdType = \"remove\"
Case Is = 2
cmdType = \"rename\"
Case Is = 3
cmdType = \"move\"
Case Is = 4
cmdType = \"setattr\"
Case Is = 5
cmdType = \"copy\"
Case Is = 6
cmdType = \"create\"
Case Else
Exit Sub
End Select
lsTGCommand.AddItem cmdType \"#####\" txtParam1.Text \"#####\" txtParam2.Text
2)生成測試環(huán)境的目錄樹數(shù)據(jù)的代碼
szAttr = \"\"
If chkAttr(0).Value = Checked Then szAttr = szAttr \"R\"
If chkAttr(1).Value = Checked Then szAttr = szAttr \"H\"
If chkAttr(2).Value = Checked Then szAttr = szAttr \"S\"
If chkAttr(3).Value = Checked Then szAttr = szAttr \"A\"
If cbOpType.Text = \"創(chuàng)建文件夾\" Then
lsCommand.AddItem \"mkdir#####\" txtFDName.Text \"#####\" szAttr
ElseIf cbOpType.Text = \"創(chuàng)建文件\" Then
lsCommand.AddItem \"mkfile#####\" txtFDName.Text \"#####\" szAttr
End If
Call SetTreeView '調(diào)用過程設置樹形控件
3)保存基本操作試題的代碼
sQuery = \"SELECT * FROM TOPIC WHERE TOPIC_NO='\" txtTTH.Text \"'\"
lRs.Open sQuery, ConnStr(App.Path \"\\DBase\\WinKs.mdb\"), adOpenDynamic, adLockOptimistic
If Not lRs.EOF And Not lRs.BOF Then
lRs.Fields!TOPIC_SCORE = 20
lRs.Fields!TOPIC_ANS = GetAnswer
lRs.Fields!TOPIC_INTE = GetTxtTG
lRs.Fields!TOPIC_INTE1 = GetImageTG
lRs.Fields!TOPIC_DAT = GetCommand
Else
lRs.AddNew
lRs.Fields!TOPIC_NO = txtTTH.Text
lRs.Fields!TOPIC_SCORE = 20
lRs.Fields!TOPIC_ANS = GetAnswer
lRs.Fields!TOPIC_INTE = GetTxtTG
lRs.Fields!TOPIC_INTE1 = GetImageTG
lRs.Fields!TOPIC_DAT = GetCommand
End If
lRs.Update
lRs.Close
該段代碼也是根據(jù)套題號查詢題庫中是否存在該套基礎操作題,如果存在就用操作人員輸入的新信息覆蓋舊試題,如果不存在就增加新試題。上面代碼中調(diào)用了4個自定義過程GetAnswer用于獲取用戶輸入的答案信息,GetTxtTG用于獲取用戶輸入的題干,GetImageTG用于獲取用戶需要以圖片表示的題干,GetCommand用于獲取用戶生成的命令以便于建立考生測試環(huán)境。這些過程在獲取輸入數(shù)據(jù)時都進行了相應的處理,所以都不直接獲取用戶的數(shù)據(jù),這樣做的好處是結構清晰,如果以后需要給信息加密,只需要改變對應的過程并把加密算法應用到過程中即可。
參考文獻
[ 1 ] 高雯,李飛。計算機基礎課程自動考試系統(tǒng)的設計與實現(xiàn)[J]。華東理工大學學報,2000,26(5):573-575。
[ 2 ] 韋揚江。計算機考試系統(tǒng)開發(fā)過程中關鍵問題的解決[J]。高教論壇,2004,2:93-96。
[ 3 ] 吳錦林,李景,謝偉。計算機應用水平一級考試系統(tǒng)軟件的開發(fā)[J]。廈門大學學報(自然科學版),2001,40(6):1315-1318。
[ 4 ] 賈志先。計算機文化基礎考試系統(tǒng)的開發(fā)與應用[J]。計算機應用,2001,21(7):60-61。