基于VSTO技术的无纸化考试系统的设计

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:danble
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   摘要:在无纸化考试系统中,自动阅卷是考试系统的一项关键技术。基于VSTO来实现Office主观操作技能题目自动评测的方法,较传统的VBA方法更具优势。分析研究了Office中的文档结构并设计了数据库,通过一个Word的实例说明了开发的细节。
   关键词:Office;自动评测;VSTO;无纸化
   中图分类号:TP312 文献标识码:A文章编号:1007-9599 (2010) 11-0000-02
   The Design of Paperless Examination System based on VSTO
   Liu Huan,Shi Guochuan,Liu Shuangqing
   (Computer Center,Artillery Academy of PLA,Hefei230031,China)
   Abstract:In paperless examination system,automatic marking is one of key technology test system,it provides a new automatic evaluating method for office operating skills based on VSTO,the method is more advantage than VBA.The file structure of Office was analysed and researched,the database was designed,and the details was showed through the development of Word sample.
   Keywords:Office;Automatic evaluating;VSTO;Paperless
   一、系统开发工具的选择
   传统无纸化网络考试系统的设计开发主要以VB6.0(Visual Basic6.0)、VBA为开发工具进行原代码的编写。
   VB是微软公司专业的程序设计语言,目前的最新版本是VB.NET,VBA是内嵌于Office各软件中的宏语言,VBA的目的是强化Office软件的应用,完成应用软件的自动化和程序化〔VBA与VB的语法结构完全相同,简单的说VBA就是内置于Office软件中的VB语言,是VB的一个子集。〕但是由于它们在用户界面、部署和安全性等方面的限制,Microsoft公司提出新的开发技术:基于.NET Framework的VSTO。
   VSTO提供了大量的对象来实现对Office的访问和控制操作。因为无纸化考试系统的操作题主要是针对WORD和EXCEL的操作练习,所以,在设计开发考试系统的自动评分系统时,VB.NET和VSTO是目前最理想的开发工具。借助这两大工具,我们自主开发了一套适用于《大学计算机基础》课程考试的测评系统,并多次进行了期末考试的测试,效果显著,下面对一些关键的实现过程简要论述。
   二、无纸化命题系统的OFFICE数据库设计
   在系统开发中,我们用到对OFFICE三个部分的访问:ACCESS数据库、Excel电子表格、Word字处理系统。VB.NET和VSTO以面向对象的编程方式实现对它们的访问和控制。常用的数据库访问对象和控件有DataBase对象、Recordset对象、DAO(Data Access Object)对象、RDO(Remote Data Object)对象、ADO(ActiveXData Object)对象及Data控件、DataGrid控件、DataList控件。Excel电子表格中常用的对象有活页簿Workbook对象、工作表Sheet对象、单元格Range对象、Chart Object图表对象等。Word中用到的对象有Document文档对象、Range范围对象、Pagesetup页面设置对象、Font字体对象、Paragraph段落对象、Table表格对象、Shape图片对象等,通过对这些对象的定义或引用、设置对象的属性、方法和事件,就可以完成测评系统重点程序的开发。
   下面以Word对象为例,分析这些常用对象的层次结构。
   Word对象是按层次顺序排列的,层次结构顶端的两个主类是Application类和Document类。Applicationn对象提供整个应用程序的包装,每个Document对象表示单个word文档,Paragraph对象对应单个段落。这些对象各自都有很多方法和属性,可以使用这些方法和属性操作对象或与对象交互。
   (一)Application对象
   Application对象表示Word应用程序,是其他所有对象的父级。它的所有成员通常作为一个整体应用于Word。可以使用该对象的属性和方法来控制Word环境。
   (二)Document对象
   Documeni对象是Word编程的中心。在打开文档或创建新文档时,就会创建新的Document对象,该对象被添加到Word的Document集合中。焦点所在的文档称为活动文档,由Application对象的ActiveDocument属性表示。
   (三)Selection对象
   Selection对象表示当前选择的区域。在Word用户界面中执行某项操作,例如对文本进行加粗时,应首先选择或突出显示文本,然后应用格式设置。Selection对象始终存在于文档中,如果未选中任何对象,它表示插入点。此外,该对象还可以表示多个不连续的文本块。
   (四)Range对象
   Range对象表示文档中的一个连续的区域,由一个起始字符位置和一个结束字符位置定义。Range对象的数量并不局限于一个。可以在同一文档中定义多个Range对象。
   三、开发基于VSTO的自动评分系统
   同利用VBA创建Office解决方案相比,基于VSTO的Office解决方案更加快捷和安全。首先,VSTO提供的编程模型扩展了Word和Excel的一些公共对象,这些对象已具备数据绑定的能力。VSTO编程模型背后的理念是把数据及其表现形式分离开来,不用在文档里查找显示这些数据的对象,就可以直接访问存储在数据源里的数据。VSTO提供的数据缓存功能无需在服务器上运行Word或Excel,就可以直接访问文档里的数据。其次,在VSTO中为Word和Excel创建智能标记更简单,使用提供的SmartTag类可以通过指定要识别的术语(term)和识别出来术语时要执行的操作(action)。在安全和部署方面,VSTO使用.NETFramework的代码访问安全功能(Code AcCessSecurity,CAS),通过诸如代码的位置、代码是否经过签名以及管理员所设置的权限等标准来判断代码是否安全。下面以Word操作题的出题和自动评分为例,给出利用VSTO的自动评测方案。
   为了实现自动评测,出题人员需根据题目要求将相应的标准答案文档(doc、xls)上传至数据库中。在出题的过程中出题人员可以选择考核的知识点,操作类函数将根据出题人员选定的考核知识点,在初始化文档和答案文档中设置一个名称相同的智能标记,该标记是评测的依据。出题过程如图1所示。
   在操作题考试中,服务器发送试卷,学生收到题目,并按题目完成指定操作,交卷时,客户端将理论题、操作题的所有考试结果压缩成一个文件后,发送到服务器指定的目录。最后使用阅卷系统,读取考试结果,给出每个考生的成绩。阅卷系统Word操作题的评阅操作如图2所示。
   在评分处理处理过程中,除图片处理外,其他各种操作都应该是标准答案,按照属性相同得分,不同不得分,得到考生操作题成绩。图片的评分只要学生提交的图片大小高、宽和标准答案差距在一定范围内,评分都应该算答案正确。
   四、结语
   无纸化考试系统的理论及相关的技术在不断发展,本文讨论的VSTO技术使用了VS.NET的开发环境,利用VB.NET编程语言开发实现了《大学计算机基础》等计算机课程课程考试中的Office自动评分的目的,评分过程中对Office对象模型及属性的操作具有比传统的VBA技术更加简单、便捷的特点,具有巨大的应用前景。
   参考文献:
   [1]彭小平,颜清.基于VBA的“自动出卷”嵌入式应用程序[J].华东交通大学学报,2004,8
   [2]沈媛媛,刘益成,郑恭明.利用VBA在Word中实现试卷的自动生成.电脑学习,2007,2
   [3]苑青等.利用VSTO和.NET的Office开发技术[J].电脑编程技巧与维护,2009,6
   作者简介:刘欢(1981,11-)男,汉族,安徽省合肥市,解放军炮兵学院计算中心,硕士,讲师,研究方向:网络应用
其他文献
利用Citespace软件,对1980—2017年WOS数据库中的961篇技术标准化文献进行了知识图谱分析。研究表明:技术标准化研究经过20年增速缓慢的酝酿期后,自2000年发文量持续增长;欧
“创意是广告的灵魂.广告是创意的载体.广告如何打动消费者.让消费者产生购买行为都是创意的核心内容。“走进位于青岛市宁夏路319号2号楼301的青岛恒朗文化传播有限公司.一群年