基于数据库、OLE及VBA技术的《计算机文化基础》集成考试系统

发表于:2007-07-02来源:作者:点击数: 标签:
基于数据库、OLE及VBA技术的《计算机文化基

        基于数据库、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




原文转自:http://www.ltesting.net