摘 要
基于Web的在线考试系统是一种利用互联网技术实现远程教育和考核的平台,允许教师在线发布考试内容,学生在任何有网络的地方参加考试,系统支持多种题型,能够自动评分并即时反馈结果给学生,极大地提高了教学的灵活性和管理的效率,是现代教育技术发展的体现。本系统采用java语言,MySQL数据库,以B/S结构进行开发设计,保证了系统的扩展性和维护性。
关键词:在线考试; java语言;B/S结构;MySQL数据库
Abstract
Web-based online examination system is a platform that uses Internet technology to realize distance education and assessment, allowing teachers to publish exam content online, and students to take the exam in any place with network. The system supports a variety of question types, and can automatically score and give immediate feedback to students, which greatly improves the flexibility of teaching and the efficiency of management. It is the embodiment of the development of modern educational technology. The system uses java language, MySQL database, B/S structure to develop and design, to ensure the scalability and maintenance of the system.
Key words: online examination; java language; B/S structure; MySQL database
目 录
1 前 言
-
- 研究背景与意义
基于Web的在线考试系统的研究背景源于全球化教育和信息技术快速发展的趋势,传统的纸质考试方式因其空间局限性、资源消耗大、效率低下等问题逐渐不能满足现代教育的需求,随着互联网技术的普及和在线教育的兴起,迫切需要一种能够克服地理限制、提高考评效率、减少资源浪费的考核方式,以及满足不同学科、不同形式的考试需求,开发一个灵活、安全、可靠的在线考试系统成为了教育技术领域的重要研究课题,这种系统的研究和实现对于推动远程教育的发展、提升教育公平性与质量、以及构建终身学习社会具有重要意义。
基于Web的在线考试系统的研究意义体现在多个方面,它打破了传统考试对物理场所的依赖,使考试活动更加灵活便捷,为学生提供了随时随地参与评估的途径,系统实现了自动化的考试管理流程,从试卷生成到成绩发布,减少了人工操作,提高了评分的准确性和工作效率,通过对大量考试数据的分析,可以为教学质量提供反馈,促进教学方法的改进。综上所述,研究并开发基于Web的在线考试系统对于提升教育评价的科学性、公正性和效率性具有重要的理论与实践价值。
基于Web的在线考试系统在国内的研究现状表明,随着网络技术的飞速发展和在线教育资源的日益丰富,越来越多的教育机构开始关注并应用在线考试系统。国内许多高校和教育公司已经研发出各自的在线考试平台,实现了考试内容的电子化、自动化评分、远程监控等功能;研究者们也在不断探索如何通过数据分析、人工智能等技术提升系统的智能化水平,以实现更加精准和高效的考核。这些系统在安全性、稳定性、用户交互体验等方面仍有待优化,对于如何更好地融合教育评价理论与技术实践、如何处理大规模并发考试等问题也是当前研究的热点。总体来说,国内在线考试系统的研究和应用正处于快速发展阶段,未来有着广阔的发展前景和技术提升空间。
在国外,基于Web的在线考试系统的研究和应用已经相当成熟,许多国际教育机构和科技公司开发了具有高度可靠性、安全性和易用性的在线考试平台。这些系统不仅支持多样化的题型和复杂的评分机制,还能实现高级功能,如自动作弊检测、实时监控、个性化学习分析等。国外的研究者也在持续探索如何利用新兴技术,比如人工智能、大数据分析、自适应学习算法等,来进一步提升在线考试系统的智能化水平和教育评价的精准性,随着对在线教育可持续性和可扩展性的需求增加,国外的在线考试系统研究正逐渐聚焦于云计算、区块链等技术在考试系统中的应用,以优化资源管理、提高数据处理能力并确保考试的公平性和透明度。国外在这一领域拥有较为先进的研究成果和广泛的应用实践,不断推动着在线考试系统技术的革新和教育评估方法的进步。
1.3 研究内容
为了解决在线考试管理的问题,本文将设计一个简单,便捷的基于web的在线考试系统,满足用户的需求。本系统分为管理员、教师和用户三大部分,利用了java作为后端开发语言,并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据处理方面,使用MySQL数据库,以满足大规模数据存储和查询的需求。同时运用B/S来构建系统的框架;利用这些技术结合实际需求开发了具有首页、个人中心、用户、教师、试卷管理、试题管理、试题库管理、系统管理、考试管理等功能的系统。
2.1 Java语言简介
Java是一种广泛使用的计算机编程语言,具有跨平台、面向对象、安全性高等特点。它是一种高级语言,可以编写各种类型的应用程序,包括桌面应用程序、移动应用程序、网络应用程序等。Java语言的设计目标是让程序员能够尽可能地重用代码,从而提高开发效率。Java语言的语法简洁明了,易于学习和使用。它提供了丰富的类库和工具,可以帮助程序员快速完成各种任务。还具有良好的可移植性,可以在不同平台上运行。这意味着开发人员可以使用同一套代码来开发Windows、Mac OS X、Linux等操作系统上的应用程序。
2.2 Spring Boot框架介绍
Spring Boot是一个基于Spring框架的开源项目,旨在简化Spring应用程序的创建、配置和部署过程。它通过自动配置和约定优于配置的原则,使得开发者能够快速构建出独立运行的应用。Spring Boot内置了Tomcat、Jetty等SpringBoor服务器,无需额外配置,即可直接运行。它还提供了丰富的插件支持,如MyBatis、Redis、MongoDB等,方便开发者快速集成各种功能。Spring Boot的设计哲学是“约定优于配置”,这意味着开发者只需关注业务逻辑的实现,而无需关心底层的配置。通过提供一系列的默认配置,Spring Boot能够帮助开发者快速搭建一个可运行的应用。此外,Spring Boot还支持自定义配置,以满足特定需求。Spring Boot简单易用性使得开发者能够更加专注于业务逻辑的实现,从而提高开发效率。
2.3 VUE.JS框架
Vue.js是一款用于构建用户界面的JavaScript框架,基于HTML、CSS和JavaScript构建,提供了Vue.js是一款用于构建用户界面的JavaScript框架,基于HTML、CSS和JavaScript构建,提供了声明式的、组件化的编程模型。其核心库只关注视图层,采用自底向上增量开发的设计。
在具体特性上,Vue.js具有数据驱动和响应式的特性。数据绑定是Vue.js的一项核心功能,它实现了MVVM风格的双向数据绑定。此外,Vue还具备响应式数据和响应式渲染的能力,能够实现当数据发生变化时,视图会自动更新。
2.4 Eclipse开发环境
Eclipse是一个开源的集成开发环境(IDE),主要用于Java语言的开发。它最初由IBM公司开发,后来被Eclipse基金会接管。Eclipse提供了丰富的功能和插件,可以帮助开发人员快速构建高质量的应用程序。Eclipse具有强大的代码编辑功能,支持多种编程语言,包括Java、C++、Python等。它还提供了调试器、版本控制工具、重构工具等,可以帮助开发人员提高开发效率。Eclipse还支持插件扩展,用户可以根据自己的需求安装不同的插件来增强其功能。它已经成为Java开发人员的首选工具之一,并且在其他编程语言领域也得到了广泛应用。
2.5 MYSQL数据库
MySQL是一种流行的开源关系型数据库管理系统,广泛应用于SpringBoor应用程序的开发。它支持多种编程语言和操作系统,包括Java、Python、C++等。具有高性能、高可靠性和易用性等特点。它采用了MVCC(多版本并发控制)技术来保证数据的一致性和完整性。还提供了丰富的数据类型和函数,可以满足各种业务需求。在实际应用中,MySQL通常与其他软件和服务集成,如SpringBoor服务器、缓存系统、消息队列等。通过这些集成,可以实现更高效的数据处理和业务逻辑处理。
2.6 B/S架构
B/S结构(Browser/Server,浏览器/服务器模式)是一种网络应用程序架构模式,它把客户端与服务器端的软件分为两个部分。在这种架构中,用户通过浏览器向服务器发送请求,服务器接收到请求后处理并返回结果给浏览器。这种模式的优点在于可以充分利用服务器的处理能力,减轻客户端的负担,同时也方便了用户的使用。目前,许多流行的SpringBoor应用程序都采用了B/S结构,如网上银行、电子商务网站等。然而,B/S结构也存在一些缺点,例如安全性问题和对网络带宽的依赖性。总之,B/S结构是一种广泛应用的网络应用程序架构模式,它为用户提供了便捷的访问方式,同时也为开发人员提供了灵活的开发环境。
3.1需求分析
在实际情况下,要开发出一套符合使用者要求的基于web的在线考试系统,首先需要深入了解使用者的需求。对考试推荐的需求有深刻的了解是成功的先决条件,因为不能满足用户需求的程序无法创造很大的使用价值,并且给设计者带来很多不利。需求分析是基于web的在线考试系统设计阶段的重要环节,它的基本内容是准确地解释系统将能够实现的关键问题,最终形成一份完整的系统使用说明。
在需求分析中,有几个功能方面的需求需要被找出并完成基本功能模块。性能要求是指在系统设计时需要满足一定的要求和限制,比如响应时间、信息处理、内存容量、磁盘容量、安全性等等。系统的可靠性要求也是一个必须考虑的问题,它可以将可用性和可靠性结合起来,显示用户在使用过程中经常遇到的问题。硬件要求也包括处理错误的能力,以表明系统如何应对环境错误。如果系统收到来自其他系统的信息,而这些信息违背了某些格式,系统应该有相应的响应情况。
软件方面的需求还包括一些逆向的需求,即系统不能做的事情。开发人员应该能够准确理解用户的真正需求,并将其应用到基于web的在线考试系统中。还应该明确找出一些虽然不属于当前基于web的在线考试系统开发的情况,但根据现有分析将来可能会需要的潜在需求。通过这个需求的分析,可以在设计过程中对基于web的在线考试系统未来可能出现的问题有所准备,以便在需要时能够更轻松地进行修改。
3.2 系统可行性分析
3.2.1经济可行性
本系统旨在解决在线考试管理方式的种种不足和问题,在提高管理水平、降低成本和节省时间,节约人力物力,方便系统管理员管理等方面,都有积极意义。学校将投入相应人力物力积极配合,保证系统开发顺利完成。
3.2.2技术可行性
本系统采用Java作为后端开发语言,并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库,以满足大规模数据存储和查询的需求。
3.2.3可操作性
该平台界面设计简洁,有良好的视图效果,能够引导用户很快掌握系统的使用方法,操作简单易上手。
3.3系统功能用例分析
基于web的在线考试系统主要是给管理员、教师和用户这三种类型的用户提供服务需求,将会根据他们的需要进行系统化的处理,并对他们的个人信息分别进行处理。接下来就具体讨论两种类型的用户分别需要的服务信息的过程:
用户的静态结构图,如图3-1所示:
图3-1 用户静态结构图
用户相对于管理员而言使用权限很低,用户通过基于web的在线考试系统登录,只可以对个人信息进行浏览,功能包括对首页、试卷、考试公告、个人中心、修改密码、考试记录、错题本、我的收藏等进行操作;用户用例图,如图3-2所示:
图3-2 用户用例图
教师相对于管理员而言使用权限较低,教师通过基于web的在线考试系统登录,只可以对个人信息进行浏览,功能包括对首页、课程信息、课程预约、个人资料等进行操作;教师用例图,如图3-3所示:
图3-3 教师用例图
管理员:系统管理员是最高权限的拥有者,是基于web的在线考试系统中权限最高的使用者,它主要的功能是对首页、个人中心、用户、教师、试卷管理、试题管理、试题库管理、系统管理、考试管理等进行查看、修改、删除等操作。管理员的用例如图3-4所示:
图3-4 系统管理员的用例图
3.4系统开发环境与技术需求
MySQL数据库技术是计算机技术中特别重要的一门技术,大多数的系统软件存储数据信息都需要依赖于MySQL数据库技术支撑,都必须采用MySQL数据库技术来进行数据资料的储存,这就要求软件开发者必须熟练掌握MySQL数据库技术。
技术框架是一个软件系统之中在开发之初非常重要的,它决定着系统的各个方面的特性,对软件的设计,系统运行,后续开发过程中都有举足轻重的地位。本次系统使用的Browser/Server(浏览器/服务器)结构,简称B/S结构,是有别于传统的C/S结构的一种新型架构。是当前最流行的一种网络结构模式。B/S结构技术的优势在于在网络硬件方面比较宽泛,不需要专门的网络硬件,在范围应用上特别的广泛,而且B/S结构技术硬件要求比较低,只需要有操作系统浏览器就可以,另外在电话上网和设备应用等方面应用的特别多。
3.5系统流程分析
基于web的在线考试系统的首页面是登录板块,它主要的功能是给用户账号登录,用户可以通过输入账号和账号密码,顺利的登录基于web的在线考试系统,系统会根据用户考试推荐时的类型自动识别。用户进行考试推荐登录的流程图,如图3-5所示。
图3-5用户登录流程图
修改用户个人信息的流程图,如图3-6所示:
图3-6修改个人信息流程图
4 系统的设计
4.1系统总功能模块设计
基于web的在线考试系统分三大部分,即管理员管理、教师管理和用户管理。系统按照用户的实际需求开发而来,贴近生活。从管理员出拿到分配好的账号密码可以进入系统,使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。整体功能展示如图4-1所示。
图4-1 系统整体功能图
4.2系统数据库设计
4.2.1 E-R模型结构设计
概念模型通常都用E-R图来进行描述,它主要是提供表示实体、属性、联系的方法,实体的含义就是,相对来说显示的客观存在,用户是能够可以轻松区别开的事件,属性则是实体中具有的性质。E-R图是可以将属性与其相关的实体集进行互相的连接,或者说将实体集与联系集进行相连,最终可以直接反映出系统中的各个实体之间的关系。下面是基于web的在线考试系统中相关的E-R图。
图4-2管理员信息的E-R图
将“试题库、试题、系统简介、教师、考试公告、用户”等作为实体,它们的局部E-R图,如图4-3所示:
图4-3 局部E-R图
4.2.2数据表设计
数据库表的设计是很关键的,在数据库的建立中占非常重要的地位,它是建立数据库资料信息的基础部分,为数据库提供数据的支持和保障,是建立数据库中必不可少的环节。下面是基于web的在线考试系统中重要数据库表的设计。数据表的详细情况如下表所示。
表4-1: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-2:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-3:系统简介
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-4:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-5:考试公告分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
typename | varchar | 200 | 分类名称 |
表4-6:考试公告
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
typename | varchar | 200 | 分类名称 | ||
name | varchar | 200 | 发布人 | ||
headportrait | longtext | 4294967295 | 头像 | ||
clicknum | int | 点击次数 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
storeupnum | int | 收藏数 | 0 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-7:教师
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jiaoshizhanghao | varchar | 200 | 教师账号 | ||
mima | varchar | 200 | 密码 | ||
jiaoshixingming | varchar | 200 | 教师姓名 | ||
nianling | int | 年龄 | |||
xingbie | varchar | 200 | 性别 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-8:考试记录表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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 | 答案解析 | ||
ismark | bigint | 是否批卷 | 0 | ||
type | bigint | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题 | 0 | ||
myscore | bigint | 试题得分 | 0 | ||
myanswer | varchar | 200 | 考生答案 |
表4-9:试题库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
questionname | varchar | 200 | 试题名称 | ||
options | longtext | 4294967295 | 选项,json字符串 | ||
score | bigint | 分值 | 0 | ||
answer | varchar | 200 | 正确答案 | ||
analysis | longtext | 4294967295 | 答案解析 | ||
type | bigint | 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 4:主观题 | 0 | ||
sequence | bigint | 试题排序,值越大排越前面 | 100 |
表4-10:试题表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
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:填空题(暂不考虑多项填空)4:主观题 | 0 | ||
sequence | bigint | 试题排序,值越大排越前面 | 100 |
表4-11:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
youxiang | varchar | 200 | 邮箱 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-12:试卷表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
name | varchar | 200 | 试卷名称 | ||
time | int | 考试时长(分钟) | |||
status | int | 试卷状态 | 0 |
表4-13:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-14:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
5系统实现
5.1系统功能实现
5.1.1前台首页实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导航条,通过点击导航条上的功能进入各功能详细页面进行操作。系统首页界面如图5-1所示:
图5-1 系统首页界面
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储;如图5-2所示:
图5-2系统注册界面
在登录流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户登录成功。这个过程实现了从信息输入到系统验证和响应的全过程。系统登录页面如图5-3所示:
图5-3系统登录页面
试卷:在试卷页面的输入栏中输入试卷名称进行查询,可以查看到试卷详细信息,并根据需要进行答题或者结束考试等操作;试卷页面如图5-5所示:
图5-5试卷详细页面
5.1.2个人中心页面实现
个人中心:在个人中心页面可以对个人中心、修改密码、考试记录、错题本、我的收藏等进行详细操作;如图5-6所示:
图5-6个人中心界面
5.2后台功能实现
5.2.1管理员功能实现
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录页面如图5-7所示。
图5-7管理员登录界面
管理员进入主页面,主要功能包括对首页、个人中心、用户、教师、试卷管理、试题管理、试题库管理、系统管理、考试管理等进行操作。管理员主页面如图5-8示:
图5-8管理员主界面
用户功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写用户表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9用户界面
试卷管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写试卷信息表单。这些试卷信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如组卷、查看、修改或删除试卷信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便试卷信息功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10试卷管理界面
试题管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写试题表单。这些试题表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如修改或删除试题,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便试题管理功能可以看到最新的信息或相应的操作反馈。如图5-11所示:
图5-11试题管理界面
试题库管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写试题库表单。这些试题库表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如修改或删除试题库,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便试题库功能可以看到最新的信息或相应的操作反馈。如图5-12所示:
图5-12试题库管理界面
5.2.2教师功能实现
教师进入主页面,主要功能包括对首页、个人中心、试卷管理、试题管理、试题库管理、考试记录等进行操作。教师主页面如图5-13示:
图5-13教师主界面
6系统测试
6.1测试概述
系统测试就是对项目是否存在错误而运行程序的一种检测方式。系统测试对于一个软件来说极为重要,并且在开发过程中占有很大的比重。每一次功能的实现都伴随着很多次的测试。它是软件是否能用的检测环节,对于软件质量的评估有着重要影响。系统能否被验收成功是测试中最后一个至关重要的环节。
6.2软件测试原则
当进行软件测试时,有一些原则需要遵循,以确保测试的有效性和效率。
第一:测试应该尽早开始。在需求分析和系统设计阶段就应该进行测试准备,以便尽早发现系统的不足之处。这样可以降低修复成本,提高开发效率。测试人员应该在分析需求时就参与进来,确保需求具备可测试性和正确性。
第二:测试应该是全面的。测试应该覆盖软件的各个功能模块和不同的使用场景,以确保软件在各种情况下都能正常运行。测试还应该关注软件的性能、安全性和可用性等方面,以全面评估软件的质量。
随着软件开发的复杂性增加,手动测试已经无法满足需求。自动化测试可以提高测试的效率和准确性,减少人为错误。通过编写自动化测试脚本,可以快速执行大量的测试用例,并及时发现问题。软件的开发是一个迭代的过程,每个迭代都会引入新功能和修复旧问题。因此,测试也应该是一个持续的过程,与开发同步进行。持续集成和持续交付等技术可以帮助实现持续测试,确保软件在每个迭代中都能达到预期的质量标准。通过测试不仅仅是为了发现问题,更重要的是提供有价值的反馈给开发人员。测试人员应该及时向开发人员报告问题,并提供详细的复现步骤和环境信息,以便开发人员能够快速定位和解决问题。
6.3测试用例
(1)用户登陆测试用例
表 6-1 用户登录用例表
项目/软件 | 基于web的在线考试系统 | 编制时间 | 20xx/xx/xx | |||
功能模块名 | 用户登陆模块 | 用例编号 | xxxx | |||
功能特性 | 用户身份验证 | |||||
测试目的 | 验证是否输入合法的信息,允许合法登陆,阻止非法登陆 | |||||
测试数据 | 用户名=1密码=a1身份= 非认证用户 | |||||
操作步骤 | 操作描述 | 数 据 | 期望结果 | 实际结果 | 状态 | |
1 | 输入用户名和密码 | 用户名= 1密码=1 | 显示进入后的页面。 | 同期望结果。 | 正常 | |
2 | 输入用户名和密码 | 用户名= 1密码=aaa | 显示警告信息“不存在该用户名或密码错误!” | 同期望结果。 | 正常 | |
3 | 输入用户名和密码 | 用户名= aaa密码=1 | 显示警告信息“不存在该用户名或密码错误” | 同期望结果。 | 正常 | |
4 | 输入用户名和密码 | 用户名=“” 密码=“” | 显示警告信息“用户名密码不能为空!” | 同期望结果。 | 正常 |
(2)用户注册测试用例
表 6-2 用户注册用例表
项目/软件 | 基于web的在线考试系统 | 编制时间 | 20xx/xx/xx | ||||
功能模块名 | 用户注册模块 | 用例编号 | xxxx | ||||
功能特性 | 用户注册 | ||||||
测试目的 | 验证私注册是否成功,注册数据是否合法 | ||||||
测试数据 | 用户名=aaa 密码=aaa电子邮件=dwa@qq.com | ||||||
操作步骤 | 操作描述 | 数 据 | 期望结果 | 实际结果 | 测试状态 | ||
1 | 输入注册数据 | 用户名= aaa密码=aaa 电子邮件=dwa@qq.com | 提示:注册成功!转入用户主页 | 同期望结果。 | 正常 | ||
2 | 输入注册数据 | 用户名= aaa密码=aaa 电子邮件=dwa@qq.com | 提示:用户名已注册 | 同期望结果。 | 正常 | ||
3 | 输入注册数据 | 用户名= aaa密码=”” 电子邮件=dwa@qq.com | 提示:密码不能为空 | 同期望结果。 | 正常 | ||
4 | 输入注册数据 | 密码=aaa 电子邮件=dwa@qq.com | 提示:用户名为空 | 同期望结果。 | 正常 |
总结:
基于web的在线考试系统作为一款基于SpringBoor开发的系统软件,采用了JAVA技术来进行开发设计,运用了B/S构建系统的框架,利用MySQL数据库来进行数据信息的储存。
基于web的在线考试系统实现了对用户的基本资料的动态管理,并可以对各种信息进行查看、修改、删除等操作。用户通过本系统实现了轻松便利的查看首页、个人中心、用户、教师、试卷管理、试题管理、试题库管理、系统管理、考试管理等,根据自身需求选择适合自己的考试推荐信息进行管理。
展望:
未来若是要投入市场运行,本基于web的在线考试系统还有很多技术不成熟的地方,目前限于知识面的限制,还有许多地方层面存在技术性的缺陷,以后在用户信息管理安全性上、用户交流隐私性方面还需要改进。再有就是系统的运行存在一定的问题,在画面和排版上还需要改进,尤其是界面的改进尤为重要,美观的界面可以给用户提供一种愉快的享受。另外在未来本系统还将顺应当今共享经济的特点,实现对资源共享的特点,根据个人特点有针对性的进行推荐和寻找,进一步展现人性化的设计。希望以后本基于web的在线考试系统会变得更加优秀,真正意义上更好地服务用户。
非常感谢一直以来给我提供帮助和指导的老师,谢谢老师的悉心指导,帮助我解决设计过程中的难题和疑惑,不辞辛苦的对我的论文进行反复的研读和指导改正,才有最后比较满意的毕业设计和论文。另外非常感谢给我提供帮助和指点的同学,多亏了他们的帮助,让我解决设计过程中遇到的重重困难,我才可以将毕业设计和论文顺利完成。感谢给我提供设计灵感的同学和朋友,他们的建议让我的思维更加的宽广,是他们给我提供无私的帮助,解决了设计过程中遇到的难题,谢谢你们。
与此同时,感谢在我做毕业设计和写论文过程中提供帮助的各位老师,你们的辛勤付出和指导都是我设计和论文中必不可少的因素,有了你们的帮助才有现在优秀的设计作品和论文,感谢。
参考文献
[1]王慧.“Java程序设计”混合式教学创新模式探究[J].数字通信世界,2023,(06):179-181.
[2]邱小群,邓丽艳,陈海潮.基于B/S的信息管理系统设计和实现[J].信息与电脑(理论版),2022,34(20):146-148.
[3]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[4]焦宇,李民,王欢,余开朝.基于MySQL性能调优的推荐系统优化设计[J].软件导刊,2022,21(09):108-112.
[5]赵将.Java语言在计算机软件开发中的应用[J].数字技术与应用,2023,41(03):160-162.
[6]张志云.探究计算机软件开发中Java编程语言的应用[J].信息记录材料,2023,24(04):110-112.
[7]韩延明.兴趣导向的第三方库案例教学探索与实践——以经管类专业Java程序设计课程为例[J].软件导刊,2023,(06):139-144.
[8]杜少波.基于OBE的Java程序设计教学模式实践[J].电子技术,2023,52(01):212-213.
[9]李华.Java软件开发问题分析[J].电子技术与软件工程,2023(02):43-46.
[10]文欣.以应用型人才培养为导向的“Java框架技术”课程改革的研究[J].南方农机,2022,53(24):188-191.
[11]索红升.基于Java的电子商务平台的设计与开发[J].软件,2022,43(11):138-140.
[12]郑歆.Java程序设计课程的教学实践[J].集成电路应用,2022,39(11):94-95.
[13]妥泽花.基于黑盒测试与白盒测试的比较探究[J].电子世界,2021(11):55-56.
[14]Sohail A, Dominic P. Business process improvement: A process warehouse basedresource management method[C].International Symposium on Technology Managementand Emerging Technologies.IEEE, 2020:291-296.
[15]Ilahi L, Martinho R. Towards a Business Process Management Governance ApproachUsing Process Model Templates and Flexibility[C]. IEEE World Congress on Services.IEEE, 2020:27-34.