基于數據庫、OLE及VBA技術的《計算機文化基礎》集成考試系統
陳克力
內容提要:本文介紹了在VB中利用數據庫技術、對象鏈接技術(OLE)及VBA編程開發的集成考試系統,從而實現在《計算機文化基礎》課中對理論知識與操作技能進行無紙化考試與自動閱卷。
關鍵詞:數據庫 OLE VBA 無紙化考試
一. 問題提出
《計算機文化基礎》是非計算機專業都要開設的一門文化基礎課,主要考查學生必要的理論知識與熟練的操作技能。該課程的傳統考試一般分為兩個部分——筆試與操作,筆試將答案答在紙上再由教師進行人工閱卷(大型考試中也利用機讀卡閱卷)。操作考試又分為基本操作、中英文錄入、操作系統使用、文檔排版(WORD)、數據處理(EXCEL)等方面,需要在教師監考下學生將操作結果完成在磁盤上,最后由教師逐個查閱磁盤文件再人工評分。這種考試方法很不適應當前形勢的要求,暴露出如下弊端:從出題、制卷、考試、閱卷、成績統計等考試過程繁瑣;涉及環節和人員眾多,試卷保密要求高;閱卷工作量大,特別是操作考試要在計算機上逐一檢查操作結果,費時費力,使教師不堪重負;試卷分析缺乏準確性,一般只能對總分數的結果進行大致分析如分數段統計、平均分計算,不能做到更準確的分析,如均方差、信度、效度分析等難以有效實現;更重要的是,傳統考試不能體現“微機是一項現代高科技的結晶,普及微機應用是微機教學的目的”的基本思想。
綜上所述,該課程的考試迫切需要一套能快速、自動、有效地完成考試環節的系統——無紙化考試系統。下面介紹本人用VB開發的、采用數據庫技術、OLE技術實現的無紙化考試系統的基本功能與實現。
二. 需求分析
經過對該課程的考試環節的分析,系統要能完成如求:
1. 筆試與操作考試一體化 對理論知識與操作技能的考試集中在計算機上完成,理論題多采用選擇題(單項選擇、多項選擇)、判斷題,以利用計算機自動評分。這樣減少了筆試環節,節省了筆試、制卷、紙張、印刷等費用。
2. 考試試卷隨機化 采用題庫技術,考試時從題量很大的題庫中隨機生成試卷,每位考生的試題均不一樣,可以有效地防止試卷泄密、考生作弊等情況的出現。
3. 評分自動化 考生在機上提交試卷后,即由計算機自動完成試卷的評分,成績可以馬上評出。節省了教師的大量時間、精力,避免了考生長時間等分數、閱卷工作中的暗箱操作等情況的出現。
4. 試卷分析科學化 在整次考試完成后,可以自動完成成績的登記、統計、分析等工作,且可以做到精確地分析出考試中均方差、信度、效度等數據,可科學指導以后的教學工作。
三. 功能模塊設計
1. 功能模塊 主控模塊負責系統安全及界面設定。其下分為三個模塊:
2. 題庫管理 主要負責題庫中各種類型題目的增加、刪除、修改、統計等工作,同時還完成考試時間、題型、題量、難度、范圍等要求的設定。由教師在后臺進行操作。也可借助ACCESS輔助管理。
3. 考試監控 該模塊是考生在前臺操作:
3.1 登錄 錄入并核對考生準考證號、姓名等信息;
3.2 組卷 從題庫中按照考試要求隨機抽取試題生成試卷;
3.3 考生環境初始化 完成考生操作考試所要求的文件環境,如文件夾、文件。
3.4 考試 考生點擊開始考試后,完成考試的倒計時、顯示考試題目,考生進行理論知識的答題、動手操作;
3.5 自動評分 在到達規定時間或考生交卷后,系統自動完成試卷的評分,并將成績入庫,馬上給出考試成績。
4. 試卷分析 主要完成考試成績的總體分析、各題得分情況的分析。此模塊由教師在后臺操作。
四. 數據庫設計
基于上述要求,數據庫系統提供如下數據庫表:
1. 考生信息表:包括考生準考證號(C,8)、姓名(C,8)、理論成績(N,3)、上機成績(N,3)、是否合格(F)等字段。
2. 理論題庫表:實際上是單選題、多選題、判斷題等三個數據表。每個表中含編號(N,5)、章節號(N,4)、難度(C,1)、題目(C,200)、選項A、B、C、D(C,50),答案(C,4)等字段。
3. 操作題庫表:根據本課程所要求的操作要求,分別設計了如下幾個表:
(1) 操作系統表 考查操作系統的操作使用。根據考核的基本方面,分為編號、建立文件、刪除文件、復制文件、移動文件、設置屬性等字段,每個字段中前面為操作對象,后面為操作目標,中間用“,”隔開。
(2) 文字錄入表 考查文字錄入速度及正確率。設計編號及文字(M)兩字段。
(3) 文檔排版表 考查WORD文檔排版用。除編號外,根據考試要求,對每項操作設計了一個字段,如字體,字形,字號,對齊,行距,左縮進,右縮進,面面設置,頁邊距,圖形源,圖形大小,圖形環繞等。每個字段也分為操作對象和屬性,如字體(第四段,宋體);
(4) 數據處理表 考查EXCEL進行數據處理。設計基本同文檔排版表。
4.考試要求表 設定考試時間、開始章節、結束章節、難度、單選、多選、判斷、操作系統、文字錄入、文檔排版、數據處理等題型的數量與分數。
五. 程序設計中的主要問題的解決
本系統中的主控模塊、題庫管理模塊的實現與一般的數據庫管理系統一樣,很容易實現。本系統中要解決有如下幾個主要問題:
1. 試卷的生成 考生登錄后按照考試要求隨機生成一套試題,并形成試卷。本系統采用了與題庫中各庫表對應的試卷表。——理論試卷表、操作系統試卷表、打字試卷表、文檔處理表。下面以抽取單選題為例說明其組卷過程如下:
(1)考試要求庫
(2)取出單選題題量
(3)從單選題庫中篩選符合要求(范圍)的題目
(4)判斷題數<題量,若是則顯示錯誤信息,退出;
(5)抽題數=0;
(6)判斷抽題數<=題量,否則進入下一大題抽??;
(7)產生在1——題數范圍內的隨機整數;
(8)判斷該題是否抽過,若是則返回(7)重新產生;
(9)抽取該題入理論題庫;
(10)抽題數增加1,返回(6);
(11)抽取下一大題。
2. 考生環境初始化
主要完成操作系統題、文檔排版題等題目所要求的文件夾與文件。本系統為每一位考生建立以考號為名的文件夾,考生操作環境均在此文件夾環境下進行。在組卷完成后,就自動從試卷庫中取出對應字段值,建立相應文件與文件夾。
2.1 操作系統題環境 在VB中可用MKDIR建立文件夾,建立文件的命令如下: Open 文件名 for output as #文件號 ( 打開文件以寫入)
write 文件號 ,寫入內容 (寫入)
close 文件號 (關閉)
操作系統題中只對文件名進行操作,不涉及內容,因此寫入內容可任定;
2.2 文檔排版題環境 在考生文件夾下生成WORD文檔與相應圖片文件,并寫入相應文字內容;系統采用在程序中用OLE技術調用WORD的生成等處理文件:
Set wrdobj = CreateObject("Word.Application") '建立WORD應用對象
wrdobj.Visible = False '不顯示該對象
Set vardoc = wrdobj.Documents.Add() ‘新建文檔
cztm1 = r3.Fields("文件內容")
wrdobj.Selection.TypeText Text:=cztm1 ‘將文件內容字段寫入文檔中
cztm1 = r3.Fields("文件名")
vardoc.SaveAs filename:=CurDir + "\" + cztm1 ‘以指文件件名保存文檔
wrdobj.Quit SaveChanges:=wdSaveChanges ‘結束該應用程序
3. 考試過程的監控
開始考試后,考生點擊對應按鈕可進入理論考試或操作考試,然后可以方便地作答;對于選擇題只須在對應選項上單擊即可選中,操作題中同樣點擊相應按鈕即可顯示WINDOWS操作題、文字處理等題目要求,點擊“啟動WORD”可自動啟動WORD軟件。屏幕上動態顯示倒計時,在指定時間到達后系統將停止作答??忌部牲c擊交卷按鈕提前交卷。交卷后進入自動評分模塊。
4. 自動評分
評分中理論評分較易實現,只需要將考生答案(都是一些選擇結果)與標準答案進行比較即可快速完成評分。下面主要說明操作考試的評分:
4.1 操作系統評分 檢查考生文件夾下是否有要求的文件或文件夾或是文件屬性。下面是判斷復制文件部分一段程序:
st = r1.Fields("復制文件") ‘取得試卷庫中復制文件操作要求字段;
fdir1 = Left(st, InStr(st, "\") - 1) ‘取得源文件夾
ff = Mid(st, InStr(st, "\") + 1, InStr(st, ",") - InStr(st, "\") - 1) ‘取得源文件名
fdir2 = Mid(st, InStr(st, ",") + 1) ‘取得目的文件夾
If Dir(fdir2 + "\" + ff) <> "" Then osfs = osfs + fs ‘若目的文件夾下有源文件名對應的文件,加該部分得分
4.2 文字錄入評分 逐一比較考生錄入文字與標準文字中匹配字符數即可。
4.3 文檔排版和數據處理評分 這是本系統開發中難度最大的一部分?;舅枷胧牵涸赩B中調用WORD或EXCEL打開對應文檔,再利用VBA編程完成對操作對象的選定、返回選定對象的屬性值、及與試卷中對應要求相比較,從而判斷考生操作結果是否正確。下面給出判斷段落對齊的一段代碼:
Set r1 = d1.OpenRecordset("WORD題")
'取得生成WORD題操作要求'
Set wrdobj = CreateObject("Word.Application")
wrdobj.Visible = True
cztm1 = r1.Fields("文件名") + ".doc"
wrdobj.Documents.Open filename:=CurDir + "\" + cztm1
ActiveDocument.Select ‘打開操作文件檔
With wrdobj.Selection
ActiveDocument.Select
Select Case r1.Fields("字形") ‘字形設置要求
Case "加粗": If .Font.Bold = True Then wordfs = wordfs + 1
Case "傾斜": If .Font.Italic = True Then wordfs = wordfs + 1
Case "加粗傾斜": If .Font.Bold And .Font.Italic Then wordfs = wordfs + 1
End Select
End with
六. 系統應用效果
本系統現已試用于我?!队嬎銠C文化基礎》教學的學期考試中,學生和教師反映都較好?;緦崿F了考試的無紙化,將教師從繁瑣的考試環節中解放出來,節省了大量的人財物,使教師有更多的時間和精力放在題目的科學性建設中和教學內容、教學方法的鉆研中。學生也對學習微機更有興趣了。當然系統也還存在一問題:如理論題只有客觀題,操作題項目比較固定,對題庫管理中數據錄入有嚴格的要求,操作界面相對單調等,這將在以后的使用中不斷完善。
主要參考文獻:
(1).《Visual Basic 中文版自學捷徑》 林躍 ,北京大學出版社;
(2).《microsoft word for visual basic 》電子版,微軟公司。
英文信息:
Title: The intensive Test System Based on Database and Ole and VBA technologe
Author: Chen keli
Address: SiChuan Pharmaceutical School
Zip code: 614201
Abstract: This article introduces a Test System without paper, which is based on Database and OLE and VBA technologe in the VB programme in order to realize the theoritcal knowledge and the operateing skill's test in the course of the Computer Culture Basis.
KeyWords: Database OLE VBA Test without paper
電子郵件:click_ckl@163.com