摘 要: 为了满足网络教学平台的快速发展需求,研究了网络考试系统的设计和实现路径,基于J2EE完成了系统总体架构的设计。阐述了各模块的功能,包括用户管理(注册、注销等)、试卷及试题管理、在线考试、成绩查询及管理等,通过软件框架及数据库的设计以确保网络考试系统的功能实现,且系统操作简单易于维护。
关键词: 网络考试系统; 自动组卷判卷; 实现路径;
Abstract: In order to meet the rapid development needs of the network teaching platform, this paper mainly studies the design and implementation path of the network examination system, completes the design of the overall system architecture based on J2 EE. This paper expounds the functions of each module, including user management(registration, cancellation, etc.), test paper and test question management, online examination. The functions of test, grade inquiry and management are designed by software framework and database to ensure the realization of the network examination system, and the system is easy to operate and maintain.
Keyword: Network examination system; Automatic generating test paper and marking; Realization path;
0、 引言
随着教育在社会中的普及和数字化校园工程的启动,考试作为教育的重要环节之一,涉及到人数和类别也随之不断扩大,为检验学生对知识的掌握情况,传统的考试形式需调用较多的教师完成人工分、收试卷及判卷等工作,增加了教师的工作量,投入的成本较高,效率较低,难以满足需求,将高科技技术引用到考试中成为研究的重点,尤其是网络在线考试系统的完善和应用,能够显着降低教师的负担,这种无纸化考试系统能够进行自动组卷、批阅等操作,其客观的评价结果及较高的效率受到学校的青睐。
1、 现状及需求分析
目前基于网络平台的考试系统种类繁多,极大地简化了考试及评卷工作,主要存在的问题在于:各种系统组卷方式大多相对简单,无法根据教师的要求动态生成试卷,导致生成的试卷较为单一,使用同一套试卷无法有效地检测学生的学习情况;对实际考试过程中的考务管理重视程度不高;系统大多只能对有标准答案的客观题实现自动评卷,难以实现对主观题的自动评卷。为更好地满足在线考试的各种功能需求,本文设计并实现了基于J2EE的网络考试系统,实现了准考证号同IP地址的绑定功能,试卷能够根据教师设定动态生成,同时能够对相关资源进行屏蔽从而有效避免作弊行为,可以知识点、难度、题型、题量为依据确保试卷生成过程的科学性,系统能够对主观题进行自动评卷并动态监控考试过程,及时处理考试过程中出现的异常情况[1]。
2、 系统设计
考试系统面对的主要用户为教师、学生及系统管理员,系统具备操作方便快捷、管理过程简单高效的优势,能够科学组织试卷且通用性较高,本文按类似和相关功能对考试系统进行功能模块的划分,从而减少模块间的依赖性,为各模块的独立开发打下基础,以便实现同网络教学平台的有效对接。
(1) 题库管理模块
该模块的使用对象为教师,主要负责题库(分为公共题库和个人题库)管理及生成试卷,所有教师可对公共题库中的试题进行使用,根据实际教学需要教师可在个人题库中编撰符合当前教学内容的题目,实现自拟试题功能,满足教师的个性化教学需求,从而提高了考察方法和角度的灵活性,在组卷过程中可通过点击题库中的试题进行逐题添加,或提前对题型、难度、知识点、题量进行设定,系统自动从题库中进行批量添加,此外系统还能够根据教师设定的知识点、题型、题量、难度及分值从题库中动态抽取试题完成组卷过程[2]。
(2) 在线考试模块
该模块主要负责考试、计时、查看已评试卷等,使用对象为学生,系统对考生的IP地址及身份认证(ID号)进行记录,为各考生生成唯一的准考证号且只允许学生使用一次,学生据此登录考生系统后完成准考证号同IP地址及ID的绑定,系统逐题后自动保存做答内容及时记录考试信息,有效防止系统故障等导致的考试中断,考生可在断点处继续答题,确保考试正常进行。
(3) 评卷模块
该模块主要负责试卷判评(包括人工和自动两种类型)、统计分数,使用对象为教师,系统自动关机标准答案对选择题、填空题等题型进行自动评卷,通过使用基于知识点的带权匹配技术完成简答题等主观题的自动评卷过程。
(4) 考务管理模块
该模块主要负责实现人员管理、考试监控、资源管理等功能,主要使用对象为考务管理员,教师、学生的信息均有考务管理员负责管理,并且能够对考试过程进行动态监控,及时处理考试中出现的异常情况,当出现故障导致考试中断时,考务管理员通过对学生的IP地址绑定进行更新使其可以重新登录并从断点处继续作答完成考试过程,系统应用程序如图1所示。
图1 应用程序的功能模块
3、 系统的实现
系统采用WAF框架对程序的流程进行控制,具备定义明确的屏幕导航,开发系统过程中对各功能模块建立对应的包后分开存放各功能类,具体的包结构如图2所示。
图2 包结构示意图
将EJBAction存放在Ejb中,HTMLAction和 FlowHandler则在Web包中存放,实现了各功能模块开发的相对独立性,提高了系统的可扩展性,只需要注重对业务功能的实现[3]。
系统各层功能实现:(1)视图,采用模板机制对JSP页面进行开发,模板机制能够在同一文件中存放所有的通用元素,首先完成模板template.jsp的定义(包括页面框架的组成、格式及大小),接下来对模板的一系列屏幕进行实例化, 系统定义的基本模板主要为控制(包括标题、主题、导航、工具条)和内容(包括标题、主题、导航)两部分。
(2)模型,VO按值传递对象(作为串行化的Java对象),数据访问对象DAO对数据库的访问进行封装(属于stateless session bean),完成插入、删除、更新、查询数据等操作,获取数据的高速缓存,提供快速访问功能,系统get datasourse和 getconnection方法的实现需先定义AbstractDao,再对数据库中各表定义DAO扩展,系统通过questionDAO(封装了各类试题的属性)的建立实现对所有表的统一操作,从而满足试题采用主—辅表的存储方式。(3)控制,视图对屏幕的选择及模型状态的改变均需依赖控制器实现,程序的控制过程通过mainservlet、requestporcesor等实现(由WAF框架提供),HTMLAction和 EJBAction在系统开发过程完成在mapping.xml中的配置,动作的定义则在flowhandler中完成;对象前一级与request对象联系紧密,封装数据形成Event对象后传递至EJBAction对象,后一级则无关于request对象,从而形成了两级处理机制。系统管理人员对用户JSP页面传来的参数进行处理,完成EJBAction和Event的定义,系统各功能模块独立开发过程的步骤为:对请求的manageQB.do和screen在mapping、screendefination和flowhandler文件完成配置处理实现页面传来参数在QBevent中的封装及处理(使用manageQBaction和perform方法),从而实现相应的业务逻辑,调用DAO操作,实现questionbaseDAO,并在session中存放eventresponse传回的数据[4]。
3.1、主要功能模块的实现
(1) 基于知识点的主观题自动评判技术
主观题对标准答案五唯一、完全匹配的要求,主观题知识点(分为等价类、相似类、反义类)通过自动评判技术归纳为解释型、集合型、判断型,为知识点的关键词定义了四种逻辑关系及权值分配(并列、顺序、依赖、互斥),自动评判时需对试题答案进行搜索,在此基础上完成关键词的切分及知识点的定位,根据表述正确的知识点对关键词进行查找,结合使用逻辑关系完成主观题知识点权值的计算,系统对分数的计算依据试题分值和知识点权值即可自动完成,系统的关键词库具有自动学习功能,能够在关键词库中添加新的关键词,从而不断完善并丰富某一课程或学科知识点,提高主观题结果评判的准确率。
(2) 消息驱动,MDB
对学生客户端消息的处理采用MDB完成,实现学生考试情况的动态监控,MDB实现运行服务器的业务逻辑,客户端消息驱动Bean的访问通过向目的发送消息完成,MDB完全由提供安全服务及自动事务管理的weblogic server EJB容器管理,能够高效处理并发消息,建立JSM消息队列及testMGB消息驱动Bean(消息队列消费者),考生进入系统后,一个JSP消息将对其准考证号和IP地址进行封装再传送至消息队列中,消息被testMGB提取出后将存入数据库,从数据库中提取考生准考证号和IP信息同样需由testMGB完成,系统通过 ONtestHTMLAtion的应用为考生生成唯一的准考证号,实现对登录考生的严格控制,降意外情况及时发送给testMGB提示管理员进行处理, 通过manageresource的定义实现屏蔽考试相关的资源,有效的避免了作弊行为[5]。
3.2、 数据库设计
整个系统的设计需对题库的存储格式进行明确,考试系统包含八种构造方式不同的类型试题,设计数据库时采用主—辅的建表方式,以简化不同类型试题的存储,试题的公共信息存放于试题主表中(包括知识点、难度等),试题子表则用于存放试题答案和选项,数据库结构具体如图3所示。资源表(用户ID、资源名、权限)、答卷表、考场表、和成绩表作为辅助性表更好的实现系统功能[5]。
图3 系统数据库结构图
4、 系统测试
为检测本文所述的网络考试系统的实用性,在计算机专业的2个班共120名学生中试用本系统,教师将考试试题输入到系统的考试题库中后,通过试题编辑界面可根据需要编写考题,根据知识点、难度、题量、分值等进行自动组卷和动态组卷功能满足了考试灵活性及考察科学性的需求,120名学生凭借生成的唯一准考证号登录系统后,即可进行考试(考题顺序不唯一),作答过程系统运行稳定,并且自动判卷转去了更高,尤其是主观题的评判得到了教师的认可,教师和学生普遍反映该考试系统显着简化了考试程序,降低了教师的工作量,具有较高的实用性和稳定性。
5、 结束语
为满足网络教学平台的快速发展需求,在对了考试系统所需具备的核心功能进行分析的基础上,本文主要研究了网络考试系统的设计和实现路径,利用WAF框架进行开发,完成了系统总体架构的设计,该系统基于J2EE,阐述了各模块的功能,包括用户管理(注册、注销等)、试卷及试题管理、在线考试、成绩查询及管理等功能通过软件框架及数据库的设计以确保网络考试系统的功能实现,且系统操作简单易于维护。经公式用表明,该平台在确保安全、公正和高效的基础上,提高了考试过程的系统化和自动化程度。
参考文献
[1] 李莉.基于UML的网络分布式考试系统软件建模[J].电子技术与软件工程,2018(14):41-42.
[2] 张恩丽.张龙翔.基于JavaWeb的在线考试系统设计与实现[J].福建电脑,2016(10):106-107.
[3] 王烨.基于B/S结构的“S-P”表网络考试系统设计[J].科技创新导报,2017(11):177-178.
[4] 王艳芬.电子技术课程无纸化远程网络考试评价系统研究设计[J].科技展望,2016(23):347-348.
[5] 杨利娟,李学哲.一种基于C/S模式的数字化考试系统的设计与实现[J].苏州科技学院学报(工程技术版),2011(2):72-75.