基于Spring Boot的社区垃圾分类管理平台的设计与实现

摘 要

近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,社区垃圾分类管理平台利用计算机网络实现信息化管理,使整个社区垃圾分类管理的发展和服务水平有显著提升。
本文拟采用Eclipse开发工具,JAVA语言,Spring Boot框架进行开发,后台使用MySQL数据库进行信息管理,设计开发的社区垃圾分类管理平台。通过调研和分析,系统拥有管理员和用户两个角色,主要具备注册登录、个人信息修改、用户、垃圾分类、垃圾信息、交流论坛等功能模块。将纸质管理有效实现为在线管理,极大提高工作效率。
关键词:社区垃圾分类管理平台;JAVA语言;MySQL数据库;

Abstract
In recent years, with the rapid development of science and technology, the popularity of the Internet has gradually extended to all walks of life, bringing great convenience to people’s lives. The community garbage classification management platform uses computer networks to achieve information management, which has significantly improved the development and service level of the entire community garbage classification management.
This article plans to use Eclipse development tools, JAVA language, and the Spring Boot framework for development, and use MySQL database for information management in the background to design and develop a community garbage classification management platform. Through research and analysis, the system has two roles: administrator and user, and mainly includes functional modules such as registration and login, personal information modification, user, garbage classification, garbage information, and communication forums. Effectively implement paper management into online management, greatly improving work efficiency.
Key words: community waste classification management platform; JAVA language; MySQL database;

目 录

目 录 I
第一章 概述 1
1.1研究背景 1
1.2研究目的及意义 2
1.3国内外发展现状 2
1.4 研究内容 3
1.5本文的结构 4
第二章 关键的技术介绍 4
2.1 Spring Boot框架介绍 5
2.2 JAVA简介 5
2.3 MySQL简介 6
2.4 B/S架构 7
第三章 系统分析 9
3.1系统需求分析 10
3.2系统可行性分析 11
3.2.1技术可行性 12
3.2.2 经济可行性 13
3.2.3社会可行性 14
3.3功能需求分析 15
3.4流程图设计 15
3.4.1 登录流程图 16
3.4.2 添加新用户流程图 17
第四章 系统概要设计 18
4.1系统设计原理 19
4.2功能模块设计 20
4.3 数据库设计 21
4.3.1数据库设计原则 22
4.3.2数据库E-R图设计 23
4.3.3数据库表结构设计 24
第五章 系统功能实现 25
5.1前台用户功能的实现 26
5.2后台管理员功能的实现 27
第六章 系统测试 30
6.1系统测试的目的 31
6.2软件测试过程 32
6.3系统测试用例 33
结 论 34
致 谢 35
参考文献 36

第一章 概述

1.1 研究背景
近些年,随着中国经济发展,人民的生活质量逐渐提高,对网络的依赖性越来越高,通过网络处理的事务越来越多。随着社区垃圾分类管理的常态化,如果依然采用传统的管理方式,将会为工作人员带来庞大的工作量,这将是一个巨大考验,需要投入大量人力开展对垃圾信息、交流论坛、垃圾资讯等相关工作进行管理,单一且反复的操作容易出错且不易被察觉,于是利用现代信息技术,设计开发一款社区垃圾分类管理平台,能够极大的节省人力物力、提高工作效率、降低工作成本[1]。
1.2研究目的及意义
本论文拟采用计算机技术设计并开发的社区垃圾分类管理平台,主要是为用户提供服务。使得用户可以在系统上查询垃圾信息、交流论坛、垃圾资讯,管理员对信息进行统一管理,与此同时可以筛选出符合的信息,给笔者提供更符合实际的合理化建议,本课题的意义在于,管理者能通过使用社区垃圾分类管理平台,提高工作效率和服务质量,进而提高用户的体验感[2]。
1.3国内外发展现状
相比于国内,国外的线上管理系统建设比较早,在上世纪就已经很先进,但受七十年代的经济危机影响,导致部分国家发展缓慢,但也有些发达国家走群众路线,全面发展网络技术[3]。
在国内,线下管理系统已经特别完善,它基于计算机技术,让系统具有信息化、科学化、自动化等特性。在计算机的辅助下,国内该类系统可使管理者提高信息的复用率,对数据的处理、备份等方面也有了显著的效率提升,这种有效的工作可使管理者能更快的做好决定,也实现了“无纸化”的信息管理方式。由于其功能特别完善,也导致系统比较庞大,所以在了解该类系统的功能、操作后,决定开发一款社区垃圾分类管理平台,它的功能小,但是操作简单、快速、准确的特点,也体现了设计它的意义[4]。
1.4 研究内容
调研:通过网络、图书馆等渠道调查该课题的参考资料。
系统需求分析:对参考资料分类整理,设想需求与功能,再研究实现功能所需的开发工具、技术、数据库等。
系统概要设计:设计功能模块、流程、数据库模型、表与字段间的关系等。
系统实现:对系统用户以文字加截图的形式进行精细化分解。
系统测试:测试的作用和好处,测试的具体操作步骤,分析需求与测试结果是否一致[5]。
1.5本文的结构
本论文分为六个章节。
第一章,绪论,其包含课题背景及意义,现国内外的发展现状,本课题要研究的内容,所使用开发工具的描述等信息。
第二章,主要介绍了系统的开发技术。
第三章,先讲述功能需求分析,再讲述系统可行性分析和流程图的设计。
第四章,是系统设计原理,功能模块设计和数据库设计。
第五章,详细讲述每个界面的正确操作步骤。
第六章,该章讲述了测试的目的以及测试过程及用例。
最后对论文进行总结,包括致谢和参考文献等内容[6]。

第二章关键的技术介绍

此次管理系统的关键技术和架构由B/S结构、JAVA语言介绍和MySQL数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划[7]。
2.1 Spring Boot框架介绍
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。
2.2 JAVA简介
JAVA主要使用了CORBA技术和安全模型,主要是在网络使用的信息保障上。它还带来了对EJB(Enterprise JAVA Beans)的完全支援,JAVA SERVLET API,Java(JAVA Server Pages),还有XML技术等多进步。因此,当在打开蜘蛛纸牌休闲一下玩游戏时,还可以打开一个音乐播放器来播放自己想要听的歌,于是,既可以一遍玩蜘蛛纸牌放松,也可以挑选播放自己想要听的歌,两者来回切换,两者同时进行无需等待。因为似乎他们都在自己的主机上一起为自己工作。但事实是,对于某个CPU来说,它只是在特定时点进行了某个程序。CPU在这些程序中间,不断地“跳跃”。而为何人们却看不到什么破坏呢?这是因为,和人的感应一样,它的速度太快了。所以,即使人们发现一些同步操作,其实对电脑而言,也只是在特定时点运行了某个进程,除非的电脑是多CPU的。

2.3 MySQL简介
MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。

2.4 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。

第三章 系统分析

3.1系统需求分析
需求分析的首要任务是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在[8]。
其中获得用户需求以后,就要可以将用户需求设计为系统的功能模块。在能及时的分析和发现有关需求的情况下,需要系统同时的跟进需求设计。在社区垃圾分类管理过程中还需要创建需求工作的数据分析,以便于后面的分析做总结[9]。写入一个需求的报告内容,其中需要包含完整的描述需求、以及功能需求、模型等后续开发过程中还需要用到的部分资料。
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,社区垃圾分类管理功能是许多个可以测试的功能相结合的,正是由于这些功能可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求[10]。
3.2系统可行性分析
3.2.1技术可行性
该系统使用JAVA语言开发,MySQL数据库开发并实现。对于以上描述的技术,在当代都是较为成熟的技术和平台,虽然它们都有自已的体系,但在程序员的眼里,它们的配合度是很高的,数据库负责管理数据,开发工具负责管理项目,技术负责代码的框架,既相互独立,又相互依赖[11]。以上描述的工具、技术都已转化为自身的技能,所以从技术角色考虑是可行的,工作人员对于技术的关注度并不高,只要程序可用即可。
3.2.2 经济可行性
经济可行性,可分为两种,支出和收入,该系统属于研究型毕业设计,所以收入部分暂不考虑。支出可分为,设备、场地、开发环境、人力、时间等一切需考虑的因素,所有信息都是影响形成系统的一部分。设备:只需一台笔记本电脑,配套的输入设备;场地:暂定为图书馆与校内的自习室;开发环境:良好;人力:自身、指导老师、同学;时间:从选题到毕业为止,大约8个月。从以上描述可知,大部分条件已经满足,所以该系统不会存在经济方面的问题,所以是可行的。
3.2.3社会可行性
社会可行性,广义而讲可涉及到道德方面、法律方面、社会方面,每个方面都会影响系统的形成。本系统的是独立且没有任何传播性质的信息,更涉及不到道德层面,法律层面;本系统也没有触发法律,没有赌博、黄色等类型信息,同时也是遵从国家法律,不会显示任何触发法律层面的信息;社会方面,该系统是为方便用户提供更好的服务,是轻量级的社区垃圾分类管理平台,会为人们带来快速并有效查询的功能,也是具有贡献意义的。总体而言,该系统也是具有社会可行性的[12]。
3.3 功能需求分析
社区垃圾分类管理平台是以平台的状况为起点,综合网络空间开发设计要求。目的是将垃圾信息、交流论坛、垃圾资讯通过网络平台变换为在网上操作,完成社区垃圾分类管理的方便快捷、安全性、规范做了保障,目标明确。
这一系统可以分成二种类别的用例实体模型,分别是用户和管理员。这二个角色的作用将在下面详解和叙述。
(1)用户
主要使用者为用户。具备有:首页、垃圾信息、交流论坛、垃圾资讯、在线反馈、个人中心等功能。用户用例图如图3-1所示。
在这里插入图片描述

图3-1 用户用例图

(2)管理员
进行维护,以及平台的后台管理工作都依靠管理员,其可以对信息进行管理。需具备功能有系统首页、个人中心、用户管理、垃圾分类管理、垃圾信息管理、交流论坛、系统管理。管理员用例图如图3-2所示。

在这里插入图片描述

图3-2 管理员用例图

3.4流程图设计
流程图是用具体的图形符号和相应的线条来表示系统执行的整个过程。因为这种图可以很容易地描述系统的一系列过程,所以它的所有图形符号都是比较关键的,基本上一个图形符号可以表示一个过程的一个步骤。流程图不仅提供了一个比较完整、全面的实施过程,而且可以发现整个团队协同设计过程中可能存在的缺陷和不足,便于在后续过程中及时对系统进行修正和改进。
通过流程图可以对系统的需求和相关流程进行分析,可以详细细分为各个部分的设计。对于设计人员来说在开发过程中要能够以流程图为基础,能够快速的提高自己的逻辑思维,并且也能够指导后续的操作在系统设计中最重要的部分就是程序的设计,然后具体的编写程序,流程图是设计过程中的重要工具,下面是流程图的部分设计。
3.4.1 登录流程图
登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-3所示。

在这里插入图片描述

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

在这里插入图片描述

图3-4添加新用户流程图

1.1.1.1.1.1.1.1.1.

第四章 系统概要设计

4.1系统设计原理
设计原理,是指一个系统的设计由来,其将需求合理拆解成功能,抽象的描述系统的模块,以模块下的功能。功能模块化后,变成可组合、可拆解的单元,在设计时,会将所有信息分解存储在各个表中,界面不会显示所有定义的字段。在设计时,会有几大要求,抽象、模块化、信息隐藏、耦合低、内聚等特性,本系统的设计也符合以上几大特性。制作和显示流程都属于程序员需要分析研究的一部分。每个模块都是相对独立的,系统前台不显示账号操作权限范围外的信息。
4.2功能模块设计
该章节的功能模块设计,只是大概描述了系统的所有功能模块,将功能按权限来讲解。系统总体结构图如图4-1所示。
在这里插入图片描述

图4-1 系统总体结构图
4.3 数据库设计
4.3.1数据库设计原则
学习程序设计,如果想要了解数据库管理系统或者是按照系统接口的要求制作的,就必须创建一个数据库管理系统模型,用来存储数据,这样在进行应用程序编程的过程中,就不需要加载操作系统页面的信息,从而提高整个系统的工作效率。在数据库管理系统中承载着众多的数据,应该说,一个管理信息系统的建设中心和基地,也为建设管理信息系统和信息管理系统提出了新的查询、删除、修改和操作功能,使管理信息系统建设可以快速查询需要的数据,而不是直接从代码中查找。信息库管理系统由各个组成部分的信息表按照具体的方法进行准确的归并、排序和组成信息库管理系统。
4.3.2数据库E-R图设计
E-R图即实体-联系图,主要作用是提供了解显示数据类型存在的联系的途径,是藐视现实世界的概念模型,其关键要素是实体型、属性、联系。以下是本系统主要的E-R图如下所示。
交流论坛E-R如图4-2所示。
在这里插入图片描述

图4-2 交流论坛E-R图

垃圾资讯E-R如图4-3所示。
在这里插入图片描述

图4-3垃圾资讯实体图

用户信息E-R如图4-4所示。
在这里插入图片描述

图4-4用户信息E-R图

垃圾信息E-R如图4-5所示。
在这里插入图片描述

图4-5垃圾信息实体图

4.3.3数据库表结构设计
该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。
表4-1:关于我们
字段名称 类型 长度 字段说明 主键 默认值
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-2:垃圾资讯
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 标题
introduction longtext 4294967295 简介
picture longtext 4294967295 图片
content longtext 4294967295 内容

表4-3:垃圾信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
lajibianhao varchar 200 垃圾编号
lajimingcheng varchar 200 垃圾名称
lajifenlei varchar 200 垃圾分类
lajitupian longtext 4294967295 垃圾图片
weihaichengdu varchar 200 危害程度
faburiqi date 发布日期
yingduicuoshi varchar 200 应对措施
lajixiangqing longtext 4294967295 垃圾详情
clicktime datetime 最近点击时间
clicknum int 点击次数 0

表4-4:垃圾分类
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
lajifenlei varchar 200 垃圾分类

表4-5:交流论坛
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
title varchar 200 帖子标题
content longtext 4294967295 帖子内容
parentid bigint 父节点id
userid bigint 用户id
username varchar 200 用户名
avatarurl longtext 4294967295 头像
isdone varchar 200 状态

表4-6:垃圾信息评论表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
refid bigint 关联表id
userid bigint 用户id
avatarurl longtext 4294967295 头像
nickname varchar 200 用户名
content longtext 4294967295 评论内容
reply longtext 4294967295 回复内容

表4-7:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-8:在线反馈
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
adminid bigint 管理员id
ask longtext 4294967295 提问
reply longtext 4294967295 回复
isreply int 是否回复

表4-9:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
mima varchar 200 密码
xingming varchar 200 姓名
xingbie varchar 200 性别
lianxidianhua varchar 200 联系电话
touxiang longtext 4294967295 头像

表4-10:关于我们
字段名称 类型 长度 字段说明 主键 默认值
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-11:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-12: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

第五章 系统功能实现

5.1前台用户功能的实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到社区垃圾分类管理平台的导航条显示首页、垃圾信息、交流论坛、垃圾资讯、在线反馈。系统首页界面如图5-1所示:
在这里插入图片描述

图5-1 系统首页界面

在系统首页点击左上角的注册/登录按钮,然后页面跳转到注册登录界面,后来输入信息完成后,单击注册或者登录操作,如图5-2所示:
在这里插入图片描述

在这里插入图片描述

图5-2 用户注册、用户登录界面

用户点击垃圾信息,在垃圾信息页面的搜索栏输入垃圾编号、垃圾名称等信息,进行查询,还可以查看垃圾编号、垃圾名称、垃圾分类、垃圾图片、危害程度、发布日期、应对措施、点击次数,还可以点击评论等操作;如图5-3所示:
在这里插入图片描述

图5-3垃圾信息页面

点击交流论坛,用户进入到交流论坛页面,可以进行编辑填写标题、选择类型、填写内容,以及选择公开或者私人,进行发布,也可以查看他人帖子进行评论,用户与用户之间互相交流,如图5-4所示:
在这里插入图片描述

图5-4交流论坛页面

在个人中心页面可以输入账号、密码、姓名、性别、联系电话、头像等信息,进行信息更新,还可以对我的发布进行详细操作,如图5-5所示:
在这里插入图片描述

图5-5 个人中心界面

5.2 后台管理员功能的实现
管理员登录,通过登录页面填写用户名和密码等信息,点击登录操作,如图5-6所示。
在这里插入图片描述

图5-6管理员登录界面图

管理员登录进入系统可以查看系统首页、个人中心、用户管理、垃圾分类管理、垃圾信息管理、交流论坛、系统管理等功能,进行详细操作,如图5-7所示。
在这里插入图片描述

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

管理员点击用户管理;在用户管理页面输入账号、姓名、性别、联系电话、头像等信息,进行查询,新增或删除用户信息等操作;如图5-8所示。
在这里插入图片描述

图5-8用户管理界面图

管理员点击垃圾分类管理;在垃圾分类管理页面输入垃圾分类等信息,进行查询,新增或删除垃圾分类等操作;如图5-9所示。
在这里插入图片描述

图5-9垃圾分类管理界面图

管理员点击垃圾信息管理;在垃圾信息管理页面输入垃圾编号、垃圾名称、垃圾分类、垃圾图片、危害程度、发布日期、应对措施、点击次数等信息,进行查询或删除垃圾信息等操作;如图5-10所示。
在这里插入图片描述

图5-10垃圾信息管理界面图

管理员点击交流论坛;在交流论坛页面输入帖子标题、用户名、状态等信息,进行查询或删除交流论坛等操作;如图5-11所示。
在这里插入图片描述

图5-11交流论坛界面图

管理员点击系统管理;在系统管理页面对轮播图管理、系统简介、垃圾资讯、在线反馈、关于我们等信息,进行查询或删除系统信息等操作;如图5-12所示。
在这里插入图片描述

图5-12系统管理界面图

第六章 系统测试

6.1系统测试的目的
测试是为了发现问题,而不是证明程序没有问题。测试是可编写测试用例来描述测试的步骤、预想的界面或效果与实际的差距,来验证程序是否正确。测试的原则有几条,测试需要输入条件和输出结果,制定测试用例来规范测试的步骤,也会适当的推进测试的进度。正常的测试流程是从项目立项开始,就可按需求先写测试用例,与程序开发同步进行,等程序开发完成,测试用例也可同时完成,等程序开发交接到测试时,可直接展开测试工作[13]。
6.2软件测试过程
软件测试是软件设计的最后一个阶段,它贯穿于整个设计过程,是一项巨大的任务。软件测试需要测试程序的所有部分。每个部分的测试是不同的,在测试之前需要分为以下几个阶段:
一、单元测试,即模块测试;这是检查软件程序代码的测试。用于软件的最小单位部分。单元测试分为手动测试和动态测试。为了保证程序算法的正确性,静态检测应标准化程序的逻辑、标准化和正确性。该步骤是检测尽可能多的错误。动态检测通过将实际结果与预期结果进行比较来检测错误[14]。
二、集成测试:该测试基于单元测试,用于测试系统的各个功能模块。任何软件设计都会有一个集成阶段,因此在软件测试过程中,集成测试是必不可少的一部分。在集成测试过程中,由于测试是在模块之间进行的,因此在测试过程中可能不会发现问题,但在整个测试过程中会暴露出来。同时,在集成测试过程中,注意模块连接过程中是否有数据丢失。还应注意的是,尽管单个模块的误差可能很少且没有影响,但拼接可能对系统产生很大影响。
三、系统测试:系统测试遵循集成测试。系统测试将通过集成测试的部分作为整个系统的一部分。它与电子设备的所有软硬件一起,可以通过实际操作检测模拟的实际环境中是否存在错误。系统测试需要与计划中的理想情况进行比较,以找出与预期的差异。在分析设计器后确定如何修改。在软件的实际操作过程中,会出现许多意外错误,测试人员可能无法在第一时间解决问题。因此,系统测试应尽可能在实际运行情况下进行,以达到更好的测试目的。
四、验收测试:验收测试是在设计完成和发布之前对系统的最终测试。它需要了解用户和合作伙伴的需求。我们将与他们一起完成测试,并根据他们的需求进行有针对性的修改,成为能够更好地同时满足两者需求的软件[15]。
6.3系统测试用例
性能测试是指通过自动化测试工具模拟系统在不同负载和压力情况下,观察平均响应时间、CPU占用率和内存占用率等性能评价指标的变化情况,以检验系统性能是否能达到预期目标,确保平台上线后稳定运行。
本文采用开源的测试工具JMeter模拟用户对平台API网关的并发请求行为,并发量从200开始逐渐递增,利用JMeter自带的监听器与插件记录平均响应时间、CPU占用率和内存占用率等性能评价指标,具体测试结果如表6.1所示。
表6.1 API网关性能测试结果
在这里插入图片描述

由测试结果可知,在系统并发量逐渐递增到1200的过程中,平均响应时间控制在1.5秒内,异常率保持为0%,响应失败率小于5%} CPU占用率小于80%,内存占用率小于95%,达到了预期的性能目标。当并发量达到1400时,有一部分请求出现异常,各项性能指标也超出以上标准,说明目前系统在1400并发请求时达到了性能瓶颈。

结 论

本系统将采用Eclipse为该系统的开发工具,JAVA 语言进行开发。系统从选题开始,共经历了搜集选题背景信息和选题目的及意义的分析,通过对国内外的研究,需求分析的整理,数据库的模型和表的设计,具体代码的实现。
通过调研和分析,该系统的功能设计为注册登录、个人信息修改、用户管理、垃圾分类管理、垃圾信息管理、交流论坛、系统管理等功能。
该系统从设计和实现,再到系统的测试,每个环节都一一经历学习,每个环节都顺利完成。其实,在配置系统的开发工具时,就已遇到各种问题,但在导师和同学的帮助下,都已顺利的解决。本系统有诸多功能都不够完善,希望日后技术和经验都更丰富的情况下,能完善系统的不足之处。

致 谢

时间匆匆,四年时间马上就要过去,美好的大学生活即将结束。在这里,我首先要感谢我的父母,是他们将我抚养成人,培育成才,正是他们20多年的默默付出,我在他们的庇护之下,我才可以茁壮成长。其次,我要感谢我从小到大的各位老师,不论在课堂里,还是课堂外。他们都知无不言,言无不尽。不仅教会我知识,更教会我做人做事的到底,让我成为一名合格的社会人。最后,我要感谢我的同学们,学海无涯,学业道路上正是有了你们的陪伴,学习才变的如此丰富多彩,生活才变的如此有滋有味。学业上我们一起进步,生活上我们互相帮助,感谢你们学业上的一路陪伴。
在我做毕业设计这段时间里,我要感谢我的指导老师xxx老师,从毕业设计开始选题到写论文期间,x老师根据我的基础为我选定了这个课题,在这个程序的开发过程中,我遇到了很多困难,正是x老师不断鼓励和指导下,我得以顺利完成这个课题的工作。这段时间,我的编程能力有了x老师的指导,有了一个很大的提升。这为我以后的工作,打下了一个坚实的基础。x老师的学习精神,也深深的影响到我,我要向x老师学习,做一个终生学习,不断进步的人。
在我开发本套系统的过程中,得到了我的很多老师,同学,朋友,以及网上的很多热心网友的帮助。正是因为有了他们的热心帮助,我的项目才得以顺利进行。希望他们在未来的日子里,万事如意,前程似锦。衷心的感谢这一路帮助过我的每个人,谢谢大家!

参考文献

[1]SilberschatzKorth Sudarshan 著,北京大学 杨冬青 李红燕 唐世渭等翻译 数据库系统概念(原书第6版)机械工业出版社,2019
[2] 于小鹏 MySQL 2019 清华大学出版社, 2021
[3] [美]Christian Nagel 著,李铭译清华大学出版社 C#高级编程 2020
[4] 王红陈功平张寿安李家兵曹维祥金先好金宗安胡琼著,数据库案例与应用开发项目教程清华大学出版社 2020
[5] 罗福强 C#程序开发教程中国电力出版社 2021
[6] [英]马克·J.普赖斯(Mark J. Price)著王莉莉译清华大学出版社 C# 8.0和.JAVA Core 3.0高级编程 2020
[7] [英]约翰·夏普(John Sharp)著周靖译 Visual C#从入门到精通(第9版)清华大学出版社 2019
[8] 肖宏启、苏畅著, .JAVA网站开发项目化教程(第2版) 清华大学出版社 2021
[9] 徐洁罄. 数据库技术实用教程中国铁道出版社 2020
[10]赵良辉.MySQL数据库轻松实务-基于MySQL 2015.MySQL 2016 华南理工大学出版社 2019
[11]黄梯云李一军.管理信息系统(第7版) 北京: 高等教育出版社,2019年.
[12]胡艳丽. MySQL 2019数据库原理及应用北京:清华大学出版社2021
[13]Alex Petrov,Database Internals (A deep-dive into how distributed data systems work).US: O’Reilly Media. Inc, 2020
[14] Abraham Silberschatz Professor / Henry F Korth / S Sudarshan. Database System Concepts (7th Edition), US: McGraw-Hill Education, Inc, 2020
[15] James Singleton. JAVA Core 2 High Performance. British:Packt Publishing, Inc,2019

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/468724.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WordPress自动生成原创文章插件

WordPress作为最受欢迎的内容管理系统之一,为博客和网站的搭建提供了便捷的解决方案。而在内容创作方面,自动生成原创文章的插件为WordPress用户提供了更为高效的选项。 什么是WordPress自动生成原创文章插件? WordPress自动生成原创文章插件…

Rust 错误处理入门和进阶

Rust 错误处理入门和进阶 引用 Rust Book 的话,“错误是软件中不可避免的事实”。这篇文章讨论了如何处理它们。 在讨论 可恢复错误和 Result 类型之前,我们首先来谈谈 不可恢复错误 - 又名恐慌(panic)。 不可恢复错误 恐慌(panic)是程序可能抛出的异…

C++第七弹---类与对象(四)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、拷贝构造函数 1.1、概念 1.2、特征 2、运算符重载 2.1、等号运算符重载 总结 1、拷贝构造函数 1.1、概念 在现实生活中,可能…

学习Python,需要知道的经典案例

文章目录 一、Python简介二、Python经典案例1. 猜数字游戏2. 文本文件处理3. 网络爬虫4. 数据可视化5. 电子邮件发送6. 实现一个简单的Web服务器。 三、Python处理IP相关知识点1. 处理IP地址2. 网络编程(TCP/IP)3. 使用第三方库处理IP信息 四、相关链接 …

Java安全 反序列化(1) URLDNS链原理分析

Java安全 反序列化(1) URLDNS链原理分析 文章目录 Java安全 反序列化(1) URLDNS链原理分析前置知识应用分析payload1.新建HashMap类2.新建URL类3.获取URL 的 Class对象4.通过反射访问URL内部变量5.通过反射为URL中类赋值6.调用HashMap#put方法传入key和value7.再次通过反射为UR…

基于单片机的智能台灯设计1.42

摘 要 社会在发展,时代在进步,人们对生活质量需求更加膨胀,是否拥有高科技技术也最终决定着产品是否可以满足人们的欲望,只有性价比更高,才可以得到更好的青睐。现在的电子产品愈来愈多,龙蛇混杂&#xff…

vue使用element-ui 实现自定义分页

element-ui文档截图&#xff0c;plus大同小异。 可以通过插槽实现自定义的分页。在layout里面进行配置。 全部代码 //page.js export default {name:Cuspage,props:{total:Number,},data(){return {currentPage:1,pageSize:10,}}methods: {setslot (h) {return(<div cla…

tinyrenderer-Bresenham绘制直线算法

如何画线段 第一种尝试 求x&#xff0c;y起始点的差值&#xff0c;按平均间隔插入固定点数 起始点平均插入100个点&#xff1a; void line(int x0, int y0, int x1, int y1, TGAImage& image, TGAColor color) {for (float t 0.; t < 1.; t .01) {int x x0 (x1 -…

力扣每日一题 2024/3/19 好子数组的最大分数

题目描述 用例说明 思路讲解 好子数组的下标在i<k<j,即nums[k]必须在好子数组当中&#xff0c;将数组以k为分界点分为左右两半&#xff0c;左半left从k-1向左移动&#xff0c;右半right从k1开始出发向右移动。 当left大于等于分界点的值时左移一位&#xff0c;当right大…

tp8 mpdf 导出pdf

1. 安装mpdf composer require mpdf/mpdf 2. 然后 使用 use mpdf\Mpdf; 或者 require_once __DIR__ . /vendor/autoload.php; 官方文档 mPDF – mPDF 手册 文档里有很多东西 可以自己去研究 3. 编写代码 下载 (支持中文) $mpdf new Mpdf([mode > utf-8,"autoS…

CMeet系列技术生态沙龙---《探索未来:生成式AI赋能千行百业·杭州》

当前数字化浪潮下&#xff0c;生成式AI技术正成为推动产业升级、提升竞争力的关键力量。为深入探索未来AI技术的赋能作用&#xff0c;促进技术生态的繁荣与发展&#xff0c;CSDN-CMeet系列沙龙活动旨在搭建一个交流与探索的平台&#xff0c;通过分享前沿研究成果和应用案例&…

服务器数据恢复—光纤环境互斥不当导致存储VMFS卷损坏的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 某公司的信息管理平台&#xff0c;通过3台虚拟机共享了一台存储设备供企业内部使用&#xff0c;存储设备中存放了公司内部重要的数据文件。 由于业务增长的需要&#xff0c;管理员又在这个存储网络上连接了一台Windows server服务器&a…

媒体邀约:推广方法

1.媒体邀约推广媒体邀约推广是一种通过与商务合作以增强曝光度和名气的营销手段。积极与商务合作&#xff0c;公司能将产品和服务推广给更大范围受众人群&#xff0c;以达到增加销量和市场占有率目地。 1.1 选择适合自己的新闻媒体选择适合自己的新闻媒体是媒体邀约推广的关键…

sqllab第35-45关通关笔记

35关知识点&#xff1a; 宽字节注入数值型注入错误注入 payload:id1andextractvalue(1,concat(0x7e,database(),0x7e))0--联合注入 payload:id0unionselect1,database(),version()-- 36关知识点&#xff1a; 字符型注入宽字节注入错误注入 payload:id1%df%27andextractvalue(…

Qt实现简单的五子棋程序

Qt五子棋小程序 Qt五子棋演示及源码链接登陆界面单机模式联机模式联网模式参考 Qt五子棋 参考大佬中国象棋程序&#xff0c;使用Qt实现了一个简单的五子棋小程序&#xff0c;包含了单机、联机以及联网三种模式&#xff1b;单机模式下实现了简易的AI&#xff1b;联机模式为PtoP…

由于找不到kvpvbsext64.dll,无法继续执行代码。解决办法,

kvpvbsext64.dll 是一个动态链接库文件&#xff0c;通常作为某个软件的一部分存在。具体来说&#xff0c;它可能为某个程序的特定功能提供支持&#xff0c;在软件运行时被调用和使用。因此&#xff0c;当出现与该文件相关的错误时&#xff0c;可能会影响到相应软件的正常运行。…

ModbusTCP转Profinet网关高低字节交换切换

背景&#xff1a;在现场设备与设备通迅之间通常涉及到从一种字节序&#xff08;大端或小端&#xff09;转换到另一种字节序。大端字节序是指高位字节存储在高地址处&#xff0c;而小端字节序是指低位字节存储在低地址处。在不动原有程序而又不想或不能添加程序下可选用ModbusTC…

算法沉淀——贪心算法二(leetcode真题剖析)

算法沉淀——贪心算法二 01.最长递增子序列02.递增的三元子序列03.最长连续递增序列04.买卖股票的最佳时机 01.最长递增子序列 题目链接&#xff1a;https://leetcode.cn/problems/longest-increasing-subsequence/ 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子…

Matplotlib数据可视化实战-1数据可视化Matplotlib基础

1.1绘图的一般过程&#xff1a; 1.导入相关库 2.生成、读入或计算得到数据&#xff1b; 3.根据需要绘制折线图、散点图、柱状图、饼状图、雷达图、箱线图、三维曲线/曲面以及极坐标系图形&#xff1b; 4.根据需要设置图形属性&#xff1b; 5.显示或保存绘图结果。 例如&…

缺失的第一个正数-面试热题 100?-Lua 中文代码解题第5题

缺失的第一个正数-面试热题 100&#xff1f;-Lua 中文代码解题第5题 解题思路&#xff1a; 遍历数组并尝试将元素放入正确的位置&#xff1a; 遍历输入数组 nums&#xff0c;对于每个元素 nums[i]&#xff1a; 如果 nums[i] 是一个正整数&#xff0c;并且它的值小于或等于数组…