目录

0664springboot在线考试--论文

项目清单 包安装运行 官网地址 http://chenqi1990.site

0664springboot在线考试–论文

https://raw.githubusercontent.com/GraduationProject-springboot/.github/main/img/wx.png

github 项目仓库 开源仅有后端代码

点击播放视频 ▼

https://i.sstatic.net/Vp2cE.png

第一章 概述

1.1 研究背景

21世纪,我国早在上世纪就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分的企事业单位都有自己的系统,由从今传统的管理模式向互联网发展,如今开发自己的系统是理所当然的。那么开发在线考试系统意义和用处有哪些呢?

1.首先提升形象:这是每个企事业单位建设系统的目的之一。当今的网络信息年代,连一个操作系统都不从有过,将会跟不上时代的步伐。

2.加强在线考试服务:在线考试管理行业性质要求您定期提供资料给管理员,或者随时接受用户的建议。如果群众需要,可以通过系统进行管理。

3.同时一个好的系统能将在线考试的信息管理手段提上一个新的台阶。系统内容可以随时更新,这点对于现代在线考试管理来说是很重要,但传统的管理方式都无法做到的。在线考试系统就可以每天更新,随时向您反映在线考试的最新情况。

在线考试系统能够通过互联网得到广泛的、全面的宣传,让尽可能多的用户了解和熟知在线考试系统的便捷高效,不仅为群众提供了服务,而且也推广了自己,让更多的群众了解在线考试管理。

1.2 开发意义

人类的进步带动信息化的发展,使人们生活节奏越来越快,所以人们越来越重视信息的时效性。以往的管理方式已经满足不了人们对获得信息的方式、方便快捷的需求。即在线考试系统慢慢的被人们关注。首先,网上获取信息十分的实时、便捷,只要系统在线状态,无论在哪里都能第一时间查找到理想的信息。

计算机技术在管理中成为人们的重要工具。可以有效快捷的解决想要获取的信息,提高工作效率。

1.3 研究现状

在国外很多发达国家,软件产业早已得到全面普及,但我国经济已不断发展,不断引进国外信息化建设,使国内软件行业得以不断发展,在摸索中进步,最终也得到一些成果,我国的软件业迎来了高速的发展,使更多的软件系统得以开发出来,从此逐渐地改变人们的生活工作方式。但是,对于信息化的建设,与很多发达国家相比,由于信息化程度的落后以及经费的不足,我国的在线考试系统开发方面还是相对落后的,因此,要不断的努力探索,争取开发出一个实用的信息化的在线考试系统,来实现在线考试管理的信息化。因此本课题以在线考试为例,目的是开发一个实用的在线考试系统。

在线考试系统的开发运用java技术,MIS的总体思想,以及MYSQL等技术的支持下共同完成了该系统的开发,实现了在线考试管理的信息化,使用户体验到更优秀的在线考试管理,管理员管理操作将更加方便,实现目标。

1.4 研究内容

在线考试的需求和管理上的不断提升,在线考试管理的潜力将无限扩大,在线考试系统在业界被广泛关注,本系统及对此进行总体分析,将在线考试信息管理的发展提供参考。在线考试系统对在线考试有着明显的带动效应,对管理帮助更大。

本系统主要包括管理员和用户两个角色组成;主要包括首页、个人中心、用户管理、教师管理、课程信息管理、班级信息管理、试题管理、在线试题管理、考试管理等功能的管理系统。

1.5 论文结构

(1)绪论

系统的开发背景,意义和系统状况等,详细讲述了系统的用处。

(2)系统开发技术的介绍

分别对java技术、MySQL和B/S进行详细介绍。

(3)系统分析

本章主要是对系统可行性、系统性能、还有系统功能需求进行分析。

(4)系统设计

对系统系统功能和数据库等进行详细讲解。

(5)系统的实现

主要对首页、个人中心、用户管理、教师管理、课程信息管理、班级信息管理、试题管理、在线试题管理、考试管理的实现。

(6)系统的测试

在系统编码实现后,就需要对系统进行检测,检测的方法有黑盒测试和白盒测试两种方式,本系统采用的是黑白盒测试方法对不同组的数据进行功能模块测试。

(7) 总结与心得体会

在论文最后结束章节总结了开发这个系统和撰写论文时候自己的总结、感想,包括致谢。

第二章 开发技术介绍

此次管理系统的关键技术和架构由B/S结构、java和mysql数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。

2.1 系统开发平台

在该在线考试系统中,Eclipse能给用户提供更多的方便,其特点一是方便学习,方便快捷;二是有非常大的信息储存量,主要功能是用在对数据库中查询和编程。其功能有比较灵活的数据应用,只需利用小部分代码就能实现非常强大的功能。因此,利用Eclipse 技术进行系统代码管理是该系统数据库的首选。

2.2 平台开发相关技术

2.2.1 Java技术

Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点,而且Java是开源的,拥有全世界最大的开发者专业社群,所以Java的发展迅速。

2.2.2 mysql数据库介绍

利用MYSQL的数据独立性、安全性等特点,在软件项目中对数据进行操作,可以保证数据准确无误,并降低了程序员的应用开发时间。

MYSQL的特点是支持多线程,能方便的对系统资源充分利用,有效提高速度,还提供多种方式途径来对数据库进行连接;MYSQL的功能相对弱小、规模也小,但本系统要求不高,MYSQL完全可以满足本系统使用。

利用MYSQL建立系统数据库,不仅有利于数据处理业务的早期整合,还能利于发展后两种数据扩展的操作。

2.2.3 MySQL环境配置

本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。

修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。

2.2.4 B/S架构

B/S结构是目前使用最广泛的结构模式,它不但能让系统的开发更加的简单,易操作,而且还能够对其进行维护。在使用B/S结构时只要在计算机中安装好数据库和一些很常用的浏览器就行了。数据库和浏览器就会进行信息连接,能实现很多功能,此结构通过能上网的电脑是可以直接进行使用,而且在使用中极大的减少了工作的维护。基于B/S的软件数据库之间都是独立使用的,因此是非常可靠的。因为基于此结构可以清晰的看到系统正在处理的所有业务,还能够及时的让管理人员根据当时的实际情况做出相应的对策,这样能避免用户的损失。B/S结构的管理模式是集中式的,用户使用此系统在生成数据后就可以将这此数据存储到系统的数据库中,方便以后使用满足人们的所有的需求。

/images/0600stringboot/0664springboot/blog.001.png

图2-1 三层结构图

2.2.5 SpringBoot框架

SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计,其不仅继承了Spring框架原来有的优秀特性,而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。

SpringBoot可以看做是Spring的加强版本,但实质上都是Spring的相关技术,有了这些优秀的开源框架,程序员在开发过程中将事半功倍。

第三章 系统分析

3.1 可行性分析

一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本系统来补充线下在线考试管理模式中的缺限,去解决其中的不足等,通过对本系统,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该系统能实现更大的意义和价值, 系统完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该在线考试系统的开发设计中,对技术、经济、操作方面进行了可行性分析;

3.1.1 技术可行性

本系统开发选择java语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,java俨然已成为下一代互联网的Web标准。所以设计选择使用MYSQL,数据库主要用来的建立和维护信息。对于前台开发要求应具备功能完善、易于操作等优点,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

3.1.2 操作可行性

现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。

3.1.3 经济可行性

基于SpringBoot在线考试系统,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的在线考试管理,同时还能实现对人力资源和管理资源的有效节约,该在线考试系统在经济上完全可行。

3.2性能需求分析

对系统的性能,从(功能、运行、界面、安全)等方面进行,下面我们逐一进行分析;

\1. 系统的功能是否完整进行分析:系统的功能,能对应设计出原始代码和算法,以表格同文字的形式进行详细介绍个人信息保证功能完整;

\2. 系统的运行是否通畅进行分析:系统的每个功能都有编写数据的关系和应对的代码,通过需求分析和可行性分析进行分析和显示系统的物理数据,保证其进行通畅;

\3. 系统的界面设计进行分析:对系统中的软件进行处理与分析的方式是由不同代码来进行的;从而使界面容易操作。

\4. 系统的安全性进行分析:这样才可以每个角色的不同对应的信息也就不同,在登录系统务必使用自己的账号,密码登录,账号与密码错误自然就登录失败了。登录成功可以对自己的信息进行操作,不能对别人的账号的信息进行查看等操作,这样自然保证系统的安全性。

3.3功能分析

考虑到实际生活中在在线考试管理方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。

(1)管理员功能需求

管理员登陆后,主要模块包括首页、个人中心、用户管理、教师管理、课程信息管理、班级信息管理、试题管理、在线试题管理、考试管理等功能。管理员用例图如图3-1所示。

/images/0600stringboot/0664springboot/blog.002.png

图3-1 管理员用例图

(2)用户功能需求

用户登陆后,主要模块包括首页、个人中心、课程信息管理、班级信息管理、考试管理等功能。用户用例图如图3-2所示。

/images/0600stringboot/0664springboot/blog.003.png

图3-2 用户用例图

第四章 系统设计

4.1功能结构

为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该在线考试系统的功能结构图如下所示:

/images/0600stringboot/0664springboot/blog.004.png

图4-1 系统总体结构图

4.2 数据库设计

4.2.1 数据库E/R图

ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:

(1) 课程信息E/R图如下所示:

/images/0600stringboot/0664springboot/blog.005.png

图4-2课程信息E/R图

(2) 班级信息E/R图如下所示:

/images/0600stringboot/0664springboot/blog.006.png

图4-3班级信息E/R图

4.2.2 数据库表

数据库表的设计,如下表:

表4-1:课程信息

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengbianhao varchar 200 课程编号
kechengmingcheng varchar 200 课程名称
kechengfenlei varchar 200 课程分类
tupian varchar 200 图片
kechengneirong longtext 4294967295 课程内容
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
xueshengzhanghao varchar 200 学生账号
xingming varchar 200 姓名

表4-2:课程分类

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengfenlei varchar 200 课程分类

表4-3:教师

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
mima varchar 200 密码
xingbie varchar 200 性别
touxiang varchar 200 头像
zhicheng varchar 200 职称
dianhuahaoma varchar 200 电话号码

表4-4:考试记录表

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
username varchar 200 用户名
paperid bigint 在线考试id(外键)
papername varchar 200 在线考试名称
questionid bigint 试题id(外键)
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
myscore bigint 试题得分 0
myanswer varchar 200 考生答案

表4-5:试题表

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
paperid bigint 所属在线考试id(外键)
papername varchar 200 在线考试名称
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
type bigint 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 0
sequence bigint 试题排序,值越大排越前面 100

表4-6:在线考试表

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
name varchar 200 在线考试名称
time int 考试时长(分钟)
status int 在线考试状态 0

表4-7:配置文件

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-8:学生

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
xueshengzhanghao varchar 200 学生账号
xingming varchar 200 姓名
mima varchar 200 密码
xingbie varchar 200 性别
touxiang varchar 200 头像
nianling int 年龄
dianhuahaoma varchar 200 电话号码

表4-9:用户表

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-10:token表

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP

表4-11:通知公告

字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键 主键
addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture varchar 200 图片
content longtext 4294967295 内容

第五章 系统功能实现

5.1系统登录注册

系统登录,管理员和用户进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行系统操作,如图5-1所示。

/images/0600stringboot/0664springboot/blog.007.png

图5-1系统登录界面图

用户注册,在用户注册页面通过填写学号、密码、确认密码、姓名、院系、专业、手机等内容进行注册操作,如图5-2所示。

/images/0600stringboot/0664springboot/blog.008.png

图5-2用户注册界面图

5.2管理员功能模块

管理员登录系统后,可以对首页、个人中心、用户管理、教师管理、课程信息管理、班级信息管理、试题管理、在线试题管理、考试管理等功能进行相应的操作管理,如图5-3所示。

/images/0600stringboot/0664springboot/blog.009.png

图5-3管理员功能界面图

用户管理,在用户管理页面可以对索引、学号、姓名、性别、院系、专业、班级、手机等内容进行详情,修改或删除操作,如图5-4所示。

/images/0600stringboot/0664springboot/blog.010.png

图5-4用户管理界面图

教师管理,在教师管理页面可以对索引、教师工号、教师姓名、性别、籍贯、出生日期、所教科目、职务、联系方式等信息进行详情,修改或删除操作,如图5-5所示。

/images/0600stringboot/0664springboot/blog.011.png

图5-5教师管理界面图

课程信息管理,在课程信息管理页面可以对索引、课程名称、科目类型、班级、授课老师、开课时间、结课时间、课件等内容进行详情,修改或删除操作,如图5-6所示。

/images/0600stringboot/0664springboot/blog.012.png

图5-6课程信息管理界面图

班级信息管理,在班级信息管理页面可以对索引、班级编号、班级类型、班级人数、班主任、备注等内容进行详情,修改和删除操作,如图5-7所示。

/images/0600stringboot/0664springboot/blog.013.png

图5-7班级信息管理界面图

试题管理,在试题管理页面可以对在线试题、试题名称、分值、答案、类型等内容进行修改和删除操作,如图5-8所示。

/images/0600stringboot/0664springboot/blog.013.png

图5-8试题管理界面图

在线试题管理,在在线试题管理页面可以对索引、在线试题名称、考试时长(分钟)在线试题状态等内容进行详情,修改和删除等操作;如图5-9所示。

/images/0600stringboot/0664springboot/blog.014.png

图5-9在线试题管理界面图

5.3用户功能模块

用户登录进入在线考试系统可以对首页、个人中心、课程信息管理、班级信息管理、考试管理等功能进行相应操作,如图5-10所示。

/images/0600stringboot/0664springboot/blog.015.png

图5-10用户功能界面图

个人中心,在个人信息页面通过填写学号、姓名、性别、院系、专业、班级、手机等内容进行个人信息修改操作,如图5-11所示。

/images/0600stringboot/0664springboot/blog.016.png

图5-11个人中心界面图

课程信息管理,在课程信息管理页面可以对索引、课程名称、科目类型、班级、授课老师、开课时间、结课时间、课件等内容进行查看详情操作,如图5-12所示。

/images/0600stringboot/0664springboot/blog.017.png

图5-12课程信息管理界面图

班级信息管理,在班级信息管理页面可以对索引、班级编号、班级类型、班级人数、班主任、备注等内容进行查看详情操作,如图5-13所示。

/images/0600stringboot/0664springboot/blog.018.png

图5-13班级信息管理界面图

考试管理,在在线试题列表可以查看在线试题、考试时长/分钟等内容,并进行考试操作,还可以对考试记录,错题本进行详细操作;如图5-14所示。

/images/0600stringboot/0664springboot/blog.019.png

图5-14考试管理界面图