基于数据库、OLE及VBA技术的《计算机文化基础》集成考试系统
发表于:2007-07-02来源:作者:点击数:
标签:
基于数据库、OLE及VBA技术的《计算机文化基
基于数据库、OLE及VBA技术的《计算机文化基础》集成考试系统
陈克力
内容提要:本文介绍了在VB中利用数据库技术、对象链接技术(OLE)及VBA编程
开发的集成考试系统,从而实现在《计算机文化基础》课中对理论
知识与操作技能进行无纸化考试与自动阅卷。 关键词:数据库 OLE VBA 无纸化考试 一. 问题提出
《计算机文化基础》是非计算机专业都要开设的一门文化基础课,主要考查学生必要的理论知识与熟练的操作技能。该课程的传统考试一般分为两个部分——笔试与操作,笔试将答案答在纸上再由教师进行人工阅卷(大型考试中也利用机读卡阅卷)。操作考试又分为基本操作、中英文录入、操作系统使用、文档排版(WORD)、数据处理(EXCEL)等方面,需要在教师监考下学生将操作结果完成在磁盘上,最后由教师逐个查阅磁盘文件再人工评分。这种考试方法很不适应当前形势的要求,暴露出如下弊端:从出题、制卷、考试、阅卷、成绩统计等考试过程繁琐;涉及环节和人员众多,试卷保密要求高;阅卷工作量大,特别是操作考试要在计算机上逐一检查操作结果,费时费力,使教师不堪重负;试卷分析缺乏准确性,一般只能对总分数的结果进行大致分析如分数段统计、平均分计算,不能做到更准确的分析,如均方差、信度、效度分析等难以有效实现;更重要的是,传统考试不能体现“微机是一项现代高科技的结晶,普及微机应用是微机教学的目的”的基本思想。 综上所述,该课程的考试迫切需要一套能快速、自动、有效地完成考试环节的系统——无纸化考试系统。下面介绍本人用VB开发的、采用数据库技术、OLE技术实现的无纸化考试系统的基本功能与实现。
二.
需求分析 经过对该课程的考试环节的分析,系统要能完成如求: 1. 笔试与操作考试一体化 对理论知识与操作技能的考试集中在计算机上完成,理论题多采用选择题(单项选择、多项选择)、判断题,以利用计算机自动评分。这样减少了笔试环节,节省了笔试、制卷、纸张、印刷等费用。 2. 考试试卷随机化 采用题库技术,考试时从题量很大的题库中随机生成试卷,每位考生的试题均不一样,可以有效地防止试卷泄密、考生作弊等情况的出现。 3. 评分自动化 考生在机上提交试卷后,即由计算机自动完成试卷的评分,成绩可以马上评出。节省了教师的大量时间、精力,避免了考生长时间等分数、阅卷工作中的暗箱操作等情况的出现。 4. 试卷分析科学化 在整次考试完成后,可以自动完成成绩的登记、统计、分析等工作,且可以做到精确地分析出考试中均方差、信度、效度等数据,可科学指导以后的教学工作。
三. 功能模块设计
1. 功能模块 主控模块负责系统
安全及界面设定。其下分为三个模块: 2. 题库管理 主要负责题库中各种类型题目的增加、删除、修改、统计等工作,同时还完成考试时间、题型、题量、难度、范围等要求的设定。由教师在后台进行操作。也可借助A
CCESS辅助管理。 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
原文转自:http://www.ltesting.net