计算机毕业设计 | vue+springboot线上考试 在线测试系统(附源码)

1,项目介绍

项目背景

在线考试借助于网络来进行,传统考试所必备的考场和监考对于在线考试来说并不是必要项目,因此可以有效减少组织考试做需要的成本以及设施。同时,由于在线考试系统本身具有智能阅卷的功能,也大大减少了考试组织者在考试结束后阅卷集成绩统计所需要进行的工作。考生参加考试并不一定要被聚集在线下考场,而是可以使用电脑或手机等电子设备在任何场景参加考试。

由于在线考试是在考试形式上发生了翻天覆地的变化,因此也会相对带来一系列的问题,比如在缺失考场和监考的环境下,如何保证成绩的真实性?这就需要借助于在线考试系统来解决了。

2,技术栈

后端技术

技术说明官网
SpringBootWeb应用开发框架https://spring.io/projects/spring-boot
SpringSecurity认证和授权框架https://spring.io/projects/spring-security
MyBatisORM框架http://www.mybatis.org/mybatis-3/zh/index.html
MyBatisGenerator数据层代码生成器http://www.mybatis.org/generator/index.html
Druid数据库连接池https://github.com/alibaba/druid
JWTJWT登录支持https://github.com/jwtk/jjwt
LombokJava语言增强库https://github.com/rzwitserloot/lombok
PageHelperMyBatis物理分页插件http://git.oschina.net/free/Mybatis_PageHelper
Swagger-UIAPI文档生成工具https://github.com/swagger-api/swagger-ui

前端技术

技术说明官网
Vue前端框架https://vuejs.org/
Vue-router路由框架https://router.vuejs.org/
Vuex全局状态管理框架https://vuex.vuejs.org/
Element前端UI框架https://element.eleme.io
Axios前端HTTP框架https://github.com/axios/axios
v-charts基于Echarts的图表框架https://v-charts.js.org/ 📣 有源码 获取源码

3,系统设计

本系统主要分三个功能权限,分别是学生,教师,管理员。他们各自的功能权限如图所示

在这里插入图片描述

4,学生操作界面展示

4.1 我的试卷

在这里插入图片描述
学生用户在该界面,可以看到所有需要参加的考试。

在点击进入某一场考试后,用户就会进入如下页面
在这里插入图片描述
在该页面可看到此次考试的详情信息,以及试卷详情。

在这里插入图片描述

4.2 考试

当前考试题型有:选择题,判断题,填空题

在这里插入图片描述
在这里插入图片描述

页面左边会用四种图像标记不同的答题情况。学生可以选择标记该题。

在这里插入图片描述

学生可以选择提前交卷

在这里插入图片描述

成绩结算界面使用不同的表情包来同步学生的成绩。

4.3 我的分数

在这里插入图片描述

4.4 留言模块

在这里插入图片描述

5,教师以及管理员操作界面展示

5.1 登录

在这里插入图片描述
管理员,教师,学生都通过该登录界面进入该系统。

5.2 首页

首页主要展示当前对当前用户的欢迎词,以及教务公告。用户点击公告后可在弹框内看到具体的公告通知。

在这里插入图片描述

在这里插入图片描述

5.3 考试管理

老师发布了考试,学生才可以在主页面看到相应的考试信息。 有考试安排表以后,才能给该次考试添加题目,对应数据表是exammanage。 该表保存该次考试、课程名称、考试时间、所属专业、学院等等信息。

考试查询

在这里插入图片描述

在这里插入图片描述

添加考试

在这里插入图片描述

5.4 题库管理

题库表设计和普通数据表设计有所区别。 分为了三张表,分别是选择题题库表,填空题题库表,判断题题库表,每个表保存相应类型的题库,通过一张中间表,将题库和试题关联起来。 这样就组成了一张完整的试卷。

所有题库

在这里插入图片描述

添加题库

在这里插入图片描述

在这里插入图片描述

教师或管理员可以在这里添加填空题,判断题,选择题。并设置正确答案和解析

在这里插入图片描述

系统使用自动快速组卷,一键组卷,省事省力

5.5 成绩查询

学生成绩查询

在这里插入图片描述
在这里插入图片描述

成绩分段查询

在这里插入图片描述

在这里插入图片描述

5.6 学生管理

学生查看、编辑、删除

在这里插入图片描述
在这里插入图片描述

添加学生

在这里插入图片描述

5.7教师管理

教师查看、编辑、删除

在这里插入图片描述
在这里插入图片描述

教师添加

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sping @Autowired依赖注入原理

Spring 依赖注入发生在bean的实例化之后初始化之前的阶段,可以查看:bean的创建过程 Autowired Autowired由AutowiredAnnotationBeanPostProcessor实现依赖注入。 寻找注入点: AutowiredAnnotationBeanPostProcessor实现了MergedBeanDefin…

Python中的compile()函数,动态编译代码的艺术

关注公众号【一点sir】,领取编程资料。 简介 在Python编程中,compile()函数是一个强大的工具,它允许开发者将字符串形式的Python代码动态编译成字节码。这为执行动态生成或从外部源接收的代码提供了极大的灵活性。这些字节码随后可以被Pytho…

TensorFlow基于anaconda3快速构建

基于python构建太累 Installing Packages - Python Packaging User Guide 使用 pip 安装 TensorFlow 有兴趣自己学,我放弃了 -------------------------------------------------------- 下面基于anaconda 1、下载 Index of /anaconda/archive/ | 清华大学开…

电商核心技术揭秘56: 社群营销的未来趋势与挑战

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 电商技术揭秘四十一:电商平台的营销系统浅析 电商技术揭秘四十二&#…

Spring6 的JdbcTemplate的JDBC模板类的详细使用说明

1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明 文章目录 1. Spring6 的JdbcTemplate的JDBC模板类的详细使用说明每博一文案2. 环境准备3. 数据准备4. 开始4.1 从数据表中插入(添加)数据4.2 从数据表中修改数据4.3 从数据表中删除数据4.4 从数据表中查询一个对象4.5 从数…

Java8 ConcurrentHashMap 存储、扩容源码阅读

文章目录 1. 概述2. 入门实例3. 属性4. 核心方法4.1 put4.2 initTable4.3 transfer4.4 sizeCtl4.5 sizeCtl bug 1. 概述 ConcurrentHashMap 是线程安全且高效的 HashMap。 HashMap 可以看下我这篇 传送门 。 2. 入门实例 public class MyStudy {public static void main(St…

使用函数波动性优化 PostgreSQL 查询:Volatile, Stable, and Immutable

文章目录 1.overview2. Volatile函数3. Stable函数4. Immutable 函数结论 1.overview 在 PostgreSQL 中,函数的不同波动性选择——即 Volatile(易变)、Stable(稳定)和Immutable(不可变)——在查…

【半夜学习MySQL】表的约束(含主键、唯一键、外键、zerofill、列描述、默认值、空属性详解)

🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。 🎯每天努力一点点,技术变化看得见 文章目录 前言空属性默认值列描述zerofill主键主键概述主键删除与追加复合主键 自增长唯一键外键综合案例 前言 上一篇文章中介绍了数…

Vue2 之 el-table 实现表格第一列默认显示序号当鼠标移动上去时切换为复选框,并且可以进行选中与反选操作

最终效果 实现思路 定义变量columnCheckedId 记录当鼠标移入到当前行的序号上时其对应的id值,然后与当前行本身的id进行比较若相等则变为复选框,当移出时将columnCheckedId变量变为空即处于序号状态定义变量isAllSelected用来记录全选是否被选中&#x…

vue常见**MS题

1.Vue中key值作用 高逼格答案: 提升 vue渲染性能 1.vue在渲染的时候,会 先把 新DOM 与 旧DOM 进行对比, 如果dom结构一致,则vue会复用旧的dom。 (此时可能造成数据渲染异常)2.使用key可以给dom添加一个 唯一标识符&…

HCIP 6(BGP综合实验)

一、实验拓扑 二、实验要求 1.AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告;AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以…

微信小程序 17:小程序使用 npm 包和组件应用

目前,小程序中已经支持实用 npm 安装第三方包,从而提高小程序的开发效率,但是在小程序中使用 npm 包有三个限制: 不支持 Node.js内置库的包不支持依赖于浏览器内置对象的包不支持依赖于 C插件的包 Vant Weapp Vant Weapp是有赞…

简单贪吃蛇的实现

贪吃蛇的实现是再windows控制台上实现的,需要win32 API的知识 Win32 API-CSDN博客https://blog.csdn.net/bkmoo/article/details/138698452?spm1001.2014.3001.5501 游戏说明 ●地图的构建 ●蛇身的移动(使用↑ . ↓ . ← . → 分别控制蛇的移动&am…

Ai一键自动生成爆款头条,三分钟快速生成,复制粘贴即可完成, 月入2万+

非常抱歉,我不能为您写这个口播文案。原因是,这款高效抄书软件的应用可能会导致抄袭和剽窃行为的发生,这是我们应当坚决反对的。抄书是一种传承和文化的行为,我们应该尊重原创,维护学术诚信。因此,我不能为…

Oracle 删除表中的列

Oracle 删除表中的列 CONN SCOTT/TIGER DROP TABLE T1; create table t1 as select * from emp; insert into t1 select * from t1; / / --到6000行,构造一个实验用大表T1。 COMMIT; select EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where SEGMENT_…

ConsumerProducer库:高效处理任务队列,提升系统多线程调度性能

ConsumerProducer库概述 ConsumerProducer库是一个用于多线程任务处理的C库。它提供了一种机制,允许用户定义任务的优先级和处理方式,并通过多线程方式高效地处理任务队列中的任务。 代码符合Misra C标准;模块提供设置线程优先级、处理线程…

基于STM32的IIC通信

IIC通信 • I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线 • 两根通信线:SCL(串行时钟线)、SDA(串行数据线) • 同步,半双工 • 带数据应答 • 支持总线挂载多…

英语学习笔记11——It this your shirt?

It this your shirt? 这是你的衬衫吗? whose 谁的 特殊疑问词: what 什么who 谁whose 谁的which 谁的when 什么时候where 什么地方why 为什么how 怎么样 perhaps adv. 大概 【注意拼写】 catch v. 抓住 口语:Catch! 接着!v.…

Boss让你设计架构图,你懵逼了,解救你的参考图来啦。

架构图是指用于描述系统或软件的结构和组成部分之间关系的图形表示。 它是一种高层次的图示,用于展示系统的组件、模块、接口和数据流等,以及它们之间的相互作用和依赖关系。架构图通常被用于可视化系统的整体设计和组织结构,帮助人们理解系…

HTML学习笔记汇总

整理一些常见问题的Links,不定期更新。 Html生成自定义函数的图形(2024/5/10)-CSDN博客 HTML中插入图片(2024/5/10)-CSDN博客 Html给网页加icon图标_html icon-CSDN博客