本栏目责任编辑:谢媛媛
jquery在线免费学习技术软件设计开发
OES 在线考试系统关键技术的研究与实现
陈岳欣,蔡柳萍
(广州理工学院计算机科学与工程学院,广东广州510540)
摘要:OES 在线考试系统是一个以高校为背景构建的在线考试系统,意旨为高校提供一套完整的权限化校园在校考试解
决方案,以此降低出卷成本,提高阅卷效率,展现教学公平性、教研科学性,实现教育智能化。系统包含在线考试、成绩分析、试题与试卷的信息维护、权限指派等功能,实现了整个考试过程的自动化控制和数据信息化、权限化管理。随机抽题组卷(丰富的组卷方式)、每次进入随机刷新试题顺序、主观题辅助评分并且可由老师复查主观题给出最终分数是本系统的三大创新点。该文针对在线考试系
统的三大创新点进行了深入的研究和分析,最终实现的系统具备高可用、细粒度交互、高效率等诸多优势。关键词:权限化;随机组卷;辅助评分;高可用中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2020)36-0092-03
开放科学(资源服务)标识码(OSID ):
1系统介绍
一个符合现代化市场需求的在线考试系统,不仅要有完善的权限管理和过程控制以体现在线考试的优势,同时还要体现关键技术点和系统性能优化,诸如智能评分、多样化随机组卷和系统高可用性等。可靠的权限管理可以有效限制不同角用户的系统模块操作权,并且细化到对具体功能的使用;自动评分利用数学运算带来高效准确的分数计算,同时利用相似系数算法辅助主观题评分结合复查功能,可以充分发挥算法便捷性以提升教师阅卷效率;难度可控、题型可控的随机组卷功能可以让教师组合出的试卷不但类型多种多样,难度也分布适中;在高可用软件架构的加持下,充分利用服务器与中间件的资源,提高考试排队效率,让更多用户可以稳定地加入考试中来。OES 在线考试系统正是以以上需求为基准进行功能规划和设计的。1.1开发技术
OES 在线考试系统开发流程包含服务端开发和前端页面开发。服务端使用Spring Boot 作为主体支撑框架,内置丰富的WEB 开发控件、数据交互组件和工具类库,以此作为服务基础能力提供者,数据访问层使用MyBatis 轻量ORM 框架,实现服务层的数据读写,这两个重要应用技术的结合是实现高可用架构的前提之一;数据库使用MySQL 进行用户数据持久化和基于Redis 实现的分布式会话存储与相关数据二级缓存功能。前端使用AdminLTE 3作为整体的视图框架,使用Beetl 作为视图模型控制框架,引入JQuery 作为与后端进行异步数据请求的组件,完成相关自动化脚本代码执行、数据视图渲染等重要工作。1.2软件架构
高可用系统首当其冲需由高可用软件架构进行驱动,良好
的软件架构是实现系统高效运行以及高度可靠的核心。本系
统以B/S 架构模式作为构建的前提,使用业务功能层面高度区分的分层架构,从视图模型到业务逻辑的数据传输,从数据库的数据访问交互层级到应用信息缓存技术的综合应用和中间件部署方案,分别做了对应层级的开发工作。
1)前端视图层实现视图全局刷新与局部刷新,同时引入JSON 数据交互功能,通过JSON 完成数据交互以实现相关数据渲染和回显,实现视图与JSON 数据处理的并存环境,它们是独立的个体,服务端和客户端上均不存在数据上的直接耦合关系。
2)业务层对各模块进行了细致的划分,以角作为访问控制端点即RBAC 模型,通过拆分细化业务分工,降低业务之间的耦合度。这样的处理方案不但能实现代码组件化,提高系统的可维护性和拓展性,也可以为协同开发带来友好的编码体验。
3)数据层包含相关读写操作的事务控制,数据缓存和相关业务的Mapper 文件和与数据属性映射相关的配置。使用MyB⁃atis ORM 框架完成业务与数据库间的数据交互,建立起业务与数据之间的沟通桥梁。其中系统的全局权限管理交由基于动态代理的前置通知持有,对请求进行权限校验,隔离主体业务,业务侵入程度低,是一个非常实用的系统权限管控解决方案。
4)数据库方面使用MySQL 对系统数据进行持久化,建立数据库主从同步架构以实现数据读写分离,数据库读写实现物理级的隔离,从根本上提升系统数据库的读写能力,同时,数据库主备架构可以为数据库故障带来降低风险、更完整的备份与恢复能力等主动容灾策略,在发生故障的时候可通过主备切换保证系统能够持续运行。使用Redis 实现了分布式会话管理,便于集化部署时能统一接管用户会话。如图1所示为本系统
收稿日期:2020-09-08作者简介:陈岳欣(1998—),男,本科在读;蔡柳萍(1981—),女,湖南宁乡人,副教授,硕士,通信作者,主要研究方向为软件工程、机
器学习。
92
软件设计开发
本栏目责任编辑:谢媛媛
Computer Knowledge and Technology 电脑知识与技术
第16卷第36期(2020年12月)
的软件架构图。
图1软件架构图
2关键技术的实现
OES 在线考试系统的关键技术包含随机抽提组卷,随机刷新试题顺序和主观题辅助阅卷三项,这三项关键功能的实现所使用的关键技术和实现策略各不相同。2.1随机抽题组卷
随机抽题组卷是发布试卷的方式之一,也是本考试系统的核心功能点之一。依据设计要求实现,对提交的试卷信息根据指定专业、指定题型从题目库中随机抽取试题编号,对于指定难度的筛选则会在抽取试题编号之前将指定难度的题目查询出来。利用随机算法组合出题目编号集合,并将试卷信息插入试卷表中。如果试题不够,则会在进行随机的时候抛出异常,由试卷控制器捕捉异常,在前端页面弹出提示。详细的随机抽取流程是随机抽题组卷的实现策略,首先借助本系统试题库,使用考试科目编号、试题数量、试卷题型分布和试题难度这四个可选条件,利用XML 标签构成一条动态的SQL 查询语句,通过业务请求后获取符合筛选条件的数据集合,按照本系统的随机抽题逻辑,首先对查询后所得到的结果集合长度与目标题目数量进行简单的长度比较,符合长度的情况下再进行一层的判断,通过Java 内置的随机函数库Random ,以目标数量为终点索引组成随机分布题目编号,目标长度与集合长度相等的情况下则不进行随机,此时不启动随机函数库进行相关计算,直接引用集合内的试题对象数
作为试卷试题。这样的预判逻辑在符合后者的情况下,可以节省系统随机库启动带来的线程资源消耗,也可以减少堆的垃圾回收工作。最后一种情况指题目数量不够的,可以直接结束抽题方法的进一步执行,直接抛出异常信息,交由系统全局异常处理器进行异常响应数据体的封装,由前端响应“相关题型的题目数量不足”的友好回调信息,让使用者知晓在其设置的这种组合条件下无法满足题库给出足量的题目进行组卷,需要进行修改,或者录入相关的试题补充该题目在题库中的数量。同时,教师可以通过导入的方式进行组卷,在导入试题出卷后,在提交试卷信息之前可以选择是否抽取题库中任意题型和题量对试卷进行题目的补充,提高试卷丰富度。例如,教师可以导入一张只有选择题、填空题和判断题
的试卷,主观题和多选题可由教师自己决定是否由系统自动抽取相关类型题目对试卷题型进行题型补充,且可自由决定抽取部分题目的难度,起到对试卷题目的丰富作用,系统的随机抽题组卷流程图如图2
所示。
图2随机抽题组卷流程图
2.2随机刷新试题顺序
随机刷新试题顺序是本系统的考试反作弊策略之一,不但
可以有效防止学生对答案行为这种作弊行为,而且在题量大的情况下,经过打乱后的试题,其题目顺序分散程度会更加显著,防舞弊效果更佳。学生进入考试之后,不同考生之间的试卷题目顺序是不一样的,刷新考试页面也会导致试题顺序重排。这里使用了Java 工具集合类内的集合随机排序算法实现集合元素的随机重排序,实现题目乱序。其具体的实现策略是先根据试卷编号获取试卷题目信息,接着在题库中检索相应题目的数据集合,通过集合内建静态方法shuffle 打乱集合中所有元素。shuffle 使用Random 静态变量获取随机数对象,首次使用初次初始化的对象,以此降低该方法的初始化成本,接着会对集合元素进行循环,利用内建交换元素方法完成随机索引位置置换,方法内部的具体实现是使用循环的方式更替集合内的元素,同时维护着一个有效索引集合,每完成一次循环便从有效索引集合中移除一个有效索引位置,在该数组内进行索引随机定位,最后以迭代方式组件出新试题集合,由此达到打乱集合内元素的效果。
2.3智能阅卷(主观题辅助评分)
自动阅卷是考试过程自动化控制的重要体现之一,对客观题而言其答案唯一,而主观题往往考查考生的知识面。主观题自动评分利用了相似系数进行文本比较,通过Jaccard 相似系数计算算法计算题目得分,当文本关键词匹配越多,相似度就越高;利用相似系数计算基础得分后计算学生答案长度,当长度与正确答案字数差距达到设定阈值时,会在基础分上扣减分数,分数使用小数格式化对象进行计算和向下类型转换,确保得分精度偏移尽可能最小化,同时使用快速失败法,率先判断学生提交答案是否为空,空值说明未作答直接得零分,反之进行计算。该计算方法使用了工具类进行了独立封装,对外只暴露一个评分静态方法,根据题目对应的题型编号,使用switch 语法判断并选择对应的计算方法进行评分,此处体现Java 语言封装特性。完成试卷评分之后会得到考试成绩,此时,系统为学生提供了考试相关的分数统计报表和错题集等信息,给学生提供了完整的考试体验,学生查询到错题与实际得分有出入可向老师提出复查请求,教师可以根据实际情况重新进行判定,是否修改系统阅卷所得分数,并给出的相关评分理由。
93
本栏目责任编辑:谢媛媛
软件设计开发
Computer Knowledge and Technology 电脑知识与技术第16卷第36期(2020年12月)
2.4动态权限访问控制
动态权限是系统业务权限化的重要体现,既要突出业务与权限之间松耦合,实现可配置化的灵活的控制,又要实现权限与用户角间的关联性,突出系统的是围绕着角访问控制(RBAC )这一基础安全特性来开发的,权限化系统使得不同角的业务功能区别明显,有明显的区分度,这便是RBAC 模型所要实现的事情。权限管理在本系统中地位十分重要,它区分了用户身份,限定了用户的权限等级(角),不同用户登录系统能够获得不同的权限,完成各自的功能,保证系统在不同的场景都能够稳定运行,系统利用Spring 框架优秀的面向切面编程思想,使用动态代理的方式实现了接口权限控制,具体的实现策略是防止执行前有一层代理来实现用户请求鉴权,配合自定义注解和环绕通知对用户发起的请求做权限校验,同时会缓存用户权限以降低数据库的访问压力,最终实现权限校验对系统业务的零入侵。
3结束语
本系统综合多项现代应用技术,利用在线考试的优势和核
心技术实现,构建出一个更加符合真实考试和线下阅卷场景的
在线考试系统,同时引入多方面的反作弊策略,补足传统在线考试系统在评卷和反作弊等方面的短板,
为教师和学生带来更加贴近线下考试场景的体验,以角访问控制作为鉴权的载体,利用Spring 框架提供的诸多特性,为系统的细粒度权限控制、数据交互等基础设施建设工作带来更为高效便捷的实施环境。
参考文献:
[1]李继伟.基于ASP.NET 和Ajax 技术的在线考试系统关键技术研究[J].电子测试,2020(14):74-75,85.
[2]赵英萍,毛玉萃.基于Java Web 的在线考试管理系统的设计与实现[J].电脑知识与技术,2020,16(19):47-48,51.
[3]庞希愚,王成.高校程序设计类课程网上考试自动组卷方法的研究[J].中国教育信息化,2020(14):93-96.
[4]杨伟凡.基于Java 技术平台的在线考试系统的设计与实现[J].卫星电视与宽带多媒体,2020(3):99-100.
[5]潘宏.高校学生考试系统的设计与实现[J].信息与电脑(理论版),2020(1):76-78.
【通联编辑:谢媛媛】
(上接第72页)
5结论
通过以上程序的改进过程可以发现,只要不迷信于教材中的经典案例,勇于改进,勇于创新,就能够向学生传授更加科学合理的知识和技能。而这个案例的改进过程本身,也是对学生进行创新教育的一个很好的样板。
参考文献:
[1]陈涛.面向编程能力培养的C 语言教学模式研究[J].计算机教育,2020(1):100-103.
[2]薛小锋.案例教学在非计算机专业“C 语言程序设计”教学中的应用[J].江苏技术师范学院学报,2010(4):80-82,88.
[3]丁海燕.高级语言程序设计案例教学模式的探讨[J].计算机教育,2011(8):65-68.
[4]谭浩强.C 程序设计[M].5版.北京:清华大学出版社,2017.[5]田淑清.全国计算机等级考试二级教程——C 语言程序设计(2016年版)[M].北京:高等教育出版社,2015.[6]巨同升.C 语言程序设计新思路[M].北京:科学出版社,2020.
【通联编辑:王力】
(上接第79页)
[2]袁征,白雪松.看屏幕不等于读书——文本呈现方式对学生阅读效果的影响[J].教育发展研究,2016,36(20):15-20.
[3]张伟.图书馆设备信息化管理探讨[J].中国教育技术装备,2015(17):72-73.
[4]官方文档[EB/OL].developers.weixin.qq/mini⁃program/dev/framework.
[5]艾佳.小程序的现状与发展[J].新媒体研究,2019(9):80-81.
[6]刘颖,高俊宽.江苏省“211工程”高校图书馆公众平台建设现状及对策研究[J].图书馆学研究,2018(3):41-47.
[7]林平.图书馆运维管理系统的设计与实现[J].图书馆界,2014(2):79-82.
[8]吕云翔.小程序,大未来:小程序开发[M].北京:电子工业出版社,2018.
[9]小程序从0到1:全栈工程师一本通[M].赵建华,译.北京:机械工业出版社,2018.
【通联编辑:谢媛媛】
(上接第91页)
参考文献:
[1]夏曦,李洪,贾香恩,等.基于Java Web 的“大学印迹”网站的
设计与实现[J].电脑知识与技术,2018,14(23):120-122.
[2]王昆鹏.基于Java 技术的精品课程网站设计与开发[D].上海:华东师范大学,2010.
[3]周晶.基于JAVA 技术的B2C 电子商城网站系统设计与实现
[D].上海:复旦大学,2009.
[4]冯学军.基于SSH 框架的Web 网站设计与实现[D].长春:长春理工大学,2010.
[5]苏姗娜.基于Java EE 的就业信息管理系统设计与实现[J].辽宁高职学报,2011,13(7):85-87.
[6]王雪梅,郭丽娜.基于SSH 的在线考试系统的设计与实现[J].软件,2015,36(12):132-136.
【通联编辑:谢媛媛】
94
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论