【SpringBoot】基于SSM框架的题库系统的设计与实现

2024-03-25 01:10

本文主要是介绍【SpringBoot】基于SSM框架的题库系统的设计与实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章结构

  • 课题:
  • 一、项目简介
    • 主要功能
    • 技术选型
  • 二、 模块介绍
    • 学生端
    • 教师端
      • (一)考试管理
      • (二)试题管理
      • (三)学生成绩管理
    • 管理员
    • 三、 B站项目演示地址
  • 四、本项目其余相关博客

课题:

题库系统的设计与实现

一、项目简介

简介:主要分为三个端,学生端,教师端、管理员端。学生端可以进行考试和练习题查看,教师端负责导入题库数据,更改试题等;管理员负责日志维护、人员管理、题库维护等工作。
系统集成了学生考试、题库系统维护的功能;题库按照学院-专业-课程来划分,支持对试题的批量添加,以及试题的CRUD.对试卷具有人工组卷、自动组卷两种方式,同时系统会在后台自动统计试卷总分。

主要功能

(1)系统管理 主要实现对用户及登录权限进行管理,教师权限包括增加、删除、修改、查询试题和试卷。学生权限为登录考试及其答案;采用系统日志,记录用户敏感操作,例如 删除试卷、删除试题、删除试卷等。基于Spring 的AOP 日志 维护日志,试题的删除进行重复验证(使用邮箱发送验证码形式)

(2)用户管理:管理员要为每个老师、学生建立账户,,对这些用户进行CRUD.
(3)试题库管理:老师可以按照大学专业下的课程进行题库维护,包括对试题的输入与维护( 包括增加试题,删除试题,修改试题,查询试题)。试题录入:支持Excel文件批量导入试题,前端直接解析本地上传的Excel文件,以表格形式展示,并且使用Mybatis-plus 批量插入数据库.支持Excel文件批量导入试题
(4)试卷管理:试卷管理主要包括:组卷(人工组卷和自动组卷)、编辑试卷信息、重置试卷、试卷预览;教师能够查询每一个学生的考试成绩,也支持试卷进行成绩分段查询
(5)智能组卷管理按照要求(难易程度等)实现自动组卷和人工组卷

技术选型

框架:SSM(Spring、SpringBoot、Mybatis-plus)
技术栈:Springboot、Mybatis-plus
前端:Vue.js、Vuex、Echarts、axios 、ElementUI
数据库:MySQL 8.0
开发工具:IDEA 2023.1
用户数据存储:Cookies

二、 模块介绍

在这里插入图片描述
如图所示,用户输入账号和密码后进入系统。系统会根据账号密码识别其权限,进入不同的界面。

学生端

学生端主要功能有:试卷查看,在线考试、试题练习、成绩统计等功能。如下图所示,用户在“我的试卷”栏目下,可以看到各个科目的试卷以及相关考试信息。也可以在右侧上方的输入框内搜索相应的试卷。
在这里插入图片描述
用户点击试卷后,就会开始考试。考试期间,右侧上方显示剩余时间,左侧可以进行题号切换,同时可以显示题目完成情况。答题完毕后,用户点击“结束考试”后即可交卷,系统自动批改。
在这里插入图片描述
结束交卷后,系统自动批阅,学生可以查看自己的分数,本次考试其他信息也会记录在系统中。
在这里插入图片描述
在首页的“我的成绩”模块中,用户可以看到所有的考试分数记录。同时用简洁的提示显示该科目是否已经及格。
在这里插入图片描述

教师端

教师端主要有考试管理,题库管理、学生管理、成绩查询等功能。

(一)考试管理

在考试管理模块中,教师可以看到相关的试卷信息。主要展示的试卷信息有:试卷名称、试卷编号、所属学院、所属专业、所属课程、年级、考试日期、时长、总分、试卷类型、组卷状态、试题总数以及相关操作。教师可以点击表格左上角“试卷试题信息更新”来更新试卷的信息内容。同时,试卷信息支持根据年级、组卷状态进行排序。方便教师快速查阅。
在这里插入图片描述
在操作栏中,教师可以对试卷信息进行编辑,例如对考试时间、时长进行修改。教师点击“编辑”按钮后,可以对考试安排信息进行更新
在这里插入图片描述在线组卷功能:教师有人工组卷和自动组卷两种方式生成试卷的试题。人工组卷中,教师选择试题类型、分值、所属科目等信息,提交后系统会更新到试卷中;自动组卷中,教师可以选择试题难度,根据需要设定选择题、判断题或填空题的数量。

试卷删除功能,该功能会在删除前进行安全验证,系统将会发送邮件给教师,教师输入邮件中的验证码才可以进行删除。提升系统数据安全性。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

预览试卷功能:教师点击“预览”按钮后,将会展示改试卷的试题、解析、选项、答案等信息。
在这里插入图片描述试卷重置功能:教师可以根据需要重置该试卷的试题内容。同时该试卷重置后,所有试题将被清空,试题总数变为0,组卷状态会变更为“未组卷”。
在这里插入图片描述教师可以发布新的考试,并填写考试安排信息,点击“立即创建”后发布考试内容,学生端可以查看到考试信息。
在这里插入图片描述

(二)试题管理

试题导入功能:教师可以导入本地的Excel形式的试题文件,实体导入功能支持选择题、判断题、填空题三种题型。教师点击“导入数据”后,选择上传本地Excel 文件,教师上传的本地Excel文件将被自动解析成表格数据,并分页展示。点击“全部添加”按钮后,系统将会把上传试题批量传入到数据库中;教师点击“导出试题”,也可以将页面中的试题导出成Excel文件格式。
在这里插入图片描述
如图所示,该模块用于管理专业题库信息。在表格上方,教师根据学院、专业、课程这三个条件快速找到相应的专业题库。表格信息展示的是所有专业的题库信息,具体显示题库编号、题库名称、创建时间、选择题数量、判断题数量、填空题数量、试题总量、以及相关的操作。同时表格支持根据“题库编号”和“创建时间”进行题库的排序。提升查询效率。对于每一个题库,教师可以进行查看、删除、导入、手动录入功能。

在这里插入图片描述

教师根据学院、专业、课程进行检索题库,结果以表格展示。(下拉单从数据库获取)
在这里插入图片描述
教师点击对应题库右侧的“查看”按钮后,系统将会展示对应题库下所有的试题信息。
在这里插入图片描述
教师可在对应试题库中,输入试题名称,进行模糊查询。点击“查询”后展示条件搜索结果。
在这里插入图片描述
题库删除功能,该功能将会把对应题库中的所有试题进行删除,为了保证数据安全,该功能会在删除前进行安全验证,系统将会发送邮件给教师,教师输入邮件中的验证码才可以进行删除。题库删除后,系统将自动更新题库数据,选择、判断、填空题以及总题量都会被置位0.
在这里插入图片描述
教师可以选择导入试题,和手动录入新增试题。其中导入试题方式为选择本地Excel文件上传试题。
在这里插入图片描述

(三)学生成绩管理

学生成绩查询:教师端显示出所有的学生信息,查询成绩。成绩结果使用Echarts可视化图表来展示。清晰直观。教师可以根据历次的考试成绩来分析学生成绩的趋向。
在这里插入图片描述
成绩分段查询:教师以试卷为单位,查询本次考试的学生成绩分段。成绩分段按照百分比显示。如下图所示。
在这里插入图片描述
在这里插入图片描述

管理员

管理员主要就是对教职工进行CRUD,具体不细介绍了。界面如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
学生信息也支持Excel本地解析并导入到数据库中。
在这里插入图片描述

这里是基于Spring AOP机制 实现的日志记录,管理员端负责管理这些用户操作记录。

在这里插入图片描述

三、 B站项目演示地址

B站项目演示地址

有需要的伙伴欢迎私信。

四、本项目其余相关博客

【SpringBoot实用功能开发】发送QQ邮件以及邮件验证码对话框

【SpringBoot】基于AOP机制的前置通知以及Cookies记录用户操作日志

这篇关于【SpringBoot】基于SSM框架的题库系统的设计与实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843397

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java访问修饰符public、private、protected及默认访问权限详解

《Java访问修饰符public、private、protected及默认访问权限详解》:本文主要介绍Java访问修饰符public、private、protected及默认访问权限的相关资料,每... 目录前言1. public 访问修饰符特点:示例:适用场景:2. private 访问修饰符特点:示例:

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服