基于数据库、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软件。屏幕上动态显示倒计时,在指定时间到达后系统将停止作答。考生也可点击交卷按钮提前交卷。交卷后进入自动评分模块。
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 文档排版和数据处理评分 这是本系统开发中难度最大的一部分。基本思想是:在VB中调用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
六. 系统应用效果
本系统现已试用于我校《计算机文化基础》教学的学期考试中,学生和教师反映都较好。基本实现了考试的无纸化,将教师从繁琐的考试环节中解放出来,节省了大量的人财物,使教师有更多的时间和精力放在题目的科学性建设中和教学内容、教学方法的钻研中。学生也对学习微机更有兴趣了。当然系统也还存在一问题:如理论题只有客观题,操作题项目比较固定,对题库管理中数据录入有严格的要求,操作界面相对单调等,这将在以后的使用中不断完善。
主要参考文献:
(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