APP下载

基于SpringBoot前后端分离的在线考试系统设计

2023-03-05陶瑜

计算机应用文摘·触控 2023年4期

陶瑜

关键词:Java;Spring Boot; VUE; MySQI.;前后端完全分离

1研究背景

互联网的便利已经覆盖了人们的衣食住行,特别是疫情的暴发,信息化的管理尤其重要。在线考试系统可以充分发挥网络优势,一方面可以自己批改、算分、存档考试成绩等动态管理各种考试信息,另一方面可以不受时间地域的限制,最大限度地提高阅卷速度,可以在考试结束时能够客观而又准确地给出考试成绩,方便考试组织者工作的同时又有利于考生及时获取考试成绩,无论是对于教学还是公司考核都高效便捷。

基于Spring Boot的前后端分离的在线考试系统,通过建立大型及高效的题库数据,可以最大限度地发挥网络优势,以实现不限时间不限地域进行考试。同时可以减少不必要的外界干扰.降低投入成本,并减少监考老师的负担以达到节约人力、物力、财力和不必要的自然资源浪费的目的。

2系统整体结构

本系统是基于Spring Boot的前后端分离的在线考试系统,选择以下技术方案:基于前后端完全分离模式,前端选用VUE,后端采用Java为应用开发工具,持久化存储选用MySQL为后台数据庫,采用IntelliJIDEA作为开发平台,整个系统完全基于B/S( Browser/ Server)模式进行设计,软件架构风格采用MVC( Model-View-Controller)架构模式。

2.1系统总体目标

(1)系统根据角色权限设计,分为学生、教师、管理员三种角色。学生权限,包括参加考试和查看考试。教师权限,包括学生的所有权限及创建、编辑题目和创建、编辑考试。管理员权限,包括教师的所有权限及对用户进行管理。

(2)本考试系统可以替代传统考试所有流程,包括题目的创建、更新,考场的创建、更新,参加考试,考试时间,阅卷及考试记录查看等。

(3)利用当前主流的存储数据技术,将考生相关信息、成绩、试卷信息等数据持久化存储到硬盘上。

(4)使用MD5加密存储技术,保障用户信息的安全性。

2.2系统整体架构

本系统是基于“Spring Boot+VUE”的架构模式,采用前后端分离restful接口风格来实现应用程序在网络上传输、接收信息。采用restful变成风格,接受前端请求数据,通常为json格式的数据,再由服务器端对每个请求进行分发,与DB交互,通过信息的序列化,把相应信息序列化后再信息流化,然后把数据返回给前端处理,实现两者之间的数据通信。

2.3系统B/S结构设计

系统的设计架构基于B/S,即浏览器端和服务器端,浏览器端向服务器端发送数据请求,服务器端对发送的数据请求进行分析和处理,作出相应的控制,并与DB进行交互。B/S结构采取浏览器请求,服务器响应的工作模式,可以通过浏览器对许多分布于网络上的服务器进行请求访问,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的[1]。

B/S结构是C/S架构的一种改进,可以说属于三层C/S架构,主要利用不断成熟的WWW浏览器技术,通过浏览器就可以实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统架构技术[2]。三层C/S架构图如图1所示。

3系统分层结构

3.1系统整体分层结构

本系统分层思路采用了三层C/S设计模式,系统的开发符合软件工程的管理思想和面向对象的思想,系统模式实现前后端完全分离,前端采用VUE渐进式框架,后端由Spring Boot架构,由此对系统的程序代码结构进行分层,分层策略图如图2所示。

3.2用户登录序列结构

用户在登录时输入自己的用户名和密码,Web端会将这些信息封装起来执行sendRequest()方法,该方法会将请求信息进行序列化,通过网络传输将请求数据发送给服务器端。服务器端获取信息后根据请求URL,调用登录(login())方法,登录方法会查询对应的用户数据库,以校验用户的登录请求信息是否正确。若信息无误就会给请求端返回一个用户对象,则用户可以成功登录:若信息不正确就会提出用户信息错误,服务端抛出异常,则登录失败。用户登录序列结构图如图3所示。

3.3开始考试序列结构

考生进入考试卡片列表后,选择相应的考试信息,系统会自动获取考生所选择的考试信息,并将考试信息赋值给entityContext类去请求考试题目数据。获取到考试题目信息后,将数据返回给前端进行页面渲染,组成考卷信息后,考试即可开始正式答题。用户开户考试序列结构图如图4所示。

4系统设计

4.1系统功能结构

基于Spring Boot前后端分离的在线考试系统可以直接通过浏览器端进行操作。考生可以自主注册为新用户,登录系统进行考试,考试结束后即可查询自己的成绩,同时可以支持个人信息的查询和修改。教师登录系统后可以对考生信息、题库信息、考场信息进行维护。系统总体通过前后端api调用,并与数据库进行交互,将数据响应给前端浏览器。整个系统的结构图如图5所示。

4.2用户登录模块

对于初次使用本系统的用户,需要先进行注册操作。注册成功后,进入登录界面,输入正确的用户名和密码,则登录成功,可进入本考试系统,进行相关操作。比如,用户登录成功,主界面数据自动更新。

4.3考试主界面模块

考生登录到主界面后,系统会根据考生信息自动提取试题及考试记录等信息。考生进入主界面,可以在考试卡片选项上选择相应的考试科目进行考试,考试主界面如图6所示。

当考生选择相应的考试科目之后,点击“开始考试”按钮,系统会自动从数据库中获取相应科目的考题并随机生成考卷。

考试结束,考生点击交卷按钮,系统会自动评阅.并生成评阅反馈信息,考生可以在我的考试中查看相关反馈信息。其中,主要代码与注释如下。

4.4个人信息模块

在主界面,用户可以点击账户设置,进入个人信息窗口,可以查看当前用户的信息及进行修改密码操作。用户填写完相关个人信息后,当前新填写的信息会覆盖以前旧的信息,用户可以根据系统提示进行相应的修改操作。

4.5教师功能模块

教师登录该系统后,页面会多出两个选项:问题管理是用于创建开始考试试题,可以按照问题内容、问题分类、问题选项进行创建试题;考试管理则是安排考试任务功能,点击新建按钮,可以输入考试相关信息,如考试名称、考试限时、考场简述、每题分数、选择关联题目等。

5结束语

基于Spring Boot的前后端分离的在线考试系统,初衷是开发一个易于管理和维护的教学考试系统,能够满足学校或企业多门课程、难易程度多样的考核要求。本系统采用前后端分离技术,前端使用的是VUE,后端使用的是Spring Boot框架,之所以选用这两种语言,是为了以后的业务扩展能够得到很好的维护。在开发的过程中,参考了MVC软件架构的设计思想,采用动态的程序设计理念,使后续业务扩展可以简化程序,提高开发效率。