基于springboot+vue+mysql技术的在线考试系统设计与实现(源码+论文)
一、相关技术
1 MYSQL数据库
技术描述:MySQL是一个真正的多用户、多线程SQL数据库服务器,基于SQL的客户/服务器模式的关系数据库管理系统。其优点包括功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或其他应用软件的数据库后端开发。用户可以利用多种语言编写访问MySQL数据库的程序。作为开放源代码运动的产物之一,MySQL越来越受到青睐,应用范围广泛。速度和易用性使MySQL特别适用于Web站点或应用软件的数据库后端开发。
特点:
- 源代码便携性:在C和C++中使用和测试,以确保源代码的编译器便携性和灵活性。
- 多操作系统支持:支持多种操作系统,包括AIX、FreeBSD、HP-UX、Linux、Mac OS、Netware、OpenBSD、OS/2、Solaris、Windows等。
- 多语言API支持:提供用于不同编程语言的API,如C、C++、Python、Java、Perl、PHP、Ruby和Tcl等。
- 多线程支持:使用CPU资源支持多线程,提高查询速度。
- 算法优化:优化查询SQL,提高搜索速度。
- 多国语言支持:支持多国语言,包括中文、GB2312、BIG5、日文、Shift-JIS等。
- 网络连接:支持TCP/IP、ODBC和JDBC数据库连接。
- 管理工具:提供管理、控制和优化数据库操作的工具。
- 大数据处理:可以处理数以千万计的记录在一个大的数据库。
2 B/S结构
技术描述:B/S架构是一种基于互联网系统的软件系统开发架构,广泛应用于软件系统开发中。它打破了C/S结构的限制,提供了对基于网络结构的软件系统的良好支持。B/S架构伴随着计算机网络技术的发展而逐步发展和更新。
运行方式:B/S架构利用操作系统中的浏览器进行使用,不需要在使用的电脑上安装窗体软件系统。开发的软件系统部署在远程服务器上,通过互联网访问部署好的软件系统,给用户带来极大便利。
三层体系结构:
- 表示逻辑层:用户通过浏览器向服务器发出请求。
- 控制逻辑层:服务器处理请求并执行应用程序。
- 数据展现层:服务器访问数据库并返回结果。
优点:
- 简化客户机工作:客户机上只需安装少量客户端运行软件。
- 跨平台性:可以在任何接入互联网的电脑上操作系统。
- 节约开发成本:使用通用浏览器实现复杂功能。
3 Spring Boot框架简介
技术描述:Spring Boot由Pivotal团队提供,旨在简化新Spring应用的初始搭建和开发过程。通过特定方式进行配置,开发人员不再需要定义样板化的配置,致力于在快速应用开发领域成为领导者。
特点:
- 简化配置:使用特定方式进行配置,减少开发人员的配置工作。
- 兼容性:可以与经典的Java开发工具一起使用或作为命令行工具安装。
- 版本要求:需要Java SDK 1.6或更高版本,本项目使用JDK 1.8版本。
二、系统概要设计
数据库设计
数据库设计表
基于JavaWeb技术的在线考试系统设计与实现需要后台数据库,下面介绍数据库中的各个表的详细信息:
表1 试卷表
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| name | varchar(200) | 否 | 试卷名称 | |
| time | int(11) | 否 | 考试时长(分钟) | |
| status | int(11) | 否 | 0 | 试卷状态 |
表2 试题表
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| paperid | bigint(20) | 否 | 所属试卷id(外键) | |
| papername | varchar(200) | 否 | 试卷名称 | |
| questionname | varchar(200) | 否 | 试题名称 | |
| options | longtext | 是 | NULL | 选项,json字符串 |
| score | bigint(20) | 是 | 0 | 分值 |
| answer | varchar(200) | 是 | NULL | 正确答案 |
| analysis | longtext | 是 | NULL | 答案解析 |
| type | bigint(20) | 是 | 0 | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) |
| sequence | bigint(20) | 是 | 100 | 试题排序,值越大排越前面 |
表3 考试记录表
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| userid | bigint(20) | 否 | 用户id | |
| username | varchar(200) | 是 | NULL | 用户名 |
| paperid | bigint(20) | 否 | 试卷id(外键) | |
| papername | varchar(200) | 否 | 试卷名称 | |
| questionid | bigint(20) | 否 | 试题id(外键) | |
| questionname | varchar(200) | 否 | 试题名称 | |
| options | longtext | 是 | NULL | 选项,json字符串 |
| score | bigint(20) | 是 | 0 | 分值 |
| answer | varchar(200) | 是 | NULL | 正确答案 |
| analysis | longtext | 是 | NULL | 答案解析 |
| myscore | bigint(20) | 否 | 0 | 试题得分 |
| myanswer | varchar(200) | 是 | NULL | 考生答案 |
表4 考试规则
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| guize | longtext | 是 | NULL | 规则 |
| tupian | varchar(200) | 是 | NULL | 图片 |
表5 考试评分
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| kemu | varchar(200) | 是 | NULL | 科目 |
| shijuan | varchar(200) | 是 | NULL | 试卷 |
| pingfen | int(11) | 是 | NULL | 评分 |
| xuehao | varchar(200) | 是 | NULL | 学号 |
| xingming | varchar(200) | 是 | NULL | 姓名 |
| banji | varchar(200) | 是 | NULL | 班级 |
表6 考试统计
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| kemu | varchar(200) | 是 | NULL | 科目 |
| shijuan | varchar(200) | 是 | NULL | 试卷 |
| timu | varchar(200) | 是 | NULL | 题目 |
| kaoshitongguolv | varchar(200) | 是 | NULL | 考试通过率 |
| kaoshikemucishu | varchar(200) | 是 | NULL | 考试科目次数 |
表7 考试资讯
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| title | varchar(200) | 否 | 标题 | |
| introduction | longtext | 是 | NULL | 简介 |
| picture | varchar(200) | 否 | 图片 | |
| content | longtext | 否 | 内容 |
表8 管理员表
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| username | varchar(100) | 否 | 用户名 | |
| password | varchar(100) | 否 | 密码 | |
| role | varchar(100) | 是 | 管理员 | 角色 |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增时间 |
表9 忘记密码人员登记
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| xuehao | varchar(200) | 是 | NULL | 学号 |
| xingming | varchar(200) | 是 | NULL | 姓名 |
| banji | varchar(200) | 是 | NULL | 班级 |
| xueyuan | varchar(200) | 是 | NULL | 学院 |
| zhuanye | varchar(200) | 是 | NULL | 专业 |
| shouji | varchar(200) | 是 | NULL | 手机 |
| xinmima | varchar(200) | 是 | NULL | 新密码 |
| xiugaishijian | datetime | 是 | NULL | 修改时间 |
表10 用户
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| xuehao | varchar(200) | 否 | 学号 | |
| mima | varchar(200) | 否 | 密码 | |
| xingming | varchar(200) | 否 | 姓名 | |
| xingbie | varchar(200) | 是 | NULL | 性别 |
| xueyuan | varchar(200) | 是 | NULL | 学院 |
| zhuanye | varchar(200) | 是 | NULL | 专业 |
| banji | varchar(200) | 是 | NULL | 班级 |
| shouji | varchar(200) | 是 | NULL | 手机 |
| shenfenzheng | varchar(200) | 是 | NULL | 身份证 |
| zhaopian | varchar(200) | 是 | NULL | 照片 |
表11 专业类型
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| leixing | varchar(200) | 是 | NULL | 类型 |
表12 专业列表
| 字段 | 类型 | 空 | 默认 | 注释 |
|---|---|---|---|---|
| id (主键) | bigint(20) | 否 | 主键 | |
| addtime | timestamp | 否 | CURRENT_TIMESTAMP | 创建时间 |
| zhuanyemingcheng | varchar(200) | 是 | NULL | 专业名称 |
| zhuanyexiangqing | longtext | 是 | NULL | 专业详情 |
| zhuanyeleixing | varchar(200) | 是 | NULL | 专业类型 |
三、系统详细实现
1 管理员模块的实现
1.1 用户信息管理
功能描述:基于JavaWeb技术的在线考试系统设计与实现的系统管理员可以管理用户,可以对用户信息添加修改删除以及查询操作。具体界面的展示如图1所示。

图1 用户信息管理界面
1.2 考试统计管理
功能描述:系统管理员可以查看对考试统计进行添加,修改,删除以及查询操作。具体界面如图2所示。

图2 考试统计管理界面
2.1 专业列表管理
功能描述:系统管理员可以对专业列表信息进行添加,修改,删除以及查询操作。界面如下图所示:

图3 专业列表信息管理界面
2.1 忘记密码人员登记管理
功能描述:系统管理员可以对忘记密码人员登记信息进行添加修改删除操作,还可以对忘记密码人员登记信息进行查询。界面如下图所示:

图4 忘记密码人员登记管理界面
2 用户模块的实现
2.2 修改密码
功能描述:用户登录之后,可以修改密码。界面如下图所示:

图5 修改密码界面
2.3 试卷信息
功能描述:用户登录后可以在首页点击试卷列表,就可以看到试卷信息,可以选中试卷信息进行考试操作。界面如下图所示:

图6 试卷信息界面
2.3 考试信息管理
功能描述:用户点击试卷信息可以参考考试。界面如下图所示:

图7 考试界面
更多推荐
所有评论(0)