ssm在线考试系统设计与实现

摘  要

随着科技的飞速发展,传统的纸笔考试正逐渐被在线考试系统所取代。在线考试系统以其便捷性、高效性和公正性,成为了现代教育评估的重要工具。该系统不仅为管理员提供了强大的用户管理、试题内容管理、系统管理等功能,还为用户提供了便捷的考试参与和信息查询服务。管理员可以通过系统轻松地创建和管理在线考试,编辑试题内容,管理用户信息,查看考试记录等。而用户则可以随时随地参加在线考试,查看考试记录和错题本,方便自我学习和提高。系统还具有高度的安全性和稳定性,确保了考试的公平性和准确性。在线考试系统的出现,不仅改变了传统的考试方式,也推动了教育的现代化进程,为教育行业带来了深远的影响。

本文首先实现了在线考试的发展,随后依照传统的软件开发流程,为系统挑选适用的言语和软件开发系统,依据需求分析开展控制模块制作和数据库查询构造设计,依据系统整体功能模块的设计,制作系统的功能模块图、流程表和E-R图。进行设计框架,依据设计的框架撰写编码,完成系统的每个功能模块。对基本系统开展了检测,包含软件性能测试、单元测试和性能指标。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点本文从系统的研究背景、研究现状、开发技术、系统分析、系统设计以及系统功能实现和系统测试等方面进行阐述。本系统主要是针对在线考试系统的设计,采用Java语言编写,数据库使用MySQL数据库。经过测试,本系统可以满足在线考试的基本要求。

关键字在线考试  java  MySQL数据库

Abstract

With the rapid development of science and technology, the traditional paper-and-pencil examination is gradually being replaced by the online examination system. Online examination system has become an important tool of modern educational evaluation because of its convenience, high efficiency and impartiality. The system not only provides administrators with powerful functions such as user management, test content management and system management, but also provides users with convenient examination participation and information inquiry services. Administrators can easily create and manage online exams through the system, edit test content, manage user information, view test records and so on. Users can take online exams anytime and anywhere, view test records and error books, and facilitate self-learning and improvement. The system also has a high degree of security and stability to ensure the fairness and accuracy of the exam. The emergence of online examination system has not only changed the traditional examination way, but also promoted the modernization of education, which has brought profound influence to the education industry.

This paper first realizes the development of online examination, then selects the appropriate language and software development system for the system according to the traditional software development process, carries out the production of control module and the construction design of database query according to the demand analysis, and makes the functional module diagram, process table and E-R diagram of the system according to the design of the overall functional module of the system. Carry out the design framework, write the code according to the design framework, and complete each function module of the system. The basic system is tested, including software performance test, unit test and performance index. The test results show that the system can realize the required functions and run well without obvious defects. This paper expounds the research background, research status, development technology, system analysis, system design, system function realization and system test of the system. This system is mainly designed for online examination system, using Java language, database using MySQL database. After testing, the system can meet the basic requirements of online examination.

Key words: online examination java MySQL database

目    录

1 绪  论

1.1研究的背景与意义

1.2国内外研究现状

1.3研究的主要内容

1.4论文结构

2 开发技术介绍

2.1 Java技术简介

2.2 MySQL 介绍

2.3 vue.js介绍

2.4 B/S结构

2.5 SSM框架

3 系统分析

3.1系统可行性分析

3.1.1技术可行性

3.1.2经济可行性

3.1.3操作可行性

3.2系统性能需求分析

3.3系统用例分析

3.4系统流程分析

4系统设计

4.1系统概述

4.2系统结构设计

4.3数据库设计

4.3.1概念模型设计

4.3.2物理模型设计

5系统详细设计

5.1系统登录注册实现

5.2管理员功能实现

5.3用户功能实现

6系统测试

6.1软件测试原则

6.2软件测试过程

6.3测试用例

结  论

参考文献

致  谢

1 绪  论

1.1研究的背景与意义

在信息技术日益发展的当下,教育领域正经历一场由传统向现代化转变的深刻革命。传统的考试方式,如纸笔考试,因其耗时、费力且效率低下的特点逐渐不能满足快速发展的教育需求。全球化和网络化的趋势要求教育评价体系具备更高的灵活性和可访问性,以适应不同地区、不同时间的学习者需求。在线考试系统应运而生,它利用计算机和互联网技术,为学生和教育管理者提供了一个无地域限制、时间灵活、高效便捷的考试平台。这种系统的出现不仅改变了学习和评估的方式,还促进了教育资源的优化配置和教学方法的创新。随着应用的广泛化,如何保证在线考试的安全性、公平性和准确性,如何提高系统的互动性和用户体验等问题也日益凸显,成为研究和改进的重点。

在线考试系统的研究与开发对于推动教育现代化具有重大意义。它提高了教育评估的效率和质量,使考试过程自动化、标准化,减少了人为误差,确保了评分的客观性和公正性。该系统为学习者提供了极大的便利性,考生不再受时间和地点的限制,可以根据自己的实际情况安排考试,这在很大程度上减轻了学生的应试压力并提升了学习动力。因此,深入研究在线考试系统不仅能够促进教育技术的革新,还能提升整个教育体系的质量和效率。

1.2国内外研究现状

在中国,随着教育信息化的不断推进和网络基础设施的日益完善,在线考试系统得到了广泛的关注和应用。国内高校和研究机构积极探索在线考试模式,开发了多种适用于不同学科和层次的在线考试平台。这些系统通常具备题库管理、自动组卷、在线监考、自动阅卷和成绩分析等功能。国内的研究尚存在一些不足,例如对于在线考试安全性的担忧、技术更新迭代较慢以及缺乏个性化学习支持等问题。由于地区发展不平衡,一些偏远地区的学校在硬件设施、师资力量和技术支持方面与发达地区存在较大差距,这限制了在线考试系统在全国范围内的普及程度。

国外关于在线考试系统的研究起步较早,众多国家已经将其广泛应用于各级各类教育评估中。特别是在美国、英国等发达国家,线上考试系统不仅被用于常规的学术考核,还被广泛用于职业资格认证、招聘选拔等领域。国外的在线考试系统在技术上更加成熟,如采用更先进的数据加密技术保障考试安全,利用人工智能进行智能监控和自动评分以减少人为干预。这些系统还注重用户体验设计,提供丰富的交互性和可访问性功能,以满足不同考生的需求。尽管如此,国外研究也面临着隐私保护、跨文化适应性、不断变化的技术标准等挑战。国外学者和开发者正致力于通过技术创新和政策调整来解决这些问题,以实现在线考试系统的持续优化和发展。

1.3研究的主要内容

本系统在开发过程中选用Java作为后端开发语言,并采用了ssm框架。ssm框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。前端开发部分,我们使用了流行的前端框架Vue.js,这使得界面设计和用户交互变得更加直观和便捷。系统主要分为管理员和用户两个角色,主要功能包括用户管理、在线考试管理、试题内容管理、试题内容库管理、系统管理、考试管理、我的信息等进行解析。

1.4论文结构

1.绪论:剖析项目可行性,表明研究方向。

2.开发技术:系统关键运用了Java语言、b/s方式和myspl数据库查询,并进行了详细介绍。

3.系统分析:包含系统的总体构造,剖析系统的特性、作用和流程图。

4.系统设计:软件程序功能模块和数据库查询的总体设计。

5.系统总体设计:叙述系统的作用,

6.测试系统。

7.在文章的最终,我个人总结了自身在系统开发和论文撰写全过程中的汇总、感想,包括致谢。

2 开发技术介绍

2.1 Java技术简介

Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性。它广泛应用于企业级Web应用开发和移动应用开发。Java技术生态健全,拥有丰富的开源框架和工具,如Spring、Hibernate、MyBatis等。Java的设计目标是让开发者“一次编写,到处运行”,即代码在任何支持Java的平台上都能运行,这得益于Java虚拟机(JVM)的存在。JVM将Java字节码转换为特定平台的机器码,使得Java程序具有良好的可移植性。

Java是一种面向对象的编程语言,这意味着它使用对象和类来设计软件。面向对象编程的主要优点是它可以提高软件的重用性、灵活性和扩展性。Java还支持并发编程,允许多个线程同时执行,从而提高了程序的性能。同时具有严格的内存管理机制,可以有效地防止内存泄漏和其他内存问题。还提供了异常处理机制,可以帮助开发者更好地处理运行时错误。

2.2 MySQL 介绍

MySQL是一种开放源代码的关系型数据库管理系统。MySQL的特点是快速、多线程、多用户。它可以对数据进行许多精确且详细的增加、删除、修改、查询等操作。MySQL提供了创建和访问数据库体制机制,如果你想要创建、修改、增加、删除数据库的表和项均可以通过简单、直接的方式完成,且能够得到表和项之间的数据关系。MySQL经历了三十多年的发展,已经非常成熟,中小型企业级应用MySQL数据库已经十分广泛。

数据库包含了数据和数据库对象,而数据库对象主要是指关系表(Table)、视图(View)、存储过程(Stored Procedure)和触发器(Trigger)等。SQL(Structured Query Language)是实现数据库操作和管理数据的主要方式,select、delete、insert、update语句等都是一些基本的操作。

2.3 vue.js介绍

Vue.js是一款轻量级的JavaScript框架,由前Google工程师尤雨溪在2014年发布。它在前端开发领域以其简洁的设计、高效的性能和易于上手的特性迅速获得了开发者的青睐。Vue的核心是一个响应式的数据绑定系统和一个组件系统。响应式数据绑定允许创建交互式的用户界面,数据模型仅是普通的JavaScript对象,当你修改它们时,视图会进行更新,使得状态管理变得直观而富有弹性。组件系统则使得开发者能够构建可复用的组件来构建应用程序,每个组件都有自己的视图逻辑和样式,这有助于提高代码的模块化和可维护性。Vue的API设计尽量保持简单直观,使得新手可以快速上手并投入生产,同时也为经验丰富的开发者提供了丰富的高级特性和灵活性。它不仅适用于构建小型项目,也能够应对复杂的大型应用程序。随着生态系统的不断壮大,Vue现在拥有大量的第三方库和工具,如Vuex(状态管理模式)、Vue Router(官方路由管理器)等,这些都极大地丰富了Vue的应用场景并提高了开发效率。总的来说,Vue.js是一个兼顾开发效率和运行性能的现代前端框架,它的设计理念和丰富的功能使其成为当今最受欢迎的JavaScript框架之一。

2.4 B/S结构

B/S(Browser/Server,浏览器/服务器)架构是目前软件开发中最常用的软件结构。在很大程度上减轻了客户机的负担,只要安装、配置少量的客户端运行软件在客户机上就可以了,大量的工作将有服务器承担。

B/S系统的最强大的优点是他可以很好地让客户机的工作量被大量的简化掉,而对于客户机来说就可以只配置很少的在客户端上来运行的软件就可以实现了,也就是这其中的最大部分的工作就会安置在服务器上,由服务器来执行,这样说来服务器的主要的任务就是实现数据库的访问以及应用程序的执行操作。

2.5 SSM框架

SSM框架是一个整合框架,有多个旧框架整合而成一个新的、功能性能方面良好的新的框架。SSM框架由三种主要的框架组成,分别是Spring、SpringMVC以及Mybatis框架。

Spring主要包括控制反转IOC与面向切面AOP两部分,Spring框架的特点是轻量级、非倾入、可以整合其他框架以及提供事物管理等。

SpringMVC是基于MVC的一个web框架。视图(View)代表前后台交互页面,对于网页系统来说,视图指HTML、JSP及其他。一个系统有很多不同的视图,MVC设计模式主要是处理视图上的数据以及渲染处理方法,同时还包括用户请求。Model接受视图层view所发出的请求,再根据请求的数据返回相应的数据。控制层(controller)是指用户接受前台发出的请求,并找到指定的接口进行调用,将模型model与视图view集合在一起,来完成用户的请求。SpringMVC的工作原理:

(1)SpingMVC将所有的请求都提交给前端控制器dispatcherServlet,前端控制器dispatcherServlet会委托其他模块对请求进行真正的处理

(2)处理器映射器会找出合适的Controller提供给前端控制器

(3)前端控制器将请求转发给Controller

(4)Controller返回ModelAndView给前端控制器

(5)前端控制器查询一个或多个视图解析器对ModelAndView进行解析处理

(6)试图对象负责将解析出来的结果传给客户端

(7)前端控制器进行试图渲染

3 系统分析

3.1系统可行性分析

在开发系统以前,必须对系统开展可行性研究,目地是用有效的方法处理最大的问题。程序流程一旦开发出去满足客户的要求,便会产生许多益处。下面咱们就从技术性、操作性、经济性等领域来挑选这一系统是不是会最后开发。

3.1.1技术可行性

此次系统开发挑选Java语言,这也是一种面向对象编程的语言,Java为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度,作为Java开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以后台设计选择使用MySQL数据库查询主要运用于创建和维护信息。从未来发展趋势看来,应当具备功能完善,使用方便的优势,后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。

依据上述目标来分析本系统的硬件如下:

Intel(R) Core(TM) i7-7700HQ CPU ;

存储器是 16G;

硬盘是1000G;

操作系统是Window 10;

软件层面,安装了Visul Studio和MySQL数据库开发专用工具。依据以上硬件配置和系统规定,得到本系统的技术水平是有效的。

3.1.2经济可行性

本系统的软件开发只要一台一般的计算机就可以进行开发,其成本费很低。此外作为毕业设计论文,开发花费基本上可以忽略,系统软件的交付使用,可以实现更加快速高效的在线考试系统,同时还能实现对人力资源和管理资源的有效节约,该在线考试系统设计与实现在经济上完全可行。

3.1.3操作可行性

伴随着科学技术的迅猛发展,计算机早就进到大家的日常生活,大家的办公环境都不像过去那么极端了。规定工作人员在指定地点工作中,有一些工作中可以在家里进行。这促使大家工作效能更高一些。操作的多样化也变的更高一些。因而,管理方法的便利化和数字化是现代社会的大势所趋。各种各样智能系统五花八门,不一样的系统可以满足消费者不一样的要求,既增强了工作效能,又达到了一些特殊的要求。该系统页面简洁明了。客户可以应用鼠标和键盘来改动、删掉、加上等有关信息。由于这一系统的使用比较简单实用,第一次应用系统只要一点时间。因而,该系统在使用上是有效的。

3.2系统性能需求分析

对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析;

系统反应度:同时上万人在线时反应时间应该在两三秒以内,。

简单明了的页面:系统界面规定简单明了,使用方便,有利于客户实际操作。

储存特性高:在线考试系统的设计方案和完成必须储存很多的信息,因此系统的存储量十分高,因此数据库查询要十分强力,确保信息的可靠平稳储存;

易懂:系统在使用上一定要实用。不用许多繁杂的实际操作,只要简洁的学习培训就可以实际操作。

可靠性:在线考试系统的设计方案、完成和运行平稳,页面清楚,字体样式清楚。

3.3系统用例分析

考虑到实际生活中在线考试系统方面的需要以及对该系统认真的分析,将系统权限按管理员和用户来进行划分。管理员登入使用本系统涉到的功能主要有用户管理、在线考试管理、试题内容管理、试题内容库管理、系统管理、考试管理、我的信息等功能;用户则可以对考试管理和我的信息进行操作。系统用例如图3-1所示。

图3-1系统用例图

3.4系统流程分析

系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。

同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-2所示。

图3-2系统操作流程图

登录流程如图3-3所示:

图3-3登录流程

4系统设计

4.1系统概述

在线考试系统的设计与开发是指对该系统的各个功能模块进行详细设计,力求每个模块都能够满足用户的要求,系统开发完成后还需对系统进行单元测试和系统测试,发现系统中存在的问题并解决,确保系统正常稳定的运行。在线考试系统工作原理图如图4-1所示:

4-1 系统工作原理图

4.2系统结构设计

系统结构设计必须要满足用户的业务需求,系统结构设计完成后要形成系统结构设计文档,开发人员就可根据模块接口说明进行接口开发,接口开发完需进行功能测试,目的是发现并解决系统漏洞,同时还得保证系统的可扩展性和稳定性,满足用户对系统的要求。系统设计需满足以下要求:

  1. 安全性
  2. 易用性
  3. 柔软性
  4. 柔软性
  5. 扩展性

在线考试系统的整体结构设计主要分为两大部分:管理员和用户。整体结构设计如图4-2所示。

图 4-2系统总体功能模块图

4.3数据库设计

4.3.1概念模型设计

在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称,本系统主要E-R实体属性如下图所示。

图4-3系统主要E-R实体属性

4.3.2物理模型设计

根据上诉的逻辑模型设计,下面给出物理模型的设计,如下所示:

表4-1:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

nianling

int

年龄

lianxifangshi

varchar

200

联系方式

status

int

状态

0

passwordwrongnum

int

密码错误次数

0

表4-2:管理员表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-3: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-4:系统公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

content

longtext

4294967295

内容

表4-5:考试记录表

字段名称

类型

长度

字段说明

主键

默认值

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-6:试题内容

字段名称

类型

长度

字段说明

主键

默认值

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-7:试题内容库

字段名称

类型

长度

字段说明

主键

默认值

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-8:在线考试表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

name

varchar

200

在线考试名称

time

int

考试时长(分钟)

status

int

在线考试状态

0

表4-9:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

5系统详细设计

5.1系统登录注册实现

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

5-1系统登录界面

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

5-2系统注册界面

5.2管理员功能实现

管理员进入主页面,主要功能包括对用户管理、在线考试管理、试题内容管理、试题内容库管理、系统管理、考试管理、我的信息等进行操作。管理员主面如图5-3所示:

图5-3管理员主界面

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

图5-4用户管理界面

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

图5-5在线考试管理界面

管理员点击试题内容管理试题内容页面输入在线考试和试题内容进行搜索、新增、删除、导出或打印试题内容列表,并根据需要对试题内容详情信息进行修改或删除操作;如图5-6所示:

图5-6试题内容管理界面

管理员点击试题内容库管理试题内容库页面输入试题内容名称进行搜索、新增、删除、导出或打印试题内容库列表,并根据需要对试题内容库详情信息进行修改或删除操作;如图5-7所示:

图5-7试题内容库管理界面

管理员点击系统管理系统公告页面可以查看到序号和内容等信息,并根据需要对内容详情信息进行详情或修改操作;如图5-8所示:

图5-8系统管理界面

管理员点击考试管理在线考试列表页面输入在线考试名称进行搜索在线考试列表,并根据需要进行考试操作,如图5-9所示;还可以对错题本和考试记录进行详细操作。

图5-9考试管理界面

5.3用户功能实现

用户进入主页面,主要功能包括对考试管理和我的信息等进行操作。用户面如图5-10所示:

图5-10用户主界面

用户点击考试管理考试记录页面输入在线考试名称进行搜索、导出或打印考试记录列表,并根据需要进行详情或删除操作,如图5-11所示;还可以对在线考试列表和错题本进行详细操作。

图5-11考试管理界面

6系统测试

系统的测试是必须的,需要知道的是这个阶段不是单独的,而是在全部的时间进行。这么做可以及时发现问题,还能找到产生矛盾的地方,并且可以尝试修改,这样就能完善系统。对于被测试的系统,都可以找到一些问题,而且还可以找到对应的位置在哪。其目的是对于整体的测试,发现需求中存在的矛盾,就可以做出修改了。测试的过程是对应于整体,有对软件的测试,发现需求的符合度,接下来,就是对数据的检测,以及对硬件的检测。

在软件测试规划中,必须了解测试流程,包括功能概述,测试周期,测试方法,测试范围,测试配置,测试技巧,测试交流,风险分析等。对于一些开发的人员,是可以知道测试方法,找到测试过程的一些的问题,然后可以应对这些问题。

6.1软件测试原则

系统的项目开始启动,系统测试也就是正式开始。软件的是有很多特殊性质,其一些测试也是整体的时间,不是一个单独的过程,因为有可能在所以时间段里,可以有不同的问题。从需求分析、系统设计的过程中,就可以进行系统的测试,制定相应的测试内容和设计文档,并且在整个开发过程中,都要进行系统的审核和确认,只有这样,才能更快的发现错误,从而提升系统的质量。为了更早地进行检测,让测试人员可以早知道测试难度,还有进行工作的准备,提前了解关于问题的风险,便于能够提高测试的效率,而且还能保证开发质量,还能够避免风险存在于测试里的,可以有更加完善的方案。

在测试过程中有一些问题,还有一些不足能被发现,这样测试可以使软件中有比较少的问题。有些人觉得只要能够通过软件测试的系统,就不会再存在任何问题,便可以比较放心的使用。这种把软件测试夸大的思想是违反原则的。总的来说即使软件测试能够发现任何问题,也不足以证明软件当中就没有任何的问题,系统就是完全正确的。软件测试必须很快地到软件开发过程中,这样就可以很快的地发现软件缺陷,并且越快发现软件问题,软件的修复成本就会越小。可以让测试人员加入需求的开发过程,以确保需求的可以测试的性质、正确性等,便可以更加有效地节省开发带来的成本。在有关于测试的环节当中也会尽早的找到问题,要是开发人员在某个模块发现了问题,那么在这模块中或许会存在不止一个问题。现在软件都比较复杂,而且测试也有难度,几乎不能有测试可以是完全。

测试是在一定的顺序,每个不同的阶段能够由出现的问题,可以了解到它的风险,这样也可以加强测试,从而可以保证软件使用时的质量。测试是需要比较早开始的,一方面就是保证软件的质量,有效的降低风险以及成本。测试的人员一般在分析需求时候就已经开始测试准备了,使得系统的不足在需求或者设计阶段就可以被发现出,就这点来说发现越早,能够修复的成本就越小。测试的设计可以确定测试的有效性以及效率问题,测试的工具只是提升了测试的效率,而非测试本身。在设计一个测试案例时,是还能改善可靠性,可以用更有效的方法。

6.2软件测试过

软件测试是确保软件产品满足用户需求和预期的关键步骤。在开发过程中,每当用户提出新功能需求时,测试人员需与开发人员合作,以获得对新功能的清晰理解。集成测试完成后,各模块被连接形成完整程序,此时许多模块间接口的缺陷被消除,可进入确认测试阶段。确认测试根据需求规格评估软件,确定其是否满足这些需求,以决定软件是否合格。测试规范完成后,测试用例编写开始,主要针对功能模块,考虑界面操作等,并根据不同情况设计。测试过程中的问题需要记录,以便追踪。

(1)单元测试是软件开发中的关键环节,由开发人员执行,旨在验证代码的正确性和功能性。开发人员熟悉自己的代码,因此能更有效地发现和解决问题。工具可以帮助发现明显错误,但无法理解代码功能,因此可能漏掉一些不明显的错误。

(2)系统测试将软件系统作为一个整体(包括硬件和网络)进行测试,目的是验证系统是否符合要求,并解决任何不一致或矛盾。这需要与需求规格进行比较,并在实际环境中运行测试用例。

(3)集成测试在单元测试之后进行,目的是验证模块间的互操作性。由于大型系统通常由多个开发者共同完成,因此集成测试可能会揭示一些问题。集成测试可以采用自上而下或自下而上的方法,逐步添加模块并进行测试,直到所有模块集成并成功测试。尽管集成过程相对简单,但由于模块间接口问题,一次成功的可能性不大。如果一次集成的模块过多,可能会在系统测试中留下许多错误。

总结来说,软件测试是一个多阶段的过程,包括与开发人员合作理解新功能、集成测试、确认测试和系统测试。每个阶段都有其目的和方法,旨在确保软件满足用户需求和预期。测试人员需要编写测试用例,记录问题,并与开发人员合作解决。尽管有挑战,但通过适当的工具和方法,可以有效地发现和解决问题,确保软件质量。

6.3测试用例

部分系统测试用例如表6-1所示。

表 6-1 测试用例表

测试功能、流程

预期结果

实际结果

结论

测试管理登录。管理员在登陆页面输入对应信息可以进入主页面

登陆成功,

之后跳转页面

登陆成功,

成功跳转页面

测试成功

结  论

通过完成该在线考试系统和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法这样可以进一步保证项目开发的健壮性和准确性。

本系统所实现的是一个在线考试系统设计与实现,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该程序可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。

本系统具有以下优点:

该系统具有较高的适用性,选用B/S结构,这一系统可以在大部分服务系统上应用。

系统页面简单明了,绝大多数人都能正常的应用。

但也存在以下问题需要改进:

运行时窗口不能被刷新,可以改进。

系统过于简单,显示的信息有限。

不能添加多个管理员账号,如果可以则将利于发展在线考试系统规模,便于在线考试的集中管理。

由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都会让自己事半功倍。通过本系统的完整的开发可以遇到自己平时写一些简单的小程序遇不到的问题不仅仅局限与技术与业务方面的同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言这些心得都十分重要。在以后的研究生学习生涯也必须加深这方面的理解将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。

参考文献

[1]邓阳名,顾潇,梁爱媚.基于Java语言的数据库访问技术应用研究[J].中国新通信,2023,25(08):83-85.

[2]赵将.Java语言在计算机软件开发中的应用[J].数字技术与应用,2023,41(03):160-162.

[3]冀钢.《Java框架技术开发》课程的思政教学设计[J].电脑与信息技术,2023,(03):101-103+106.

[4]张志云.探究计算机软件开发中Java编程语言的应用[J].信息记录材料,2023,24(04):110-112.

[5]周林,季松华,符欲梅.Java程序设计课程思政探究与实践[J].黑龙江科学,2022,13(19):149-151.

[6]李乐.Java语言应用研究[J].智慧中国,2022(09):80-81.

[7]李艳杰.基于MySQL数据库的数据安全应用设计[J].现代信息科技,2023,7(12):151-154.

[8]李洋,刘婷.MySQL数据库安全加固技术的研究[J].科技与创新,2023(13):120-122.

[9]周秦源.浅谈我国IT行业中的软件测试[J]. 中国科技信息,2019(14).

[10] Sun Weiqin. Struts: SSM based Java Web Design and development. BEIJING: Publishing House of Electronics Industry, 2019:19-421

[11]Chen Gang. Eclipse from introduction to mastery [ m ] . (2nd edition) . BEIJING: Tsinghua University Press, 2018:17-380

[12] SILBERSCHATZ.A. Computer Science series: concepts of database systems (6th edition)[ m ] . China Machine Press, 2019,03.

致  谢

岁月不声不响,却让人慌慌张张,曾经以为大学四年是很遥远的事情,转眼间已是四个冬,四个春,行文至此,大学四年即将告一段落。

这条人生之路较长,发展前途如浩瀚星辰般璀璨。我们不需要为以前的得失而迟疑。这些所说的大学四年的缺憾,或许是一种发展,些许会有伤害,终究会化为前路。在我第一次到校时,我惊喜万分,我交了很多好朋友。入校就是我最大的好运,求学之路漫漫。我定将上下求索,我始终忘不了我心地善良活泼可爱的同学们,忘不了我寝室善良的阿姨,忘不了我饭堂的大叔。至始至终。首先我要感激我最尊敬的论文指导老师,在我论文选题一直到论文的结束,所有的每一步都有老师殷切的指导,每个细小的点都花费了老师很多的时间帮我斟酌修改,在整个过程中,我深刻的感受到老师严谨的科研态度和对学生负责任的工作态度,这使我感触颇深,同时不省心的我真的让老师花费了很多的时间,在这里,我真的很感恩,很感激老师。一朝沐杏雨,一生念师恩,饮其流时思其源,成吾学时念吾师,仅以拳拳之心以表谢意,祝愿老师在今后的日子里万事顺意,身体健康。

第二,我要感谢我的父母,谢谢他们这么多年以来的养育之恩,求学至今,所吃所用无一不来自他们,由衷谢谢他们,一路为我遮风挡雨,他们用爱和关心浇灌我成长,做我坚实的靠山,岁月荏苒,您对我的辛勤付出,我必将铭记于心时刻不忘,心怀感恩,成为你们骄傲的小棉袄。

第三,我要感谢在大学期间所有的同学,朋友们。我们即将奔赴不同的山川人海,海压竹枝低复举,风吹山角晦还明,我希望你们可以坚信人生没有无用的经历,一直走,天一定会亮,这就是我们这一代人应该努力的意义,愿我们终将抵达人生的高处,即时那是我们相距千里,我也会衷心的祝福你们,我最亲爱的同学,朋友们。

最后,我想要再次感谢我的大学,谢谢您承载我的大学时光,谢谢您带给我这么多学习的经历,我真的要谢谢您和这学校里所有的一切一切,不管是好与坏,无论是胜利的喜悦还是失败的挫败,我都欣然接受,因为这都会是我生命中难忘的印记。

文末搁笔,思绪繁杂,曾读到过一句话:所有的经历都是学习,四载寒暑,无论是喜所有经历于我都是人生的礼物,所有的相遇,于我都是宝藏。四年里的所有羁绊,或许做不到一生铭记,但绝对一生感恩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值