基于Web的计算机办公软件高级应用判题系统

时间:2022-08-11 08:37:20

基于Web的计算机办公软件高级应用判题系统

摘 要: 针对高校普遍使用的BB平台现有的在线测试节点只有选择、判断题型的试题的情况,结合信息化办公高级应用技术课程的教学实际,分析学生的实际需求和现有BB平台的节点添加方式,阐述了基于Web多线程同步的办公软件高级应用判题系统的开发过程及所使用的关键技术。

关键词: 判题系统; MVC; BB应用; 多线程同步; 办公软件高级应用

中图分类号:TP393 文献标志码:A 文章编号:1006-8228(2013)04-66-03

Judge system for office software application based on Web

Wen Shengzhang, Lei Ling, Chen Qianqian

(China Jiliang University, Hangzhou, Zhejiang 310018, China)

Abstract: The widely used BB platform has the disadvantage that available online test nodes can only provide with questions of multiple-choice and judgment for an examination. According to the teaching requirement of the office advanced application, after analyzing the actual needs of students and the node adding method of the existing BB platform, the development process of the multi-thread synchronization online judge system for office software application and its key technology based on Web are presented in this paper.

Key words: judge system; MVC; BB application; multi-thread synchronization; office software application

0 引言

目前,美国微软公司(Microsoft Inc.)开发的Office系列办公软件在社会各大、中、小型企业和各类学校,以及社会组织中得到了广泛的应用。随着计算机的普及,办公软件的应用带来的不只是时间的节省,还可以协助人们制作出一系列令人耳目一新的文档、图表、幻灯片。根据教育适应社会需求的初衷,教育厅对培养在校大学生办公软件高级应用能力进行了大幅度的改革,将其纳入计算机等级考试,定位于二级,促使学校等教育机构将眼光放到Office办公软件的实际应用能力的训练上来。这就产生了对于Office应用操作在线考试系统的需求。现有的在线考试系统虽然替代了人工判题,避免了大量的人力、物力的投入和学生练习不方便、教师改题不方便等情况的发生,但是仍然存在例如智能抽题、自动化阅卷效率、评分时的定位和处理多线程判题等诸多问题。本文介绍了一个由教师参与维护,由机器自动抽题组卷并阅卷,连接现有BB教学平台的学生办公软件应用练习考试系统。

可将Office操作题自动阅卷技术划分为四种:转换为Rtf文档、使用Xml评分特征文件的属性探测法[1]、OLE自动化应用程序和使用VBA技术。其中VBA技术是目前较流行的方法[2]。

朱明巧[3]阐述的自动阅卷系统采用将Word生成的Doc格式文档转换为Rtf格式文档,该方法现在来看已经过时了。张量[4]等设计了对象类别、对象属性和对象属性值“三级”细则,在自动阅卷时利用标准答案的字符串与考生试卷的文档属性值做比较。薛万奉等[5]主要提出利用Office组件对象模型机制的调用,该理论能初步实现部分操作题的自动阅卷,但是通用性没有提及。

目前高校教学的需求是:办公软件高级应用课程的实际操作训练急需一个适用的考试系统,而现有的一些系统存在着诸多不尽如人意之处,例如:①题目模式固化,一套软件中固化所有的题目,使得题目无法修改,无法增加,无法删除,总之题库无法由使用者自主进行更新,没有可持续发展的价值;②使用客户端判题模式,从而容易造成答案泄露,而且一旦客户端出现问题,会导致学生成绩归零,服务器不方便单一获取客户端的数据以及判断客户端上是否存在作弊行为;③在智能抽题时对于一些组卷细节固定得过于死板,没有灵活的人工干预界面;④对于多线程并发处理不十分合理;⑤当学生答题部分正确时,判分逻辑不够合理明确。

针对这些需求,本文介绍了一个在线的Office高级应用判题系统,该系统包括了Word、PPT、Excel三种软件操作题型机器的随机出题功能和在线判题等功能的应用平台,能让学生平时练习或为参加省二级办公软件高级应用考试备考时通过互联网,不局限于客户端,完成办公软件的练习。给学生提供方便的学习环境,给教师提供一个完整的辅助教学平台。

1 系统结构

基于BB课程平台的应用需求和学生课下练习的实际需求,本系统考虑采用C/S模式;同时考虑今后操作系统的更新换代和Office软件的更迭速度,服务器采用Win7,安装ISS6以上版本,Office可用版本2007(可兼容版本2003),数据库采用sqlserver2005。

该系统将使用在线判题,将用户分为教师和学生两类,如图1所示,其中教师的权限相当于管理员,可以修改添加题库内容、添加学生用户并设置考试密码;学生使用自己的电脑访问服务器,输入自己的用户名、密码登录系统,可选择做练习或模拟考试。

系统根据学生的选择进入考试模式或普通练习模式,这两个模块的功能不亚于普通的客户端判题系统。考试模式使用随机抽题和计时功能,让学生在规定的时间内做完相应的题目。试卷的扩展性和可伸缩性非常强,每道题都可以由教师自定义题目类型、题目分数、题目范围。进行考试的时候还能自定义考试时间。学生提交的试卷在数秒的判题之后,能直接看到分数,点击分数还能查看错误题目的细节。

2 系统实现

考虑到软件的实用性及其可扩展性,本系统的设计架构使用基于MVC设计理念的三层架构,将用户交互界面(UI)层、业务逻辑层(BLL)、数据库访问层(DAL)进行了分离,在BLL和DAL之中使用工厂类对数据库访问类进行生产,产生相应的访问对象,这样的设计模式可以让使用者的数据库类型与系统设计的代码的耦合度降到最低,组件与组件之间的相关性也降到最低,方便了系统错误调试、后期维护和升级,给程序的后续开发提供了极大的便利。

2.1 技术难点分析及解决方案

综合对比其他解决方案,结合本系统开发的需求,我们发现系统实现的主要难点有两点。

⑴ 难点之一是用户练习请求的提交,综合考虑学科现有硬件设备等因素,我们采用线程封锁方式,将提交的请求放入一个全局队列中,使用全局队列访问应用程序对象,再使用数据库中存有的题目类型,进行相应的判断,并给出得分。

⑵ 难点之二是各种判题算法的设计,判题逻辑是关系到系统运行速度和系统资源消耗量的重要因素,正确且良好的判题逻辑能增加题目判断的正确率,减少误判、错判的几率,同时可以增加判题的效率,减少系统资源的占用。

2.2 判题逻辑的设计

对于不同的题目类型我们采用了不同的判题逻辑。

⑴ Excel判题

公式题:对公式单元格进行遍历,与答案中相应的单元格进行对比。例如:若单元格中都存在公式,都包含数组,得出的值都是一致的,则得分;否则得分为(正确单元格数)/(总单元格数)*总分。

筛选题:对存在的表单进行定位,再一一遍历,若学生文件与答案文件的相应区域无法对上,则不得分。

数据透视题:判断数据透视表的个数(或者是否建立了数据透视表)若不相符,则判断为错误。

⑵ PPT判题

模板与配色方案:依次按照题干的要求,进行颜色的每一项判断。

母版:判断每一张幻灯片母版中的每一个框内内容和格式,根据出错率扣分。

动画效果:访问每一张幻灯片中的时间轴,读出时间轴中的幻灯片效果,如果与答案不符,则不得分。

幻灯片切换效果:依次遍历每张幻灯片,判断幻灯片切换样式,根据出错率扣分。

幻灯片的放映效果:依次遍历每张幻灯片,判断幻灯片的放映效果,根据出错率扣分。

⑶ Word判题

Word判题有一些特殊之处,主要是定位问题较难解决,如果遍历每一个段落,以此来判断整个正文的样式则判题效率低下。所以我们出题时在考生的原始文档中加入隐藏标记(如书签)为判题时做好定位标记。判题时使用Word域来进行每一个引用样式的判断(如目录,交叉引用等在Word中都是域)。如果域类型错误,则直接判为错;接着判断,如果有超链接,则引用到超链接的地方进行判断。

3 模块设计

本系统使用的构架是.net framework 4.0,采用微软的Office类库进行相应的判题操作。Office类库的全名是Microsoft.Office.Interop。该命名空间中我们使用了几个DLL动态链接库,三大类库的函数的使用构成了本系统的判题核心函数。详细功能模块如图1所示,以下仅对关键性模块进行介绍。

3.1 安全模块

本判题系统的首页比较简洁,因为操作平台是在登录后才会显示,网站采用了相关的封锁方法,将用户的非法访问拒之门外,保证了内部系统的安全性和可靠性。用户权限暂时设为两种等级。①管理员级别,拥有对网站全权操作与管理的权利,可以对学生的注册进行审核,可以开放或关闭网站的注册权限,可以关闭或开启Office进程进行内存释放动作等等权限。管理员账户不开放注册,只提供给一位底层管理员使用。任课教师可以查看学生做题的错误信息,可以试卷、增加修改或删除试卷题目等,封停、恢复学生帐号的权限。②学生用户级别,学生拥有参加练习、提交题目等基本权限。不同学生之间的答题信息不能相互查看。系统的数据库访问全程使用了数据库防注入的基础设置。可在一定程度上避免数据库注入漏洞的出现。保障了数据库的安全。数据库访问账户具有一定的限制,不能查看一些“不可见”的重要数据,对数据进行了保密。

3.2 稳定性及线程封锁模块

在服务器运行稳定性方面,本系统通过线程同步机制进行了线程封锁。默认情况下提交队列在同一时刻只允许一条线程进行提交,判题时,也只允许一个线程判题,判题完成后才允许回应下一个请求,这样的设计考虑到了服务器的承受能力与用户等待时间之间的权衡。线程数的外部接口已经预留,用户可以更改外部文件中的线程数来改变服务器运行时的线程,达到稳定和高性能的平衡。目前该设计还未通过压力性测试,无法给出压力稳定性的描述。

3.3 判题模块

判题模块分为Excel判题,Word判题,Powerpoint判题三个模块。三种判题方式均采用比对的方法,让出题者输入题目范围和小题的类型,系统将这些信息记录到数据库中。等到学生提交的时候,系统将这些数据取出,在一个对象中记录题目的属性,在提交队列中取出一项提交记录,根据题目属性中的范围和类型执行相应的判题函数,最后将错误记录到数据库中;在答题记录页面,系统会列出每一位学生的成绩(个人只可查看本人所做题目的详细记录),学生可以根据这些错误信息对自己的题目进行更正。

另外,在判题模块中突破性地提出对于学生考试成绩复查的案例的处理,即启用全文对比这种能保障正确率的办法,对学生试卷进行在线重判。在判题系统中,由于使用全文比对,其正确率得到了极大的保证,但是判题效率会下降。本系统采用标记判题与全文对比相结合的方法,分别处理常规阅卷和复核阅卷的情况,既可以保证阅卷效率,又可以保证阅卷的正确率,试用证明效果良好。

4 结束语

本系统创新地采用Web的方式,使用户无需下载客户端即可在线进行题目的练习、自测考试。同时在题目方面,克服了传统软件的将题目写进代码中的缺点,本系统允许教师对题目进行创建,生成一个题目代号。处于练习状态的学生可以自由地在系统中下载相应的题目,提交相应的题目代号,上传文件后,系统就能自动调用题目答案,进行判题。考试状态由系统根据试卷生成规则进行抽题并生成试卷,实现了Office在线判题系统从离线到在线完整的转变。实际试用证明,该系统较之以前的系统更为灵活适用,并可以结合BB平台链接使用。

但是现在我们的系统由于机器性能的原因,无法做大规模,所以我们进一步研究的目标是以Memcached或者Redis做内存缓存,进行模拟分布式的研究;在拥有线程锁的情况下,加大线程队列,完成并发判题。

参考文献:

[1] 蔡银珊.《计算机应用基础》课程自动阅卷系统的研究与设计[D].广东工业大学,2007.

[2] 邵晓兵,廖慧芬.Office实践操作自动评分的实现[J].计算机与现代,2005.8(12):135-136

[3] 朱明巧,陈越.一个自动阅卷系统的设计与实现[J].计算机工程与科学,1999.21(3):66-70

[4] 张量,詹国华.开放式、智能化计算机考核阅卷系统的设计与实现[J].计算机工程与应用,2001.37(10):147-150

[5] 薛万奉.浅叙上海水产大学《计算机应用基础》的考试系统[J].上海水产大学学报,2004.13(1):92-93

上一篇:RTK基站设置解析 下一篇:航空青年乘务班组建设的管理对策