APP下载

基于Java的在线考试系统设计与开发

2024-12-31马惠强曾宋贤陈云生

现代信息科技 2024年12期
关键词:在线考试系统功能

摘" 要:随着信息技术的快速发展,教育领域对在线考试系统的需求持续增长。研究开发了一种基于Java的现代化在线考试系统,旨在优化管理,提高效率和质量。系统整合了前端Vue、后端Spring Boot框架等关键技术,采用MVC架构模式实现自动化考试安排和学生信息管理。经过测试,系统能够满足用户需求,为用户提供高效可靠的服务。相对线下考试模式,在线考试系统更加灵活,实现了考试过程中组卷、改卷、监考等操作全自动化管理。

关键词:Java;在线考试;Spring Boot;系统功能

中图分类号:TP311" 文献标识码:A" 文章编号:2096-4706(2024)12-0056-06

Design and Development of Online Examination System Based on Java

MA Huiqiang, ZENG Songxian, CHEN Yunsheng

(School of Information Engineering, Xinjiang Institute of Technology, Aksu" 843100, China)

Abstract: With the rapid advancement of information technology, the demand for online examination systems in the education sector continues to grow. This paper studies and develops a modern online examination system based on Java, aiming to optimize management, improve efficiency and quality. The system integrates key technologies such as front-end of Vue, back-end of Spring Boot framework, utilizes the MVC architectural mode to automate examination scheduling and student information management. Following rigorous testing, the system could meet user requirements and provide efficient and reliable services. Compared to traditional offline examination mode, online examination system offers increased flexibility, enabling automated management of operation such as question setting, grading, and invigilation.

Keywords: Java; online examination; Spring Boot; system function

0" 引" 言

近年来,随着在线教育的兴起和发展,借助信息化技术的在线考试系统研发在教育领域越来越受关注[1]。传统的纸质考试存在着诸多问题,如阅卷烦琐、作弊风险高等,而在线考试系统则可以通过自动化评分、反作弊功能等特点,提高考试效率和安全性,改善教学质量[2]。

面对这一趋势,设计开发一个方便易用、功能完善的在线考试系统来满足教学需求是十分重要的。而Java编程语言的独有优势,如跨平台性、稳定性和丰富的开发工具支持,使其成为开发在线考试系统的理想之选。借助Java技术,我们可以实现用户友好的界面设计、高效的数据处理和灵活的系统扩展,从而提升在线考试系统的整体性能和用户体验[3]。因此,本文旨在探讨基于Java的在线考试系统设计与实现,以满足教育机构和学生对于高效考试管理的需求。

1" 系统需求分析

1.1" 功能性需求

功能性需求主要是规定了系统所应具备的功能和行为,为系统的设计提供明晰的指导和框架。本文根据不同角色的用户进行差异化功能设定,以下详细阐述不同用户角色的需求分析[4]。

1.1.1" 学生角色功能需求分析

学生用户在系统中扮演着主要角色,其功能需求设计至关重要。用户应具备更新和维护基础信息(如用户名、密码、性别等)的权限,并且能够实现参加考试、查询结果等功能。

1.1.2" 教师角色功能需求分析

在线考试系统中,教师可以对教师和学生的信息进行增删查改,可以通过新增试题和导入试题两种方式添加题库的题目,并进行修改组卷,然后将考卷分发给班级学生。学生完成考试后,教师根据系统评分进行试卷分析。这些功能的精心设计有助于教师有效地组织和管理考试流程,确保评分准确。

1.1.3" 管理员角色功能需求分析

作为在线考试系统的管理及维护者,管理员角色拥有系统的最高权限。管理员不仅可以对学生、教师/管理员账户进行增删查改,还具有查看整个系统的题库和试卷,并进行相关信息维护工作的权限。此外管理员可访问数据中心,其中包含试卷和题目的数据总览、系统负载情况以及系统活跃度和考试频率等数据可视化功能。管理员功能涵盖了教师的全部功能,并扩展了一些教师未具备的特定功能,主要包括:

1)对各用户权限进行分配。

2)数据中心的管理,包括系统用户活跃度、考试频率等内容。

1.2" 系统非功能性需求分析

与功能需求不同,非功能需求着重于系统或软件应具备的性能和质量特征,而非具体功能。因此,在线考试系统设计必须充分考虑各类非功能性需求,以保障系统的最佳运行。其中包括可伸缩性、可用性、可靠性、安全性、并发性、兼容性以及可访问性等方面[5]。通过在设计和开发阶段深入思考这些需求,可以确保系统符合用户期望,提供无缝且安全的在线考试体验。

2" 系统概要设计

2.1" 系统设计的目标

本系统的设计目标是利用信息化手段优化在线考试管理,通过引入自动化考试安排、评分等功能,显著提高工作效率,减少人为错误和管理漏洞,进而提升在线考试管理的水平和质量。系统将为教师和学生提供便捷和高效的在线考试服务,以确保考试资源的合理利用,为用户提供优质的在线考试体验。

2.2" 系统整体架构设计

在线考试系统采用了前后端分离模式进行开发,系统架构如图1所示。在前端方面,系统基于Vue框架构建用户界面,并利用双向数据绑定实现数据与视图的同步更新[6]。同时,整合了Element-UI作为基于Vue.js的UI组件库,提升用户界面的交互性和美观性。而在后端方面,系统采用了Spring Boot框架以及Spring Security来确保系统的整体安全性。此外,通过RabbitMQ进行消息队列通信,显著提高系统的实时性和可靠性。MyBatis-Plus被应用于简化基于MyBatis的数据库操作,提高数据访问层的效率。数据库方面选择了MySQL作为数据存储支持。

此外,项目还集成了人脸识别反作弊功能,该功能利用人脸识别技术进行身份验证和反作弊监控[7]。前端通过摄像头获取用户图像数据,并定期上传至AI开放平台进行人脸识别检测。后端接收返回结果,对正确用户进行身份验证并监测考试过程中的异常行为。这一功能有效提升了系统的安全性和可信度,确保考试过程的公平性和准确性。

2.3" 系统功能模块设计

根据功能性需求分析,本文将在线考试系统划分为四个模块,包括管理员模块、教师模块、学生模块和在线考试模块[8]。如图2所示,管理员模块作为核心管理者,负责题库和用户信息的管理与维护,包括系统信息管理和成绩管理等功能;教师模块是关键参与者,涵盖试题信息管理、学生成绩管理和统计等功能;学生模块作为主要使用者,完成教师和管理员发布的考试任务,功能包括信息查询和参与考试等。在线考试模块是系统核心部分,用于进行在线考试,并且为确保学生身份验证和防止作弊,该模块引入了人脸识别功能,包含个人身份验证、考试成绩查询和作弊检测等功能。这些模块之间协同工作,实现了系统的全面运行。

3" 数据库设计

数据库在许多系统中扮演着存储数据的关键角色,对系统的运行起着决定性作用。因此,在系统设计过程中,最为基础和至关重要的工作是数据库设计[9]。

3.1" 数据库概念设计

在系统分析与设计的前期阶段,数据库的概念设计旨在规划出符合需求的数据库实体结构[10]。此过程通常借助E-R图来表达概念模型。通过深入剖析系统需求,可以为各个用户群体和特定功能定制一系列策略,进而展开数据库表的详细设计。

3.2 系统数据库表的设计

本系统根据系统功能模块设计结合用户需求分析,对数据库表进行如下设计。

3.2.1" 用户表

用户表用于管理存储用户信息,包括编号ID、用户名、密码等字段,如表1所示。

3.2.2" 学科表

学科表用于存储学校学科信息,详细字段内容如表2所示。

3.2.3" 试题表

试题表用来存储题目信息,此表列出了题目信息相关重要字段,详细字段内容如表3所示。

3.2.4" 试卷表

试卷表用来存储试卷信息的数据结构,此表列出了试卷信息相关的重要字段,详细字段内容如表4所示。

3.2.5" 题目答案表

题目答案表用来存储用户作答后的答案信息,此表列出了答案信息相关的重要字段,详细字段内容如表5所示。

3.2.6" 答卷情况表

答卷情况表用来存储用户作答的试卷情况,此表列出了答卷情况相关的重要字段,详细字段内容如表6所示。

4" 系统界面的实现

4.1" 用户登录管理功能

图3为用户登录注册界面,对于不同角色定位,首页会将其对应的核心功能展示出来,方便用户点击访问,学生用户系统首页如图4所示,教师/管理员用户成功登录后,系统会加载出对应权限的功能模块,如图5所示。

4.2" 考试/批改/查阅试卷功能

学生用户成功登录后,可点击对应的考试学科进行考试,图6展示的是计算机基础学科的考试界面,完成考试并交卷后,系统可实现批阅试卷,如图7所示。

4.3" 反作弊监考功能

为了实现考试公平公正,系统中涵盖反作弊监考功能。学生用户进入考场开始考试,此时,系统获取考生摄像头权限,反作弊功能模块同时启动,其会不定时将视频流截取图片上传到AI开放平台进行检测,通过检测人脸情况以及人头数量来判定考生是否存在作弊嫌疑,如图8所示,如果作答人员发生变更或者监控区域出现其他无关人员,则触发报警并提示用户。

5" 系统测试

5.1" 系统功能测试

对于在线考试系统,从开发到测试会面临着各种问题出现,因此,通过系统测试可以验证系统需求和功能的一致性,发现并解决潜在问题,从而确保软件质量和用户满意度[11]。系统部分测试功能结果如表7所示。

5.2" 测试结果分析

经过全面测试,系统的所有功能测试均通过,表明系统在功能实现方面达到了预期目标,并能按照需求规格和设计文档要求正常运行。测试结果的通过性证明了系统在输入验证、功能逻辑验证、界面验证、异常处理验证等方面的稳定性和准确性。这样的良好测试结果为用户提供了可靠的使用体验,使系统能够满足在线考试的需求。

6" 结" 论

随着信息技术的快速发展,网络教育和在线考试系统逐渐成为教育领域的重要支柱。在这种背景下,本论文开发了一个能够实现自动化考试安排和学生信息管理的在线考试系统,有效解决了传统线下考试中组织耗时、不可避免出现错误以及难以确保效率和质量等问题。该系统还增强了结果分析能力,使教师更容易获取基本数据信息。

参考文献:

[1] 李伟,金梁.基于WAMP架构的Web在线考试系统设计 [J].自动化技术与应用,2023,42(5):162-165.

[2] 杨勤民,江志松.大学数学作业自动批改系统的设计与实践 [J].华东师范大学学报:自然科学版,2022(2):76-83.

[3] 徐尧.基于J2EE架构的职业院校网上考试报名系统设计与实现 [D].济南:山东大学,2021.

[4] 魏宜.C语言编程在线考试系统设计与实现 [D].武汉:华中科技大学,2020.

[5] 贾志培.在线考试系统的研究与实现 [D].济南:山东大学,2021.

[6] 许甜欣.Web前端性能优化技术研究及检测工具开发 [D].金华:浙江师范大学,2023.

[7] 吴劼.基于人脸识别与AI智能监测的考试系统设计 [J].电子技术,2022,51(12):70-73.

[8] 孙小雪,钟辉,陈海鹏.基于决策树分类技术的学生考试成绩统计分析系统 [J].吉林大学学报:工学版,2021,51(5):1866-1872.

[9] 李捷.基于分布式爬虫的在线考试系统设计与实现 [D].厦门:厦门大学,2021.

[10] 吴旭,徐华至,孙彦情,等.通用型高中模拟考试自动化成绩分析系统的设计开发 [J].软件,2023,44(4):59-64.

[11] 任焕海.基于B/S架构的在线考试系统设计与实现 [J].现代信息科技,2021,5(22):13-16.

作者简介:马惠强(1996—),男,回族,甘肃平凉人,助教,硕士研究生,研究方向:医学信息;通讯作者:陈云生(1995—),男,汉族,河南驻马店人,讲师,硕士研究生,研究方向:软件工程。

猜你喜欢

在线考试系统功能
基于Java的考场管理系统的研究与实现
大学物理在线考试与分析系统
公路路面现场检测数据无线传输系统的设计
效率观下高校课程考试形式的改革探索
基于J2EE的牛奶销售系统设计与开发
基于MATLAB设计学生成绩查询系统
精炼炉过程生产自动化信息集成系统的设计
大数据背景下在线评教与在线考试融合的思路探讨