JavaWeb环境下的Spring Boot在线考试系统开发

1系统概述

1.1 研究背景

随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理基于JavaWeb技术的在线考试系统设计与实现的相关信息成为必然。开发合适的基于JavaWeb技术的在线考试系统设计与实现,可以方便管理人员对基于JavaWeb技术的在线考试系统设计与实现的管理,提高信息管理工作效率及查询效率,有利于更好的为人们服务。

1.2研究目的

随着互联网技术的快速发展,网络时代的到来,网络信息也将会改变当今社会。各行各业在日常企业经营管理等方面也在慢慢的向规范化和网络化趋势汇合。基于JavaWeb技术的在线考试系统设计与实现的信息化程度体现在将互联网与信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用网络信息化管理使信息管理更先进、更高效、更科学,信息交流更迅速。

对于之前基于JavaWeb技术的在线考试系统设计与实现的管理,大部分都是使用传统的人工方式去管理,这样导致了管理效率低下、出错频率高。而且,时间一长的话,积累下来的数据信息不容易保存,对于查询、更新还有维护会带来不少问题。对于数据交接也存在很大的隐患。如果采用电子化的存储方式就会带来很大的改善,而且给用户的查询带来了很大便利,因此设计一个基于JavaWeb技术的在线考试系统设计与实现刻不容缓,能够提高信息的管理水平。

1.3系统设计思想

一个成功的网站应明确建设网站的目的,确定网站的功能,确定网站规模、投入费用,进行必要的市场分析等。只有详细的策划,才能避免在网站建设中出现的很多问题,使网站建设能顺利进行。同时,一个大型的计算机网站系统,必须有一个正确的设计指导思想,通过合理选择数据结构、网络结构、操作系统以及开发环境,构成一个完善的网络体系结构,才能充分发挥计算机信息管理的优势。根据现实生活中网民的实际需求,本系统的设计按照下述原则进行。

1.有效性:实际上这里的有效性包括两个方面的意思:有用性和可用性。有用性是指站点潜在的能满足用户需求的功能,而可用性是指能够通过站点的操作实现特定的目标。可以看出一个站点如果不能恰当运行或设计得非常槽糕就不是一个好站点。可用站点的效益应该非常高,并易于学习,在实现用户目标时令人满意而不出错。

2.高可靠性:一个实用的网站同时必须是可靠的,本设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证网站的可靠性与容错性。

3.高安全性:在设计中,将充分利用网络软、硬件提供的各种安全措施,既可以保证用户共享资源,充分考虑系统及数据资源的容灾、备份、恢复的要求。为系统提供强大的数据库备份工具。可以保证关键数据的安全性。操作权限级,设置不同的角色确保每一步的操作权限,可以由管理员进行设置。

4.先进性:采用目前国际上最先进的开发技术,使用JSP开发技术,MYSQL作为网站后台数据库。采用这些技术降低了以后的系统运营成本,提高了系统的稳定性和易维护性。

5.采用标准技术:本网站的所有设计遵循国际上现行的标准进行,以提高系统的开放性。

6.外观和技术平衡:系统采用Web风格的界面设计,界面友好、美观,使用方便,易学易用。网站设计的关键问题是外观和技术的平衡。外现不好的网站令人厌烦,站点可以运行很好,但却不能带动用户积极性,相反,如果外观非常有表现力,但技术有限,用户则会感到非常失望。在外观与技术之间需要确定一个清晰而连续的关系,即外观与站点的意图相关,对不同类型的网站处理方法不同。

4系统概要设计

4.1概述

本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示:

图4-1系统工作原理图

4.2系统结构

本系统是基于B/S架构的网站系统,设计的管理员功能结构图如下图所示:

图4-2管理员功能结构图

本系统是基于B/S架构的网站系统,设计的用户功能结构图如下图所示:

图4-4 用户功能结构图

4.3.数据库设计

4.3.1数据库实体

概念设计的目标是设计出反映某个组织部门信息需求的数据库系统概念模式,数据库系统的概念模式独立于数据库系统的逻辑结构、独立于数据库管理系统(DBMS)、独立于计算机系统。

概念模式的设计方法是在需求分析的基础上,用概念数据模型(例如E-R模型)表示数据及数据之间的相互联系,设计出反映用户信息需求和处理需求的数据库系统概念模式。概念设计的目标是准确描述应用领域的信息模式,支持用户的各种应用,这样既容易转换为数据库系统逻辑模式,又容易为用户理解。数据库系统概念模式是面向现实世界的数据模型,不能直接用于数据库系统的实现。在此阶段,用户可以参与和评价数据库系统的设计,从而有利于保证数据库系统的设计与用户的需求相吻合。在概念模式的设计中,E-R模型法是最常见的设计方法。本系统的E-R图如下图所示:

(1)考试评分信息的实体属性图如下:

图4.12 考试评分信息实体属性图

(2)试卷信息实体属性图如图4.13所示:

图4.13 试卷信息实体属性图

(3)考试规则信息实体属性图如图4.14所示:

图4.14 考试规则信息实体属性图

4.3.2数据库设计表

基于JavaWeb技术的在线考试系统设计与实现需要后台数据库,下面介绍数据库中的各个表的详细信息:

表4.1 试卷表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

name varchar(200) 否 试卷名称

time int(11) 否 考试时长(分钟)

status int(11) 否 0 试卷状态

表4.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 试题排序,值越大排越前面

表4.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.4 考试规则

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

guize longtext 是 NULL 规则

tupian varchar(200) 是 NULL 图片

表4.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 班级

表4.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 考试科目次数

表4.7 考试资讯

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

title varchar(200) 否 标题

introduction longtext 是 NULL 简介

picture varchar(200) 否 图片

content longtext 否 内容

表4.8 管理员表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

username varchar(100) 否 用户名

password varchar(100) 否 密码

role varchar(100) 是 管理员 角色

addtime timestamp 否 CURRENT_TIMESTAMP 新增时间

表4.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 修改时间

表4.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 照片

表4.11 专业类型

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

leixing varchar(200) 是 NULL 类型

表4.12 专业列表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

zhuanyemingcheng varchar(200) 是 NULL 专业名称

zhuanyexiangqing longtext 是 NULL 专业详情

zhuanyeleixing varchar(200) 是 NULL 专业类型

相关推荐
lifejump17 分钟前
基于PHP的http字段查询与注册(V1)(持续迭代)
开发语言·php
无忧无虑Coding27 分钟前
Django入门教程——数据模型建立
数据库·django·sqlite
MXsoft61843 分钟前
监控易监测对象及指标之:Canal中间件监控
大数据·数据库
weixin_378410241 小时前
java springboot项目如何计算经纬度在围栏内以及坐标点距离
java·开发语言·spring boot
知识中的海王1 小时前
已解决sqlalchemy.exc.OperationalError: (pymssql._pymssql.OperationalError) (18456
数据库·python
2401_858120261 小时前
SpringBoot框架:闲一品交易平台的创新驱动
数据库·spring boot·oracle
customer081 小时前
【开源免费】基于SpringBoot+Vue.J影城管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源
CopyLower2 小时前
Redis 分布式锁:原理、实现及最佳实践
数据库·redis·分布式
尘浮生2 小时前
Java项目实战II基于微信小程序的计算机实验室排课与查询系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·mysql·微信小程序·小程序