(2024最新毕设合集)基于SpringBoot的宠物店寄养管理系统-94084|可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

基于SpringBoot宠物店寄养管理系统的设计与实现

摘 要

宠物店寄养管理系统是一个基于计算机技术的应用系统,旨在为宠物店提供一种便捷、高效的方式来管理宠物店寄养服务。本研究通过使用现代化的软件开发技术和数据库管理方法,设计和实现了一个全面的宠物店寄养管理系统。该系统具有以下主要功能:宠物资讯、预约寄养、寄养计划、在线沟通等。经过实际测试和用户反馈,该系统在提供高效的宠物店寄养管理服务方面取得了良好的效果,为宠物行业的运营和发展提供了一种创新的解决方案。宠物店寄养管理系统是基于浏览器与服务器架构平台,采用跨平台的JAVA语言开发,利用Springboot框架进行逻辑控制,MySQL数据库存储数据,最后Tomcat服务器完成发布,系统可在多个环境下运行。

关键词:宠物店寄养,Springboot框架,MySQL数据库

Design and implementation of a pet store foster management system based on SpringBoot

Abstract

The pet store foster care management system is a computer technology-based application system aimed at providing a convenient and efficient way for pet stores to manage their foster care services. This study designed and implemented a comprehensive pet store foster management system using modern software development techniques and database management methods. The system has the following main functions: pet information, appointment for foster care, foster care plans, online communication, etc. After practical testing and user feedback, the system has achieved good results in providing efficient pet store foster management services, providing an innovative solution for the operation and development of the pet industry. The pet store foster care management system is based on a browser and server architecture platform, developed using cross platform Java language, using the Springboot framework for logical control, storing data in a MySQL database, and finally being published on a Tomcat server. The system can run in multiple environments.

Keywords: Pet store foster care, Springboot framework, MySQL database

目  录

第1章 绪论

1.1 研究项目背景

1.2 系统开发意义

1.3国内外研究现状

1.4 本论文的组织结构

第2章 相关技术介绍

2.1 MySQL数据库

2.2 B/S结构

2.3 Springboot框架介绍

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 社会可行性分析

3.1.3 经济可行性分析

3.2 功能需求分析

3.3 非功能需求分析 7

3.4 用例分析 7

3.5 业务流程分析

3.6 数据流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统功能结构 12

4.3 功能模块设计

4.4 数据库设计

4.4.1 E-R

4.4.2 表结构设计

第5章 系统实现

5.1 开发工具

5.2 注册模块

5.3 登录/注销模块

5.4 用户功能模块

5.5 管理员功能模块

5.6 工作人员功能模块 32

第6章 系统测试 35

6.1 测试概述 35

6.2 测试过程 35

6.2.1 登录测试 35

6.2.2 信息录入测试 35

6.2.3 信息更新测试 36

6.2.4 信息删除测试 36

6.3 测试结果 36

第7章 总结与展望

7.1 总结

7.2 展望

参考文献

致谢 41

第1章绪论

1.1研究项目背景与意义

随着人们对宠物关爱意识的提升和宠物行业的快速发展,越来越多的人选择将自己的宠物寄养在宠物店或宠物旅馆中,以满足工作、旅行等需要。然而,传统的宠物店寄养管理方式存在许多问题,如手动登记、费用计算繁琐、信息不便查找等,无法满足日益增长的宠物店寄养需求。为了提升宠物店寄养服务的质量和效率,提供更好的用户体验,开发一个科技化、智能化的宠物店寄养管理系统具有重要的研究意义。该系统将通过应用计算机技术和数据库管理方法,实现对宠物店寄养全过程的信息管理,包括宠物、宠物资讯、预约寄养、寄养计划、在线沟通等功能。这将大大简化和加速宠物店寄养业务流程,减少人为错误和遗漏,提高工作效率和客户满意度。通过深入研究和应用现代软件开发技术,可以为宠物行业的运营和管理带来创新和改进,推动宠物店寄养服务向智能、便捷、高效的方向发展。

1.2系统开发意义

基于SpringBoot的宠物店寄养管理系统的设计与实现具有重要的系统开发意义。首先,该系统可以帮助宠物店高效地管理寄养业务,提供便捷的服务,提升客户满意度。其次,通过使用SpringBoot框架,可以快速构建稳定、可靠的系统,减少开发工作量和时间成本。此外,系统设计采用模块化结构,易于扩展和维护,能够满足不同宠物店的需求,并为未来的功能增加和升级提供良好的基础。总而言之,基于SpringBoot的宠物店寄养管理系统的开发将提升宠物店的运营效率和服务质量,为宠物店业务的数字化转型提供了重要的支持和推动力。

1.3国内外研究现状

国内研究现状:

在国内,宠物店寄养管理系统的研究主要集中在大型宠物店、宠物旅馆等行业。许多宠物企业开始意识到科技化管理的重要性,积极引入信息技术来改进宠物店寄养服务。国内的宠物店寄养管理系统通常具备宠物信息管理、预约和登记、费用计算和结算、寄存记录查询和统计报表等核心功能。国内的宠物店寄养管理系统常使用Java、C#等开发语言,并结合MySQL、SQLServer等数据库进行数据存储和管理。同时,部分系统会利用云计算和移动互联网技术,提供远程操作和在线支付等功能。

国外研究现状:

在国外,宠物店寄养管理系统也受到了一定的研究和应用。一些宠物店和宠物旅馆开始采用先进的技术来改善宠物店寄养服务。国外的宠物店寄养管理系统通常具备类似的核心功能,如宠物信息管理、预约和登记、费用计算和结算等。同时,一些系统还加入了在线聊天、社交媒体分享等社交化功能,增强用户交互和体验。国外的宠物店寄养管理系统普遍使用Java、Python、PHP等开发语言,并结合关系型数据库(如MySQL)或非关系型数据库(如MongoDB)进行数据管理。

1.4本论文的组织结构

六个章节共同组成了本文研究及设计内容,包括:

第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章:相关技术介绍。主要介绍Springboot框架、Java嵌入式脚本语言、B/S模式等。

第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。

第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。

第2章相关技术介绍

2.1MySQL数据库

科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的养老院信息管理系统也需要这项技术的支持。

用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。

2.2B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。

2.3Springboot框架介绍

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

第3章系统分析

3.1可行性分析

3.1.1技术可行性分析

技术可行性分析是对系统开发过程中所需的技术资源和能力进行评估和分析的过程。在基于SpringBoot的宠物店寄养管理系统的技术可行性分析中,我们考虑了以下几个方面。

首先,SpringBoot框架具备广泛的应用和成熟的生态系统,提供了丰富的功能和组件,能够快速构建稳定、高效的系统。其良好的文档和社区支持,为开发人员提供了宝贵的资源和解决方案。

其次,SpringBoot与Java编程语言紧密结合,使得开发人员能够充分利用Java生态系统的优势,包括庞大的开发者社区、强大的工具和库支持,以及丰富的企业级开发经验。

此外,SpringBoot还支持与多种数据库和第三方服务集成,如MySQL、MongoDB、Redis等,提供了灵活的数据存储和访问方式,以满足宠物店寄养管理系统对数据的需求。

3.1.2社会可行性分析

社会可行性分析是对基于SpringBoot的宠物店寄养管理系统在社会环境中的可接受程度和适应性进行评估的过程。该系统的社会可行性分析考虑了以下几个方面。

首先,宠物店寄养管理系统满足了现代社会对宠物保护和关爱的需求。随着人们对宠物健康、安全和福利的关注日益增加,一个专业且高效的寄养管理系统能够提供全面的宠物照顾服务,满足宠物主人的需求。

其次,该系统的实施将促进宠物店行业的规范化和标准化发展。通过统一管理宠物的入住、饮食、医疗和活动等方面,系统能够提供更加规范和可靠的服务,增强用户信任和满意度,推动整个行业的提升。

此外,宠物店寄养管理系统的使用还可以为宠物店和相关从业人员提供就业机会和经济收入。系统的引入将带动相关岗位的需求,促进就业机会的增加,进而提升当地经济发展。

3.1.3经济可行性分析

开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以宠物店寄养管理系统具有经济可行性和实用性,可以节约管理成本。

3.2功能需求分析

宠物店寄养管理系统主要是为了更加地完善宠物领养的服务情况,对用户的信息、宠物资讯、预约寄养、寄养计划、在线沟通以及宠物医疗等提供了方便的机制。本系统有多类使用者,分别是管理员和用户注册。以下是从这两种用户的角度分别介绍本系统所要实现的功能。

系统用户:

注册:首先检查用户名和邮箱是否存在,如不存在即可进行注册,并将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中。

登录:使用宠物店寄养管理系统前是需要用户登录个人账号。

宠物资讯:用户可以在线进行宠物资讯浏览等。

寄养计划:用户可以在寄养计划里查看各种各类的宠物,对自己喜欢的宠物进行收藏、填写资料进行预约寄养操作。

在线沟通:用户可以在线沟通里进行留言沟通等信息。

管理员:

后台首页:首页有寄养预约统计表可供管理员统计。

系统管理:对普通用户、工作人员进行管理,用户跟工作人员的注册,包括昵称、用户名、账号信息:

宠物信息管理:对宠物信息进行发布管理。

寄养计划管理:对宠物寄养计划信息进行维护添加管理。

寄养预约管理:对用户提交的宠物预约信息进行处理。

在线沟通管理:对用户在线沟通的留言信息进行维护管理。

系统管理:对系统的轮播图进行管理。

公告消息管理:对系统的公告消息进行增删改查。

资源管理:对宠物的资讯进行管理、对资讯进行分类维护管理增删改查。

工作人员:

宠物信息管理:工作人员可添加用户的宠物信息。

寄养计划管理:工作人员可查看用户的宠物寄养计划信息。

寄养预约管理:工作人员可对用户的寄养预约进行审核并安排。

在线沟通管理:工作人员可回复用户信息。

3.3非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

3.4用例分析

1.普通用户主要使用系统进行宠物寄养申请,下图所示为普通用户的用例图

             

图3-1 普通用户用例图

2.管理员主要负责系统用户管理、宠物信息管理、寄养计划管理、寄养预约管理、在线沟通管理、系统管理、公告消息管理、资源管理,下图所示描述管理员的用例图。

图3-2 管理员用例图

3.工作人员主要负责对用户的寄养预约进行审核和安排、宠物信息管理、寄养计划管理、寄养预约管理、在线沟通管理,下图所示描述工作人员的用例图。

                   

                      图3-3工作人员用例图

3.5业务流程分析

系统业务流程图如下所示。

     

图3-3 系统业务流程图

业务流程图(TFD)通过一些特定的符号描述业务的处理过程,它重点强调业务过程中每一项处理活动和具体业务部门的关系,选择部分模块进行具体描述。重点对本系统整体业务中最为主要的宠物寄养、寄养计划、在线沟通进行描述,用户进入宠物店寄养管理系统后进行各种模块信息的浏览,另外,管理人员进入后端管理,以执行宠物寄养模块的相关管理方法,并在解决后向客户提供反馈机制。

3.6数据流程分析

如下为系统的层数据流图,外部实体有普通用户、工作人员和管理员,分别对系统输入数据,从而得到要输出的数据

   

图3-4系统顶层数据流图

如下图所示为系统层数据流图。

图3-5系统底层数据流图

宠物店寄养管理系统底层数据流图主要描述系统底层模块的数据流、数据载体、数据处理、外部实体的具体交互。本系统就是管理员和普通用户、工作人员在宠物资讯、寄养预约、在线沟通、寄养计划等模块上的数据交互。

第4章系统设计

4.1系统架构设计

本系统架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

图4-1系统架构图

4.2系统功能结构

为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。

如下图所示为系统功能结构图。

图4-2系统功能结构图

4.3功能模块设计

用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。

图4-3未注册用户注册活动图

用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。

图4-4用户登录活动图

用户登录后,进入功能页面,进行宠物资讯查看宠物信息搜索、宠物寄养、在线沟通用户使用功能活动图如所示

图4-5用户使用功能活动图

用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。修改密码活动图如下图所示。

图4-6修改密码活动图

4.4数据库设计

宠物店寄养管理系统采用的数据库是MySQL,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。

4.4.1E-R图

E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。

本系统图设计,如下图所示。

图4-7系统E-R图

4.4.2表结构设计

本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,普通用户注册表、工作人员注册表、宠物信息、寄养计划表、在线沟通、寄养预约表等。

表结构如下所示。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表fostering_scheme (寄养计划)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

fostering_scheme_id

int

10

0

N

Y

寄养计划ID

2

plan_name

varchar

64

0

Y

N

计划名称

3

plan_type

varchar

64

0

Y

N

计划类型

4

foster_care_price

int

10

0

Y

N

0

寄养价格

5

plan_label

varchar

64

0

Y

N

计划标签

6

plan_description

text

65535

0

Y

N

计划描述

7

cover_photo

varchar

255

0

Y

N

封面图片

8

plan_details

longtext

2147483647

0

Y

N

计划详情

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表foster_care_appointment (寄养预约)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

foster_care_appointment_id

int

10

0

N

Y

寄养预约ID

2

plan_name

varchar

64

0

Y

N

计划名称

3

plan_type

varchar

64

0

Y

N

计划类型

4

foster_care_price

int

10

0

Y

N

0

寄养价格

5

regular_users

int

10

0

Y

N

0

普通用户

6

user_name

varchar

64

0

Y

N

用户姓名

7

user_phone_number

varchar

64

0

Y

N

用户电话

8

appointment_time

date

10

0

Y

N

预约时间

9

foster_care_needs

text

65535

0

Y

N

寄养需求

10

foster_care_area

varchar

64

0

Y

N

寄养区域

11

foster_care_arrangements

text

65535

0

Y

N

寄养安排

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

pay_state

varchar

16

0

N

N

未支付

支付状态

15

pay_type

varchar

16

0

Y

N

支付类型: 微信、支付宝、网银

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表online_communication (在线沟通)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

online_communication_id

int

10

0

N

Y

在线沟通ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

contact_time

datetime

19

0

Y

N

联系时间

5

user_information

text

65535

0

Y

N

用户信息

6

reply_to_message

text

65535

0

Y

N

回复信息

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_information (宠物信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_information_id

int

10

0

N

Y

宠物信息ID

2

regular_users

int

10

0

Y

N

0

普通用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_phone_number

varchar

64

0

Y

N

用户电话

5

pet_name

varchar

64

0

Y

N

宠物姓名

6

pet_breeds

varchar

64

0

Y

N

宠物品种

7

pet_age

varchar

64

0

Y

N

宠物年龄

8

pet_gender

varchar

64

0

Y

N

宠物性别

9

pet_size

varchar

64

0

Y

N

宠物大小

10

pet_pictures

varchar

255

0

Y

N

宠物图片

11

pet_notes

text

65535

0

Y

N

宠物备注

12

vaccination_status

varchar

64

0

Y

N

接种情况

13

disease_history

text

65535

0

Y

N

疾病历史

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表regular_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

regular_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

user_age

varchar

64

0

Y

N

用户年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表working_personnel (工作人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

working_personnel_id

int

10

0

N

Y

工作人员ID

2

personnel_name

varchar

64

0

Y

N

人员姓名

3

gender_of_personnel

varchar

64

0

Y

N

人员性别

4

age_of_personnel

varchar

64

0

Y

N

人员年龄

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

第5章系统实现

5.1开发工具

系统中应用的开发工具总结如下表所示。

表5-1开发工具

名称

工具

版本

操作系统

IDE(Integrated Development Environment)

Windows

Eclipse

7/8/10

2017

服务器

Tomcat

9.10.7

JDK(Java Development Kit)

JDK

Java SE 8.0 (1.8.0)

数据库

浏览器

界面工具

MySQL

谷歌

Photoshop

5.7

6.0

2016

5.2注册模块

未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。

注册界面如下所示。

图5-1注册界面

用户注册关键代码如下所示。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

5.3登录/注销模块

用户在首页点击登录,进入用户登录界面uerLogin.jsp,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction,调用userLogin(user)方法,通过userDAOImp向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。

用户点击注销,清空浏览器session值,然后返回登录页或者首页。

登录界面如下所示。

图5-2登录界面

登录界面关键代码如下所示。

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

5.4用户模块

5.4.1个人资料模块

登录用户在首页点击进入用户中心userCenter.jsp,再点击修改个人信息按钮进入userChangeInfo.jsp界面,系统根据session中存储的目前登录的用户的账号,向控制层userAction发送请求,搜索当前用户信息,userAction向userDAOImp调用queryByUserId(user),向数据库的用户表搜索当前用户信息并将用户信息以对象的形式层层返回到userChangeInfo.jsp界面,显示出当前用户的个人信息。

若用户要对个人信息进行修改,则通过修改当前信息之后点击确认,向控制层userAction发送更改后的用户信息,调用changeUser(user)方法,通过userDAOImp向数据库用户表更新用户信息,若成功则反馈注册成功,则返回的userChangeInfo.jsp界面被更改成功;若失败则显示修改失败。

5.4.2宠物资讯模块

用户在登录状态下浏览宠物资讯时,点击加入宠物资讯信息后前台发起请求,将对应的宠物shuliang、id参数信息从前台传递GoumaiController类里,匹配到add()方法,add()方法调用GoumaiServiceImpl类的add()方法。

宠物资讯界面如下所示。

图5-3宠物资讯界面

5.4.3寄养计划模块

用户在登录状态下点击寄养计划页面进行预约寄养申请提交,从session中取出该预约寄养的信息,点击预约寄养,发起请求,将对应的预约寄养信息yuyuejicun、id参数信息从前台传递linyangController类里,匹配到add()方法,add()方法调用jicunServiceImpl类的add()方法。

寄养计划信息界面如下所示。

图5-4寄养计划界面

寄养计划的关键代码如下。

@PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

5.5管理员模块

5.5.1宠物信息管理模块

管理员对宠物信息项目进行增删改查。通过添加某个“宠物信息”信息内容,输入普通用户、用户姓名、用户电话、宠物姓名、宠物品种、宠物性别、接种情况、疾病历史等,点击提高按钮。

宠物信息管理界面图如下所示。

图5-5宠物信息管理界面

5.5.2寄养计划管理模块

根据需求,需要对寄养计划进行添加、删除或修改详情信息。例如添加寄养计划时,会给出数据填写的页面,该页面根据填写好的宠物房间同样会事先发送Ajax请求查询是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

寄养计划页面设计效果如下图所示。

图5-6寄养计划管理界面

寄养计划管理界面逻辑代码如下:

 @RequestMapping(value = {"/avg_group", "/avg"})

public Map<String, Object> avg(HttpServletRequest request) {

        Query count = service.avg(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

5.5.3寄养预约管理模块

管理员查看寄养预约管理里用户的寄养预约详情,支付情况,对寄养预约界面实现查询、删除等功能,并能通过计划名称、计划类型、用户姓名、审核状态、支付状态进行搜索。

寄养预约管理界面如下图所示。

图5-7寄养预约管理界面

寄养预约管理关键代码如下。

@RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

    /**

     * 服务对象

     */

    @Autowired

    public AuthController(AuthService service) {

        setService(service);

    }

}

5.5.4资源管理模块

管理人员在“资源管理”这一菜单中可以对宠物资讯和所属分类进行管理。在“资讯分类”界面点击新增进入新增页面填写类型名称完成资讯分类信息的添加。在“宠物资讯”界面点击添加进入添加页面上传商品图片并填写标题、标签、分类、封面图、描述等信息完成宠物资讯信息的添加。在资源管理界面可以查看某列表中的宠物资讯的标题、封面图、文章分类、创建时间、更新时间、点击后面的“详情”可查看该资讯的详细内容。管理员还可以对宠物资讯和所属分类进行查询、重置、删除操作。

宠物资讯添加为例界面图,如图5-8所示。

图5-8资源管理界面图

资源管理的关键代码如下。

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

5.6工作人员模块

5.6.1宠物信息管理模块

工作人员可对用户的宠物信息进行资料填写添加,在宠物信息列表里可查看用户的宠物信息详情进行增删查改操作,可通过用户姓名、宠物姓名、宠物品种进行搜索。宠物信息管理界面如下图所示。 

       图5-9宠物信息管理界面图

5.6.2寄养预约管理模块

工作人员可查看用户的寄养预约列表里信息的详情,并可对用户的寄养预约进行审核并安排回复,填写相关资料后提交即可,可通过计划名称、计划类型、用户姓名、审核状态、支付状态进行搜索查询。寄养预约管理界面图如下图所示。

     

             图5-10寄养预约管理界面图

第6章系统测试

6.1测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

6.2测试过程

6.2.1登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

登录测试用例表如下所示。

表6-1登录测试

用例编号

YL001

程序版本

1.00

功能名称

使用者登录测试

编制人

李铁蛋

功能描述

根据用户的登录情况测试

用例目的

测试用户登录情况是否正确

测试项

测试数据

测试结果

预期结果

用户名

为空

请输入用户名

请输入用户名

密码

为空

请输入密码

请输入密码

用户密码组合

用户名:klouse 密码 klouses

用户与密码不匹配

用户与密码不匹配

用户密码组合

用户名 : klouse 密码

klouse

进入系统

正确的用户名和密码

登录系统

6.2.2信息录入测试

管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

信息录入发布测试用例表如下所示。

表6-1信息录入发布测试

用例编号

YL002

程序版本

1.00

功能名称

信息发布测试

编制人

李铁蛋

功能描述

对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者录入发布信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

为空

请输入属性1对应的数据

请输入属性1对应的数据

属性2

为空

请输入属性2对应的数据

请输入属性2对应的数据

属性3

为空

请输入属性3对应的数据

请输入属性3对应的数据

全部输入

数据均填入

录入发布成功

录入发布成功

6.2.3信息更新测试

管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

信息更新测试用例表如下所示。

表6-1信息更新测试

用例编号

YL003

程序版本

1.00

功能名称

信息更新测试

编制人

李铁蛋

功能描述

对使用者更新信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者更新信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

编号:321

编号更新成功

编号更新成功

属性2

名称:名称1

名称更新成功

名称更新成功

属性3

内容:内容1234内容

内容更新成功

内容更新成功

全部输入

数据均未更改

更新成功

更新成功

6.2.4信息删除测试

管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

信息删除测试用例表如下所示。

表6-1信息删除测试

用例编号

YL004

程序版本

1.00

功能名称

信息删除测试

编制人

李铁蛋

功能描述

对使用者删除信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者删除信息进行原型测试。

测试项

测试数据

测试结果

预期结果

数据1

无任何关联的数据1

数据删除成功

数据删除成功

数据2

和其他数据有关联的数据2

请确认是否删除

请确认是否删除

6.3测试结果

在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 Java 开发的期望。

第7章总结与展望

7.1总结

宠物店寄养管理系统采用Springboot框架开发,该系统非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于Springboot的宠物店寄养管理系统,将数据操作维护的过程转化成电脑操作流程,具体实现了对系统人员管理、宠物资讯数据维护、寄养预约数据维护、寄养计划维护、在线沟通数据维护等,让使用者能更清晰的掌握运营情况,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利。

7.2展望

目前完成的宠物店寄养管理系统,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个Java页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。

参考文献

[1]李燕京. 宠物寄养让“毛孩子”过个舒适年[N]. 中国消费者报, 2024-02-07 (004).

[2]刘卓澜,胡静蓉. 8天超万元 春节宠物寄养“一窝难求”[N]. 北京商报, 2024-02-06 (005).

[3]Kartini A G ,Gumilar I ,Abidin Z H , et al. 3D model of Pawon Cave: The first prehistoric dwelling discovery in West Java, Indonesia [J]. Digital Applications in Archaeology and Cultural Heritage, 2024, 32 e00311-.

[4]马红,张理成,钟世平等. 组态软件Web化的分析与设计 [J]. 化工自动化及仪表, 2024, 51 (01): 23-27+55.

[5]谭光兴,甘景,戚秋晨. 基于Java语言的远程数据采集系统设计与实现 [J]. 科技与创新, 2024, (01): 19-22.

[6]艾钰承,朱海风,刘舟. 基于SpringBoot的“喵站”宠物服务平台的设计与实现 [J]. 科技资讯, 2023, 21 (22): 22-25.

[7]杨芬,宋晓燕. MySQL数据库应用的课程教学分析 [J]. 电子技术, 2023, 52 (10): 180-181.

[8]马文新,刘百韬,侯冠麒等. 基于SpringBoot的三维数字化设备运维管理系统的设计与实现 [J]. 中国建设信息化, 2023, (18): 66-69.

[9]桑雪骐. 购买宠物注意查看免疫证明[N]. 中国消费者报, 2023-07-06 (003).

[10]杨美. ZL宠物店服务营销策略研究[D]. 云南财经大学, 2023.

[11]孙蔚. 宠物寄养成为主流选择[N]. 中国消费者报, 2023-05-15 (003).

[12]汤瑜,高源. 宠物买卖易发纠纷 商家应充分保障消费者知情权[N]. 民主与法制时报, 2023-04-27 (007).

[13]杨胡平 ,徐甜. 爱心宠物店 [J]. 幼儿画刊, 2023, (04): 42-43.

[14]Sunday O B ,Nduka O S . MySQL Database Server: Deploying Software Application to Enhance Visibility and Accountability [J]. Current Journal of Applied Science and Technology, 2023, 42 (4): 16-23.

[15]颜惠. 基于Web的宠物店信息管理系统设计 [J]. 软件, 2023, 44 (02): 147-149.

[16]李筱筱. 春节临近,“铲屎官”们忙着为宠物“入托”[N]. 台州日报, 2023-01-13 (007).

[17]刘浩. 网购宠物谨防三大“套路”[N]. 中国消费者报, 2022-12-26 (003).

[18]Yang Y . Design and Implementation of Student Information Management System Based on Springboot [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):

[19]杜晓宇. 社群经济下萌小它宠物店社群营销策略研究[D]. 苏州大学, 2022.

[20]易霞,刘贵平,查琳等. 内江市伴侣动物(犬猫)寄养方式及建议 [J]. 今日畜牧兽医, 2022, 38 (05): 65+68.

致谢

在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。

我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值