[springboot]在线考试系统
第1章 概 述
通过对本文的开发背景、研究意义以及国内外研究现状和发展趋势的分析,确定本文的研究内容是系统开发的前提[1]。
1.1 开发背景及研究意义
近年来互联网技术的发展使得互联网产品和网站层出不穷,对人才的需求不断提高 。同时,面对过去使用手抄等方式进行记录,工作效率很难得到提高,无法满足现代人们的需求;自从人类进入互联网时代,通过纸质手抄的方式转换成线上无纸化管理,有效的解决了获取信息的渠道,全面提升工作效率。由此,实现一套完整的在线考试系统非常必要[2]。
设计和实现在线考试系统。该系统具有良好的扩展性、稳定性、安全性以及可移植性等特点。为方便用户搜索信息并进行交流,特制定本在线考试系统[3]。
1.2 国内外研究现状和发展趋势
在国内,由于历史环境因素的影响和发展的不平衡,在线考试管理不完善,这对计算机领域的应用以及外部状态信息在在线考试管理中的应用产生了很大的影响。简单的技术可以取代过去的形式或方法,但如果你想设计一个管理计划以更科学的方式重新管理这一环节,你必须放弃传统的管理方法,尽快改变管理方法,改变管理理念以合理运作,使系统更精细,控制成本,提高管理效率。
在国外,系统管理发展迅速[4]。相应的信息系统软件设计和保护的研发也有所增加。随着时代的变化,产品研发得到了推动,系统软件得到了极大的发展。如今,它正朝着智能化、数字化和信息化的方向快速发展。所有大公司都采用了类似的管理系统,促进了公司的快速发展,取得了较好的经济效益[5]。
计算机作为信息科学的媒介和关键,对人类社会的繁荣起着至关重要的作用。政府机构和事业单位将根据工作内容选择一套优秀的通信技术和专业办公设备,并利用这些技术和设备快速收集、解决和存储信息,使管理变得方便快捷,实现科学合理的管理目标。
总而言之,在线考试系统的发展呈持续上升发展趋势,现在传统式的手工制作和半手动式管理方法转变为信息化管理的转变历程中,必须使用和融合全新的信息技术性来完成传统的系统设计方法,确保系统的效果和品质[6]。
但是这些在线考试管理都是由传统学校开发建设而成的,在在线考试信息发布上主要采用人工方式进行管理和维护,这种方法效率低下且容易出错,已经不能满足现在快速多变的社会需求,且大都缺乏有效的安全认证机制和管理机制,用户使用虚假信息注册,使得网站存在大量的虚假信息,无法保证信息的安全性。自1993年美国实施National Information Infrastructure以来,网络普及率大幅提高,互联网用户数量快速增长,专业的在线考试系统开始快速增长。
1.3 本文主要研究的内容
该系统采用java语言、Spring Boot框架开发,后台使用MySQL数据库进行数据存储。系统主要分为三大模块:即管理员模块和教师、学生模块。本文从在线考试管理流程分析入手,分析了其功能性需求,设计了一个由管理员和教师、学生三部分组成的在线考试系统。系统模块主要包括;用户、考试信息、考场信息、试卷、试题、考试等管理功能[7]。
第2章 关键技术介绍
在开发系统过程中采用java语言、MySQL数据库存储数据。系统以B/S为基础,实现管理一体化、规范化,为用户提供一个高效快捷的交流平台。基于Spring Boot的在线考试系统具有良好的稳定性与安全性,并且操作简单,易于维护。下面介绍一下关键技术。
2.1 开发环境
本系统使用Eclipse开发工具。系统使用服务器为Tomcat服务器。系统数据库设计使用MySQL。
2.2 Java语言
Java是一种在Web应用开发中得到广泛使用的脚本语言,经常被用来对用户的相关行为做出反应。它还具有面向对象的设计能力,使设计开发过程更加直观和模块化,并在HTML基础上进行交互Web页面的开发。这种脚本语言的问世,使用户与页面之间的实时、动态交互成为现实,丰富了页面的内容,增强了页面的活力。另外,Java技术也被广泛地运用于该系统,比如对用户输入的数据进行检测,以保证其有效性。Java技术可以在不依赖Web服务程序的基础上在本地客户机上运行。从而有效地解决了因网络速度所带来的迟缓问题,使用户能够更加顺畅、快捷地进行访问。一些功能,比如用户的数据输入,可以通过JavaScript这样的客户语言来完成。该系统采用Java客户机进行用户身份认证,确保了系统的安全性和可靠性。
2.3 Spring Boot框架介绍
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发用户在工程创建是就预先做了很多配置,这样在开发时就不再需要开发用户过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发用户不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。
2.4 MySQL数据库
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于Spring Boot的在线考试系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。
2.5 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.6 本章小结
本节作为开发的准备,简要介绍了系统开发所需的开发环境,然后介绍系统开发所需的技术,从而掌握系统开发的总体框架性。
第3章 系统分析
系统分析是软件开发的关键。但在实际工作中却往往容易被人们忽视或误解。其实需求分析在软件开发过程中起着重要作用,它不仅为软件产品提供了一个基本框架和基础结构,而且还能够提高软件开发效率及质量。大多数软件的故障都是由于需求分析错误造成的,因为需求分析可以分析用户的业务,并根据用户的需求进行定制分析[8]。
3.1 系统概述
该系统由管理员、教师、学生三部分组成。其中:每个人的权限不同所以功能也就不同;管理员则是根据不同需求设置了不同功能,可以通过后台管理接口管理系统所有信息[9]。
3.2 需求分析
需求分析,也称为软件需求分析、系统需求分析或需求分析工程,是指开发用户经过充分的研究和分析,准确地理解用户和项目在功能、性能、可靠性等方面的具体需求,并将用户的非正式需求表述转化为确定系统必须执行的需求的完整定义的过程[10]。
功能需求分析是系统设计的前提,它要求开发者和用户定义开发什么样的体系和系统需要什么样的功能。本文主要介绍了一种基于windows平台实现的在线考试系统。该系统为用户找到在线考试信息提供了更安全、更高效、更便捷的途径。
3.3 可行性分析
可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响、资金筹措情况、盈利能力等,预测项目建成后可能产生的资金、经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性[11]。
3.3.1 技术可行性分析
本系统是为了为用户寻找在线考试管理提供更加安全、高效、便捷的方式,本系统需要运用到java、MySQL和B/S结构等技术,这些技术在国内外已经非常成熟,在大学期间也有所涉及,相关的知识和工具在网络上也可以查到,再加上评委的指导,在技术上的难题可以得到解决[12]。
3.3.2 经济可行性分析
该系统的主题是在线考试系统的设计与实现。开发所需的软件资源是Eclipse。我们可以在它的网站上安装一个免费的版本,这对我们的开发和使用是足够好的。数据库就是MySQL数据库。是开源是免费的,服务器使用Tomcat服务器,浏览器使用日常IE浏览器,java技术是开源的。经过可行性评估,软件资源支出符合经济可行性。硬件方面,配备齐全的笔记本电脑作为工具在经济上是可行的。
3.3.3运行可行性
运行可行性也可以说是系统可用性的体现,在线考试系统本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是在线考试系统,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中[13]。
3.4系统用例图
用例图的作用也是十分重要的,因为它设计方法较为简单,所以它是十分重要的交流工具。在系统开发设计的时候,可以直观明了的看到每个功能模块之间的联系和相互作用,在做出任何变动的时候,都能有很明确的思维导向。它就像一座大桥一样,串联了整个系统。
本次系统的用例图做出了十分明确的功能划分,在设计时可以有很好的设计思路进行设计和延展。
管理员用例图如图3-1所示。

图3-1管理员用例图
教师用例图如图3-2所示。

图3-2教师用例图
学生用例图如图3-3所示。

图3-3学生用例图
3.5 系统流程分析
3.5.1 登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-4所示。

图3-4登录流程图
3.5.2 新增新用户流程图
新增新用户的流程是先搜索新用户名是否已存在,如已有该用户名,需重拟用户名并同时输入新用户的其它信息,新增新用户到数据库时会先验证数据是否完整,信息都正确且完整时,返回并刷新用户列表;信息不正确时,会返回输入信息的那一步。该流程如图3-5所示。

图3-5新增新用户流程图
3.6 本章小结
在线考试系统从技术、经济、运行功能等方面分析了系统的功能需求,可以满足用户的在线考试管理需求,帮助用户安全、高效地找到合适的在线考试信息,因此有必要对其进行课题研究。
第4章 系统设计
系统设计是将被设计对象划分为单个模块进行构建,各个模块相互支持,相互制约,它们的组合是一个完整的系统。通过系统设计,可以最大限度地满足系统的预期目标,明确软件开发的目的。
4.1 系统基本结构设计
本次系统采用springboot框架进行开发,springboot框架是一款企业界主流的软件开发技术,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统总体结构图如图4-1所示。

4.2 数据库设计
数据库结构设计的好坏直接影响到在线考试系统的效率和实现的效果。本系统的数据库采用MySQL数据库,MySQL是一种开放源代码的关系型数据库管理系统,使用最常见的数据库管理语言SQL进行数据库管理。
4.2.1 数据库E-R图设计
E-R图也可称为实体-联系图,其可以清楚的显示实体与实体之间的关系,是描述概念模型的有效方式,通过各实体间的关系方便数据库结构的设计。以下是本系统主要的实体属性图如下所示。
考试信息E-R图如图4-2所示。

图4-2考试信息E-R图
考场信息E-R图如图4-3所示。

图4-3考场信息E-R图
教师信息E-R图如图4-4所示。

图4-4教师信息E-R图
学生信息E-R图如图4-5所示。

图4-5学生信息E-R图
在线考试系统总体E-R图如图4-6所示。

图4-6在线考试系统总体E-R图
4.2.2 数据库表设计
数据表是用来保存多种数据的表,它是所有数据库的核心对象,且对于软件开发有着不可替代的作用。其相关数据表如下:
表4-1菜单
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
menujson |
longtext |
4294967295 |
菜单 |
表4-2:考试信息
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
kaoshimingcheng |
varchar |
200 |
考试名称 |
||
|
kaoshikemu |
varchar |
200 |
考试科目 |
||
|
kaoshishijian |
datetime |
考试时间 |
|||
|
kaoshinianji |
varchar |
200 |
考试年级 |
表4-3:考场信息
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
kaochanghao |
varchar |
200 |
考场号 |
||
|
kaochangrenshu |
varchar |
200 |
考场人数 |
||
|
changci |
varchar |
200 |
场次 |
||
|
jiankaolaoshi |
varchar |
200 |
监考老师 |
表4-4:教师
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
jiaoshigonghao |
varchar |
200 |
教师工号 |
||
|
jiaoshimima |
varchar |
200 |
教师密码 |
||
|
jiaoshixingming |
varchar |
200 |
教师姓名 |
||
|
xingbie |
varchar |
200 |
性别 |
||
|
tupian |
longtext |
4294967295 |
图片 |
||
|
lianxifangshi |
varchar |
200 |
联系方式 |
表4-5:配置文件
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
name |
varchar |
100 |
配置参数名称 |
||
|
value |
varchar |
100 |
配置参数值 |
表4-6:成绩信息
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
shijuanmingcheng |
varchar |
200 |
试卷名称 |
||
|
xuehao |
varchar |
200 |
学号 |
||
|
xueshengxingming |
varchar |
200 |
学生姓名 |
||
|
banji |
varchar |
200 |
班级 |
||
|
kaoshichengji |
int |
考试成绩 |
表4-7: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-8:公告资讯
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
title |
varchar |
200 |
标题 |
||
|
introduction |
longtext |
4294967295 |
简介 |
||
|
picture |
longtext |
4294967295 |
图片 |
||
|
content |
longtext |
4294967295 |
内容 |
表4-9:考试记录
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
username |
varchar |
200 |
用户名 |
||
|
paperid |
bigint |
试卷id(外键) |
|||
|
papername |
varchar |
200 |
试卷名称 |
||
|
questionid |
bigint |
试题id(外键) |
|||
|
questionname |
varchar |
200 |
试题名称 |
||
|
options |
longtext |
4294967295 |
选项,json字符串 |
||
|
score |
bigint |
分值 |
|||
|
answer |
varchar |
200 |
正确答案 |
||
|
analysis |
longtext |
4294967295 |
答案解析 |
||
|
myscore |
bigint |
试题得分 |
|||
|
myanswer |
varchar |
200 |
考生答案 |
||
|
userid |
bigint |
用户id |
表4-10:试题管理
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
paperid |
bigint |
试卷id(外键) |
|||
|
papername |
varchar |
200 |
试卷名称 |
||
|
questionname |
varchar |
200 |
试题名称 |
||
|
options |
longtext |
4294967295 |
选项,json字符串 |
||
|
score |
bigint |
分值 |
|||
|
answer |
varchar |
200 |
正确答案 |
||
|
analysis |
longtext |
4294967295 |
答案解析 |
||
|
type |
bigint |
试题类型 |
|||
|
sequence |
bigint |
试题排序,值越大排越前面 |
表4-11:试卷管理
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
name |
varchar |
200 |
试卷名称 |
||
|
time |
int |
考试时长(分钟) |
|||
|
status |
varchar |
200 |
试卷状态 |
表4-12:学生
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
xuehao |
varchar |
200 |
学号 |
||
|
mima |
varchar |
200 |
密码 |
||
|
xueshengxingming |
varchar |
200 |
学生姓名 |
||
|
touxiang |
longtext |
4294967295 |
头像 |
||
|
xingbie |
varchar |
200 |
性别 |
||
|
banji |
varchar |
200 |
班级 |
||
|
lianxifangshi |
varchar |
200 |
联系方式 |
||
|
shenfenzhenghaoma |
varchar |
200 |
身份证号码 |
表4-13:管理员
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
username |
varchar |
200 |
用户名 |
||
|
password |
varchar |
200 |
密码 |
||
|
role |
varchar |
200 |
角色 |
4.3 本章小结
通过本章针对在线考试系统功能的总体结构、E-R属性图和数据表的大概介绍,对在开发系统时所要涉及到的数据库进行简单设计,为下一章系统的实现做好铺垫。
第5章 系统实现
系统实现章节的主要内容主要是将系统分析和系统设计方案进行实现,按照各个系统角色进行功能介绍,系统实现就是一个真正开始编写的阶段,将前面的分析结果以及设计方案进行实现,最终做出一个符合用户需求的软件系统。
5.1前台学生功能实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到在线考试系统的导航条显示首页、考试信息、考场信息、公告资讯、个人中心等。系统首页界面如图5-1所示:

图5-1系统首页界面
在注册流程中,学生在Vue前端填写必要信息(如学生名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查学生名是否唯一,并将新学生数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知学生完成注册。这个过程实现了新学生的数据收集、验证和存储。如图5-2 所示:

图5-2 学生注册界面
在登录流程中,学生首先在Vue前端界面输入学生名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证学生凭证。如果认证成功,后端会返回给前端,允许学生访问系统。这个过程涵盖了从学生输入到系统验证和响应的全过程。如图5-3所示:

图5-3 学生登录界面
点击考试信息,学生在考试信息页面搜索栏输入考试名称,进行搜索,查看考试名称、考试科目、考试时间、考试年级等信息,如图5-4所示。

图5-4考试信息界面图
点击考场信息,学生在考场信息页面搜索栏输入考场号、场次,进行搜索,查看考场号、考场人数、场次、监考老师等信息,如图5-5所示。

图5-5考场信息界面图
学生点击个人中心,在个人中心页面可以更新个人详细信息,还可以对修改密码、考试管理进行详细操作;如图5-6所示:

图5-6个人中心界面
5.2后台管理员功能模块实现
管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,点击登录操作;如图5-7所示。

图5-7管理员登录界面
管理员进入主页面,主要功能包括首页、用户管理、考试信息管理、考场信息管理、试卷管理、试题管理、考试管理、系统管理等进行操作。管理员主页面如图5-8所示:

图5-8管理员功能主界面
教师信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写教师信息表单。这些教师信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除教师信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便教师信息功能可以看到最新的信息或相应的操作反馈。在教师信息页面的输入栏中输入教师工号进行搜索,可以查看到教师详细信息,并根据需要进行改动或者删除等操作;如图5-9所示。

图5-9教师界面图
学生信息功能在视图层(view层)进行交互,比如点击“新增”按钮或填写学生信息表单。这些学生信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如搜索、新增、更新或删除学生信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便学生信息功能可以看到最新的信息或相应的操作反馈。在学生信息页面的输入栏中输入学号进行搜索,可以查看到学生详细信息,并根据需要进行改动或者删除等操作;如图5-10所示。

图5-10学生界面图
管理员点击考试信息管理;在考试信息管理页面通过对考试名称、考试科目、考试时间、考试年级等信息,进行搜索或新增、修改、删除考试信息等操作;如图5-11所示。

图5-11考试信息管理界面图
管理员点击考场信息管理;在考场信息管理页面通过对考场号、考场人数、场次、监考老师等信息,进行搜索、新增或删除考场信息等操作;如图5-12所示。

图5-12考场信息管理界面图
管理员点击试卷管理;在试卷管理页面对试卷名称、考试时长(分钟)、试卷状态等信息,进行搜索、新增或删除试卷信息等操作;如图5-13所示。

图5-13试卷管理界面图
管理员点击考试管理;在考试管理页面通过对考生姓名、试卷名称、考试得分等信息,进行搜索考试信息等操作;如图5-14所示。

图5-14考试管理界面图
5.3后台教师功能模块实现
在系统上教师在注册界面填写详细信息后,进行注册操作,如图5-15所示:

图5-15教师注册界面
在系统上教师点击登录按钮,在登录界面填写信息完成后,单击登录操作,如图5-16所示:

图5-16教师登录界面
教师登录系统后可以对首页、试卷管理、试题管理、考试管理等功能进行操作。如图5-17所示:

图5-17 教师功能主界面
5.4 本章小结
第五章主要内容是系统实现,分别实现了对管理员功能的管理,对教师、学生的管理,完成了系统全部功能设计。
第6章 系统测试
系统测试是检验软件产品是否满足预期需求,确保产品无缺陷的重要手段。系统测试侧重于评估系统是否满足指定的要求,并帮助检查整个系统的功能性需求。通过对系统功能和非功能两个方面的测试用例进行分析与比较可以发现软件存在的问题以及需要改进之处。软件可靠性设计是一项系统性工程,涉及到多个学科领域,因此其难度较大。测试将侧重于功能测试,这是黑盒测试的一部分,黑盒测试的重点是用户提供的要求,而不是系统的实际代码[14]。
6.1 系统测试的目的
系统测试(System Testing)是为了向使用者提供有关被测试产品或服务的质量信息而进行的检查。系统测试还可以提供客观和独立的系统评估,以使运营者能够了解和系统实施所面临的潜在问题。系统测试涉及软件组件或系统组件的执行,以评估一个或多个系统属性。通常这些属性表明被测组件或系统满足系统预期开发需求,在各种预期的时间内,正确响应各种系统输入,在可接受的时间内执行其功能,足够可用,同时可以满足分析设计时要求的程度。在预期的环境中运行,并达到用户期望的总体结果。经过一系列严格功能测试,以发现系统功能方面潜在的问题,保证系统的正常运行[15]。
6.2 系统功能测试
在系统的功能性测试中,开发用户需要按照操作要求使在线考试系统软件的各项功能,并准确记录测试期间的每个功能的运行数据,判定软件系统开发的功能是否符合预期的结果,主要是对MySQL数据库里的数据进行增删改查。对该功能的测试操作如表6-1所示:
|
测试项 |
测试用例 |
测试特性 |
用例描述 |
系统反应 |
测试结果 |
||||||
|
角色管理 |
权限名称:xx,权限字符:admin 菜单权限:系统管理 |
功能测试 |
新增一个新角色,基础信息与已有角色完全一致 |
新增失败,提示“该角色已存在” |
通过 |
||||||
|
角色管理 |
权限名称:xx权限字符:admin 菜单权限:系统管理 |
功能测试 |
按关键词搜索角色信息 |
查找成功 |
通过 |
||||||
|
权限名称:xx,权限字符:admin 菜单权限:系统管理 |
功能测试 |
删除系统中角色 |
删除成功 |
通过 |
|||||||
|
角色管理 |
权限名称:aa,权限字符:boss 菜单权限:系统管理 |
功能测试 |
新增一个新角色,基础信息与已有角色均有所不同 |
新增成功 |
通过 |
||||||
6. 3 性能测试
性能测试主要是为了模拟系统在多人使用的运行环境中测试系统的性能最大的承受压力。对关键的技术指标表示支持系统的运行速度,网络顺畅和并发的数量。当多个人使用时,系统不会崩溃。
(1)运行的速度:测试在不同计算机上运行时没有出现死机的情况。
(2)响应的时间:对最快,平均和最大的响应时间。经过测试,局域网应答时限参数能满足用户的需求,属于正常承受范围。
(3)支持并发节点数:系统在并发节点上达到45个时,网络运营的速度波动较大,时间延迟十秒之间,符合客户需求。
6.4 本章小结
本章所做的主要工作是对系统进行功能性测试和性能测试。在线考试系统的正确性是网站的不可或缺的因素,系统的功能性测试是其中必不可少的步骤,也是占有很大比重的部分,这个过程中遇到的最多的问题是当界面跳转的时候系统终止运行。使用Eclipse中的Log Cat功能能够实现对程序每一个步骤进行跟踪,且定位出错误的位置十分方便。通过对各功能模块的测试结果和预期结果的比较,发现系统功能满足项目要求。
更多推荐



所有评论(0)