基于Java的在线考试系统的研究与设计
2023-06-25柯圣
柯圣
摘要:在线考试系统是一种网络化、智能化的考核模式,该模式能节约人力资源和提高考试效率,更具有无主观性、科学性和系统性。该设计基于B/S架构模式,选择Eclipse+MySQL工具来分别实现代码的编写工作以及持久化存储工作,前端使用layui进行设计。该系统主要实现大学计算机基础课程的在线考试,该系统实现了修改密码、题库管理、管理员管理、在线考试、随机自动组卷、客观题自动阅卷、打印、试卷等功能,具有无纸化、网络化、自动化等优点。
关键词:在线考试系统;自动化阅卷;B/S结构;无纸化
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2023)13-0052-03
开放科学(资源服务)标识码(OSID)
0 引言
考试作为检测学生学习的重要方式,是学校与教育培训机构的重要检测环节,在促进学生更好地完善自己的同时,也是寻找个体之间差距的重要手段。传统考试需要大量人工参与,操作过程较为烦琐,劳动强度较高,成本支出较大。而在当今信息化技术日益发达的环境下,借助先进的信息化技术能够实现无纸化考试考核以及自动化阅卷等功能[1],能够有效达到考核无主观性、科学性和系统性功效。
1 研究目标与内容
本设计采用B/S架构,Maven+SpringBoot+Mybatis+MySQL的系统框架实现,使用Eclipse集成开发工具和jdk+tomcat的编译运行环境进行设计开发,主要研究以下几个方面:
研究目标:设计一个节约人力资源、时间并能追踪分析学生成绩、降低考核环境复杂性、无主观性以及拥有自动化阅卷等功能的大学生计算机基础课程在线考试系统[2]。
研究内容:在线考试系统主要能实现客观题自动阅卷,主观题人工阅卷并给予参考答案,能够导出批阅完成的试卷,方便让教师能够了解每个学生强弱易错点、分析其能力,提高老师工作效率。具体表现为:1) 教师设计题目和答案,包含单选题、多选题、判断题、简答题、应用题;2) 对于客观题能够自动阅卷,给出分数和正确答案;3) 对于简答题和应用题,教师能够设计题目给出答案,并由教师人工阅卷,在阅卷时给出题库中的参考答案;4) 导出批阅后的试卷文件(包括分数、日期、教师批阅等)。
2 系统概述
大学生计算机基础课程在线考试系统是基于Java语言和MySQL数据开发的在线考试系统,系统采用layui所提供的前端页面样式风格进行设计,模块设计包括考试管理、试卷管理、试卷批阅、试卷打印等功能。
硬件环境:内存8G,Intel(R) Core(TM) i5-6300HQ CPU @ 2.30GHz 2.30 GHz,Windows 10操作系统的PC一台。
软件环境:Java开发版本为JDK 1.8;IDE开发工具为Eclipse 7.0;服务器为tomcat8.5;数据库为MySQL5.0.22,使用MySQL的图形操作工具——Navicat操作管理数据库。
开发测试浏览器为Microsoft Edge,IE7.0以上版本,火狐浏览器和百度浏览器等主流浏览器,以保证系统能兼容各大主流浏览器。
开发流程:首先,详细地对系统进行需求分析,对整个系统考核的流程有清晰的思路,根据系统不同业务模块需求完成数据库表结构设计,分析每个业务模块需求,细化细节完成需求分析报告。其次,运用Eclipse、Navicat軟件开发设计,完成开发的环境和系统资源文件的配置工作的搭建。最后,根据不同页面的需求编写与之相关的模块,建立数据库建表,在百度文库内找到合适的测试题导入数据库;系统的控制层与业务层运用Spring Boot进行编写,数据的持久化存储采用MyBatis数据库。
利用layui框架所提供的简洁样式实现系统前台页面的开发,考虑到系统的简洁美观易使用等方面功能,并在不同的浏览器上进行兼容性测试,以达到最佳效果。
3 系统需求分析与总体架构
3.1 功能需求分析
考试管理:在线考试,查看考试记录,进行在线考试,批阅考卷给出分数,查看已经考完的试卷并能打印pdf。
我的主页:编辑个人信息,添加头像图片,仅限于登录用户可以使用。
题库管理:添加选择题、判断题、简答题、应用题及答案,在添加考卷时,随机抽取题库内的主观题和客观题进行组卷,也能批量删除试题。
试卷管理:添加试题,对需要添加的试卷进行编辑,也能删除该试卷,能对所有添加的试卷进行批量删除。
系统设置:管理所有已添加用户,增加新用户,编辑用户信息,删除用户,禁用用户账号操作。
批阅试卷:客观题自动阅卷,主观题部分采用人工阅卷,题目下方会有参考答案给予阅卷老师帮助阅卷。
在线考试:考生进入考试界面,考试答题,分为选择题、判断题、简答题和应用题。考完点击提交考卷,完成考试即可退出。
考试记录:可以查看自己考试得分,可以点开查看自己考卷的具体错误点,能打印试卷的pdf。
3.2 系统总体设计
本系统采用的是MVC模式进行开发,MVC即Model-View-Controller,该模型就是将软件系统的输入、输出及输出流程以控制器、视图以及模型方式进行分离操作[3]。从系统结构上来看,项目可以被分为视图层、服务器层、数据服务层。视图层供给用户和系统之间的交互,用户通过视图层查看系统呈现的数据信息,也能通过视图层将数据交予系统进行处理;视图层借助layui来完成前端用户界面的展示和互动。服务器层使用Tomcat,并利用Springboot框架,MyBatis数据库进行后端程序的开发。数据服务层主要使用MySQL数据库,服务层使用此层完成的数据的存取,为系统的服务提供数据的支撑。
4 数据库分析与设计
数据库的概念结构设计采用实体—联系(E-R) 模型设计方法。使用E-R图显示主题在环境中所涉及的事物,属性则是描述试题特效[4]。下面以用户信息和试卷信息为例进行分析和设计。
用户信息主要包含登录名、密码、邮箱、性别、联系电话、班级等实体,如图1所示。
试卷信息包含试卷名称和考试时间两个主要实体,如图2所示。
5 系统功能实现
5.1 系统登录
功能描述:为保证账户安全,考试公平性,系统采用分流教师用户与学生用户,使用不同身份,不同权限账号登录系统。
登录界面模块主要为用户提供进入考核系统的路径,为不同用户进行不同操作给出了定向选择,登录不同账号拥有不同权限。由于采用了新框架layui,此处使用layui-form进行身份表单验证,layui-icon来定义图标。无须编写UI结构。
页面布局jsp文件具体如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ include file="/WEB-INF/inc/taglibs.jsp"%>
5.2 管理员功能模块
管理员模块设计:左侧为主要功能菜单栏,主要实现五大功能模塊的动态交互,进入相关菜单后可以查看实现该功能模块的子项功能;右边顶部成列所执行的操作。
利用layui的css样式和js文件,采用aside.ftl实现左侧菜单栏和main.js文件,使用layui-layout进行布局。
主要实现了管理员的个人信息展示,还有主要业务功能的动态操作栏展示,以及更换用户,修改密码功能;使用layui-layout、layui-side实现动态操作左侧菜单栏;利用layui-filter完成对指定元素的局部更新及实现该元素在菜单顶部更新。
<!--一级菜单-->
<!--侧边导航栏-->
<!-- 管理员信息-->
5.3 考试和阅卷
在线考试模块:右上角放置考试计时器(倒计时),主要服务于学生进行在线考试,每场考试总计时长为120分钟,考生需要在规定时间内完成作答。
考试记录模块:主要对考生考试信息进行记录,考生可以在本模块查看考试成绩,查询考试记录;老师通过考试记录查看考生试卷是否已进行批阅或查看考生试卷内容。此模块包括批阅试卷和查看试卷两个主要功能,其中查看试卷能打印出试卷的pdf,主要是为学生提供服务,也有记录学生学习情况,追踪学生学习成绩的作用,还能方便学生打印试卷。批阅试卷分为自动阅卷和人工阅卷两大功能,自动阅卷主要应用于客观题[5]。客观题采用了自动阅卷功能,使用了循环判断实现自动阅卷,卷面设计采用了layui的辅助元素实现整个的考卷页面,点开批阅试卷后,系统会自动对主观题部分進行自动阅卷,将已经提前导入系统的正确答案匹配,得分和正确答案会标红显示在每个题目下方。人工阅卷部分,系统会自动给出参考答案帮助老师进行阅卷,老师还可以在左边下拉复选框进行分数选择给予打分,最后会统计所有分数。
5.4 试卷管理
试卷管理模块,主要包含添加新试卷和批量删除试卷两大功能,其中在添加试卷后可对试卷进行编辑,后台数据库会自动随机组卷生成一份试卷到在线考试模块,学生登录系统就能看到并进行考试。
通过添加试卷功能,能添加新试卷,由题库题目随机组卷形成。添加试卷会自动更新到考试管理内,只需要设置试卷名称和考试时间即可随机生成一份新试卷。
添加试卷后可以对试卷进行内容编辑,由于采用的是随机组卷方式,所以编辑好试卷的试卷名(说明)和考试时间之后,系统就会自动随机组卷,在线考试中就会生成一张试卷。编辑试卷只需编辑所需要考核的试卷名和考试时间,点击提交之后即能随机生成一份新试卷。
6 结束语
本系统实现无纸化在线考试和自动化阅卷等功能[6],前端可供三个不同用户登录使用,学生用户可以实现在线考试、查看考卷和打印考卷;教师用户则可以通过系统进行考卷发布、在线批改试卷、发布成绩、查看学生成绩、跟进学生成绩、导入试题和自动化阅卷等功能。本系统能够实现考试的多样化,给学生学习和教师教育带来新模式的变革,是未来辅助教育的重要手段。
参考文献:
[1] 刘少东.在线考试系统在高校教学管理信息化建设中的应用分析[J].中阿科技论坛(中英文),2020(5):24-25.
[2] 杨洲权.基于B/S模式的高校无纸化考试系统设计与实现[D].沈阳:东北大学,2015.
[3] 胡山.基于网络环境下大学计算机基础课程教学改革与实践[J].中国新通信,2019,21(22): 166-167.
[4] 王新宇.基于JSP的C语言公共课在线考试系统的研究与开发[D].长春:吉林建筑大学,2019.
[5] 张恩彪.在线考试系统的研究与分析[C]//天津市电子学会、天津市仪器仪表学会.第三十一届中国(天津)2017IT、网络、信息技术、电子、仪器仪表创新学术会议论文集.天津市电子学会、天津市仪器仪表学会:天津市电子学会,2017.
[6] 肖华波.高校在线考试系统的设计与实现[D].南昌:南昌航空大学,2013.
【通联编辑:代影】