当前位置: 首页 > article >正文

springboot277流浪动物管理系统

流浪动物管理系统设计与实现

摘 要

在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对流浪动物信息管理的提升,也为了对流浪动物信息进行更好的维护,流浪动物管理系统的出现就变得水到渠成不可缺少。通过对流浪动物管理系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。

流浪动物管理系统通过MySQL数据库与Spring Boot框架进行开发,流浪动物管理系统能够实现宠物信息管理,宠物留言管理,宠物收藏管理,宠物寄养管理,宠物领养管理,宠物领养审核管理等功能。

通过流浪动物管理系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源,为环境保护也做了力所能及的贡献。

**关键词:**流浪动物管理系统;宠物寄养;宠物领养

Abstract

In today’s society, with regard to the processing of information, no enterprise or individual will ignore how to quickly transmit information and archive and store queries. The previous paper record mode is no longer in line with current usage requirements. Therefore, in order to improve the management of stray animal information and to better maintain stray animal information, the emergence of a stray animal management system has become indispensable. Through the development of the stray animal management system, it is not only possible to apply what you have learned, but also to strengthen the knowledge memory and expand the knowledge reserve, which is a good way to improve yourself. Through specific development, I have a good grasp of the entire software development process, whether it is the early design or the follow-up coding test, I have a very deep understanding.

The stray animal management system is developed through MySQL database and Spring Boot framework. The stray animal management system can realize pet information management, pet message management, pet collection management, pet foster management, pet adoption management, pet adoption audit management and other functions.

Through the processing of relevant information by the stray animal management system, it is an inevitable result to make information processing more systematic and standardized. The information that has been processed, whether it is used for search or analysis, will be doubled in efficiency, making computers more suitable for production needs, becoming an indispensable information processing tool for people, and realizing green office, Save social resources and contribute to environmental protection.

**Key Words:**Stray animal management system; pet boarding; pet adoption

目 录

摘 要 I

Abstract II

第1章 绪论 1

1.1 选题背景 1

1.2 选题意义 1

1.3 研究内容 1

第2章 开发环境 2

2.1 Java语言 2

2.2 MYSQL数据库 2

2.3 Eclipse开发工具 3

2.4 Spring Boot框架 3

2.5 B/S架构 3

第3章 系统分析 4

3.1可行性分析 4

3.1.1技术可行性 4

3.1.2操作可行性 4

3.1.3经济可行性 4

3.2系统流程分析 4

3.3系统性能分析 8

3.3.1系统安全性 8

3.3.2数据完整性 8

3.3.3系统可扩展性 9

3.4系统功能分析 9

第4章 系统设计 13

4.1 系统设计目标 13

4.2功能结构设计 13

4.3数据库设计 16

4.3.1 数据库概念设计 16

4.3.2 数据库物理设计 19

第5章 系统实现 24

5.1管理员功能实现 24

5.1.1 宠物信息管理 24

5.1.2 宠物寄养管理 24

5.1.3 宠物领养管理 25

5.1.4 宠物领养审核管理 25

5.2 自愿者功能实现 26

5.2.1 论坛管理 26

5.2.2 宠物寄养查看 26

5.3 用户功能实现 27

5.3.1 宠物信息 27

5.3.2 宠物领养 27

5.3.3 在线论坛 28

5.3.4 宠物寄养管理 28

5.3.5 宠物领养审核管理 29

第6章 系统测试 30

6.1 测试任务 30

6.2 测试目标 30

6.3 测试方案 30

6.4 系统测试的特点 32

6.5 系统功能测试 32

6.5.1 用户登录测试 32

6.5.2 宠物查询测试 32

6.6 系统测试结果 33

结 论 34

致 谢 35

参考文献 36

第1章 绪论

1.1 选题背景

目前整个社会发展的速度,严重依赖于互联网,如果没有了互联网的存在,市场可能会一蹶不振,严重影响经济的发展水平,影响人们的生活质量。计算机的发展,不管是从硬件还是软件,都有很多技术储备,每年都有很多的技术和软件产生,纵观各个领域,无一不用互联网软件,办公用的还是电脑居多,但是人手一台智能设备已经变成了现在人们的生活日常,哪怕的普通的老百姓都成了上知天文下知地理的所在,这些都依赖于互联网技术。互联网技术在信息的传播方面是巨大的,而信息的处理就变成了各种产业管理者和维护者的重任。人们已经习惯了互联网的存在,所以经常操作一些互联网产品变成了日常,所以开发一个流浪动物管理系统,让人们使用是没有一点问题的,并且在这个过程中不仅能够规范流浪动物信息管理的使用流程还有信息处理流程,也能让整个信息的传播处理,都存在一种可控制的范围,最重要的是,计算机在流浪动物信息管理方面可以给管理者提供更好的帮助。

1.2 选题意义

当开发软件变成了一个潮流之后,会发现不管任何行业都能开发适合自己的软件,不管是内部员工管理,还是财务管理,甚至业务管理都可以数据化,并且可以对这些数据集中处理,进而根据数据处理结果就自然而然的提高了管理水平,最重要的是,开发一个软件投入使用,开发过程其实就是梳理行业痛点的过程,就是让软件来弥补行业的管理漏洞,不断的优化事物的处理流程。流浪动物管理系统就是一款专门开发的软件,通过Web技术,让使用者可以在任何一台智能设备上面通过浏览器进行操作使用,对数据的处理不在局限于地域距离,只要软件开发到位,使用起来方便,达到预期目的,会发现有软件和没有软件的区别是很大的,有了这款软件之后,会发现数据的存储安全方面,比起之前的满屋寻找记录的优势是多么的巨大。

1.3 研究内容

本文将从分析,设计,实现,测试等角度来阐述本系统。绪论:介绍本系统开发的背景,意义;开发环境:介绍本系统的配置环境以及开发技术;系统分析:介绍本系统的功能,性能以及可行性;系统设计:介绍本系统的数据库的设计以及功能结构的设计;系统实现:介绍本系统的实现界面以及实现的功能;系统测试:介绍本系统的功能测试以及测试结果。

第2章 开发环境

2.1 Java语言

Java语言是目前最流行的语言之一,不仅可以做桌面窗口形式的程序,还可以做浏览器访问的程序,目前最流行的就是用Java语言作为基础,做各种程序的后台处理。Java语言是操作变量的语言,而变量则是Java对于数据存在形式的定义,变量用来操作内存,而内存则牵扯到计算机安全问题,这样Java语言反而有了免疫直接针对用Java语言开发出来的程序的病毒,有效的提高了Java语言开发出来程序的生存能力。Java是具有动态运行能力的一种语言,Java的类不仅仅可以用Java核心提供的基础类,还可以进行重写,这样会让Java的功能变得更加丰富,甚至可以编写一些功能模块进行封装,然后其他项目如果需要用到这些可以复用的功能,完全可以直接引用,然后在用得地方调用方法即可。Java是一种开源的语言,可以对Java里面的各种类以及引用方法进行追溯,甚至可以对已经编译过的语言进行反编译,这样不仅仅提高学习的效率,并且可以学习其他从业者提供的优雅的编程方式。Java语言发展到现在,已经在各个行业扎根,学习Java可以从事的行业很多,并且学习的方法很多,网上有很多免费的教程,甚至有些高深的知识也只需要付费就可以进行学习,而不是像Java语言之初,每一个编程人员都需要用记事本进行手动编码,现在有很多集成开发环境帮助Java从业者。选择Java语言进行编程,是一种很好的解决问题的方式。

2.2 MYSQL数据库

一般学习程序开发的人员如果学习数据库的话,肯定是要学习MySQL数据库,MySQL数据库通过这么多年的不断发展,社区版本都是免费的,最重要的是小巧,占用电脑空间比较小,让更多的开发人员可以不需要更换更高级的电脑就可以进行学习。学习只是一个方面,最重要的是MySQL市场占有率是世界第一,基本上十个公司就有七八个用得MySQL数据库。MySQL的优点不只是这么粗浅,MySQL首先是开源的,只要不是商用就不用花钱,并且大型的数据也是支持的,只要是市面上存在的操作系统,MySQL都可以有对应的版本可供使用。因为MySQL是开源的,如果有对MySQL有特殊需求的甚至可以自己修改源码,达到符合自己使用的目的。MySQL数据库好处多多,最重要的一点符合本设计的开发需求,可以说本设计只用到了MySQL的一些基础功能,而这点基础功能就完全够用。MySQL学习的教程网上很多,许多关于入门的教程就完全可以达到普通程序员的开发水平,只需要把基本的知识学会了,到公司里面也只是根据不同的业务逻辑进行不同的语句编写而已。

2.3 Eclipse开发工具

Eclipse是开源免费的,仅仅这样理解也许会给人一种免费没有好货的感觉,其实不是这样的。Eclipse是一个开发源代码的开发工具,这样会很安全,因为是开源的,如果对使用者的电脑有害,肯定能找到原因所在,所以这一点安全方面是不用担心的。Eclipse是不用安装的,这样就不用对系统盘增加压力,可以放到任何一个盘里,使用的时候打开,不用的时候关闭,不会偷偷的在后台运行,不需要增加注册表负担,启动还必须依靠Java的JDK才可以启动,有效的避免了一些病毒入侵,如果病毒入侵改变了源代码,就不能运行了,只能重新删除文件夹重新解压一份新的Eclipse即可,用起来很安全。Eclipse发展到现在,已经可以支持其他的开发语言了,家族越来越强大,功能越来越多,最重要的还是没有收费,这一点就让新手开发者省下很多的资金用来培养自己的学习,而不用花钱买了开发软件才发现自己不适合进行开发,永远免费的策略可以永远让人有想使用的机会。最重要的是Eclipse并不是免费功能就不够用,恰恰相反,不仅功能强大,用起来完全符合本设计的开发需求,所以选用了Eclipse作为开发工具。

2.4 Spring Boot框架

Spring Boot适合初学者,也适合从以前的Spring框架开发者学习,学习起来是很方便的,不管是纯英文教程还是中文教程,国内外都有很多学习的资料。Spring Boot可以运行所有的Spring项目,进行无缝切换。内置了Servlet 容器,不需要对代码进行打包变成WAR就可以运行。自带应用监控,运行的时候可以实时的对正在运行的项目进行监控,可以随时发现问题所在并且能定位发生的问题,可以让程序员及时的修改问题。

2.5 B/S架构

B/S架构的说法是区别于C/S架构,如果单纯的说B/S架构,仅仅可以说是通过浏览器来访问服务器而已。在当今社会,为什么还是有很多B/S架构的存在,是因为一些业务信息不得不采用B/S架构。首先第一条,B/S架构设计的应用对于程序开发来讲是非常的方便的,对于用户满意度来讲,客户端电脑不需要太高的配置,只需要可以上网的浏览器就行,如果用户量庞大,那么使用者在电脑性能资金这方面就可以节省出大笔的金钱,B/S架构是一种为使用者节约金钱的一种开发方式。B/S架构因为把数据都存在服务端,那么安全性就有保障,用户不管在任何一个地方,只要能上网就能访问自己需要的信息和资源。在操作性上面来讲,用户习惯是一个问题,用户已经习惯了打开浏览器访问各种各样的信息,如果需要安装过多的软件进行访问特定的信息会让使用用户感觉到被强迫的感觉,会产生不信任感。综合考虑,依然采用B/S架构形式的设计方式是符合本设计的需求的。

第3章 系统分析

这个阶段,需要依靠大量的资料作为研究本系统的基础数据,除了分析系统开发可行问题之外,还要再通过调查本系统针对的目标人群的需求来确定本系统功能,并在本系统的性能上做出进一步分析。

3.1可行性分析

在项目进行开发之前,必须要有可行性分析报告,分别从技术角度,经济角度,操作角度上面进行分析,经过可行性分析是实现科学开发的必要步骤。

3.1.1技术可行性

从技术的角度出发,目前采用开发的技术完全能满足系统开发需要。目前市场上有现成的软件开发工具和开发技术,这些可以保证系统开发的顺利进展。

3.1.2操作可行性

流浪动物管理系统是根据用户经常使用的页面操作流程来进行设计的,并且页面保证统一,从视觉角度和操作角度上都能达到使用要求。

3.1.3经济可行性

在本次开发过程中,因为需要通过电脑来进行配置开发的环境,通过对技术的分析,发现目前正在使用的电脑是可以满足开发需要的,并不需要太多的金钱对电脑进行更换。所以,从经济角度上分析,可以满足开发要求。

从以上三个角度来进行分析论证,证明了流浪动物管理系统是可以正常开发并且使用的。

3.2系统流程分析

从系统的角色上分析,每个用户角色都代表了不同的账号身份,而不同的身份则代表着功能的异同,所以首先要区分用户的角色身份问题。设置用户登录需要输入账号和密码,输入的信息必须与数据库里已经存在的账号密码信息进行比对,只有正确的账号和密码才可以进行下一步的页面显示操作,如果不正确的账号密码,则拒绝用户登录,也代表着用户没有继续访问的权限,系统是无法继续提供服务的。

图3-1 操作流程图

任何一个系统都有一个操作流程,本设计里面,对于任何数据的存储都有一定的合法要求,只有符合设定要求的数据才可以进行存储。具体步骤参考下图。

图3-2 添加信息流程图

数据的存储并不是一成不变的,当需要对已经存在的数据进行改变的时候,同样也遵循着操作流程,想更改数据首先要确定更改之前的数据是什么,然后输入新的数据是否合法,都要符合流程,只有合法数据才可以被更新到数据库里存储。具体步骤参考下图。

图3-3 修改信息流程图

删除操作,在数据存储方面是一件比较慎重的事件,很有可能会产生失误操作,所以一般删除操作的时候都要提示是否删除,确定删除才会更新数据库内容,实现删除目的。具体步骤参考下图。

图3-4 删除信息流程图

3.3系统性能分析

系统在使用过程中,用户会享受到系统带来的便利。那么如何保持在长时间的使用过程中,不出现乱七八糟的问题,让使用系统变成一种操作上的享受,使用上的便捷,这就是需要考虑的问题。以下主要从系统的性能分析上面进行描述,从数据完整以及数据安全,包括系统的可扩展等方面进行介绍。

3.3.1系统安全性

注册用户与游客用户的区别就在于是否有账号,如果有账号,那么就有相关的注册用户权限,有账号就有密码,密码是保证账号安全性的前提,游客只能浏览一些公共性信息,如果需要用户登录才能观看的信息,那么也需要使用账号登录的。对于系统安全性上面,主要考虑角色的密码加密问题,这样可以防止有效的密码数据拦截后的破解工作。一般密码如果有安全性要求的话,是可以考虑加密存储。密码的加密存储大致有两种设计方法,一种是密码在前台提交后就用Java Script进行MD5加密,然后直接提交密文,这样的好处是密文传输的安全性,另一种是提交密码后在后台处理的过程中对密码进行加密或者解密,这样会增加后台的处理负担。一般都居中考虑,如果登录的话会把密码在后台进行加密与数据库密码进行对比。目前常用的加密方式是MD5加密方式。

3.3.2数据完整性

系统进行开发的最重要的目的就是数据的处理,计算机有其擅长数据的存储以及处理工作,所以数据的完整性是必须保证的,不然系统的存在是没有必要的。数据不管是设计还是存储,都必须完整,从数据的输入就从各个方面保证数据的合法性,违规数据不能直接提交的。数据处理逻辑也会保证数据的加工正常,进而进行数据存储,也会保证数据设计的合理,这些都是有数据设定要求的。目前对数据的存储采用的关系型数据库,关系型数据库有多年的历史,功能强大,迁移备份以及无人值守都可以进行自动备份的。

3.3.3系统可扩展性

系统是有必要存在扩展性的。在设计之初就要考虑可能存在的业务,所以对系统的设计就要模块化设计,这样需要进行扩展的时候,只要在对应模块进行增加,对应逻辑进行调试即可。系统可扩展性的提升会让系统增加不必要的工作量,让程序设计更加符合规范。

3.4系统功能分析

本系统在功能分析上,主要是根据目标用户群的角度进行分析,为了便于展示分析结果,这里就使用用例图进行功能展示。

管理员用例图的绘制结果见图3-5。管理员登录进入本系统操作的功能包括增删改查宠物信息,宠物领养信息,审核宠物寄养信息以及用户领养宠物的信息,管理公告,用户等信息。

图3-5 管理员用例图

自愿者用例图的绘制结果见图3-6。自愿者登录进入本系统操作的功能包括查看宠物信息,宠物领养以及宠物寄养信息,管理论坛,查看公告等。

图3-6 自愿者用例图

用户用例图的绘制结果见图3-7。用户登录进入本系统操作的功能包括领养可认领的宠物,发布宠物留言信息,通过论坛模块发布交流信息,发布宠物寄养信息,查看宠物寄养的审核结果信息,以及申请领养宠物的审核结果信息。

图3-7 用户用例图

第4章 系统设计

到目前为止,市面上已经存在了各种各样的软件系统,从系统的分类着手,主要应用范围倾向于办公系统,娱乐系统,社交系统,然后下面有很多比较细的分支系统。很多系统已经经过了市场的考验,针对不同的业务场景已经开始出现了业务模块化,程序员减代码化的各种设计方式。到目前为止,当要设计一个系统的时候,首先根据业务模型基本上都可以在网上找到类似的模板,然后根据具体业务具体分析,进而实现具体功能,大众的就是最好的,毕竟符合市场主流的就代表着肯定符合常规操作流程。

4.1 系统设计目标

系统设计的时候,就要制定需要达成的目标。在功能上,要严格符合设计需求,不仅仅要减少操作步骤,也要符合预期。因此,在规范化的今天设计出符合项目要求的系统,必须要达到下面设定的目标。

第一个目标就是友好性:友好性主要体现在用户使用过程中,不会对系统的操作产生一种不满,减少操作者的愤怒,这是相当重要的一个体现。前几年好多软件在这个友好性方面失去了市场,就是因为在友好性这方面没有做好。国内互联网发展初期,软件设计的目的就是能用就行,至于友好性的对比,那是不存在的,因为硬件效率比较低,计算机属于新兴行业,所以大哥不说二哥,都是不友好的。随着计算机硬件的提升,很多开发者开始注意到要牺牲一定的计算器性能来提升友好性,因为计算机发展到现在,第一印象很重要,一个软件设计的不好看,会让大部分人对其产生质疑,所以要在友好性上面下很大功夫进行雕琢。

第二个目标就是安全性:安全性其实贯穿着整个软件行业的发展史,计算机就是为解决人类重复性计算以及数据存储的目的而诞生的,很多行业都需要计算机来进行计算,减少出错几率,并且把数据保留,可以实时查询,所以数据的安全性也很重要。

只要保证数据安全性的前提,开发出符合功能需求的友好界面操作,那么就达到了系统设计的目的。

4.2功能结构设计

本系统主要是基于数据的增加,修改,删除等操作,使用者能够通过提前设定的登录功能进入指定的操作区,这里对使用者设计的功能进行结构展示。

管理员功能结构图的绘制结果见图4-1。管理员登录进入本系统操作的功能包括增删改查宠物信息,宠物领养信息,审核宠物寄养信息以及用户领养宠物的信息,管理公告,用户等信息。

图4-1 管理员功能结构图

自愿者功能结构图的绘制结果见图4-2。自愿者登录进入本系统操作的功能包括查看宠物信息,宠物领养以及宠物寄养信息,管理论坛,查看公告等。

图4-2 自愿者功能结构图

用户功能结构图的绘制结果见图4-3。用户登录进入本系统操作的功能包括领养可认领的宠物,发布宠物留言信息,通过论坛模块发布交流信息,发布宠物寄养信息,查看宠物寄养的审核结果信息,以及申请领养宠物的审核结果信息。

图4-3 用户功能结构图

4.3数据库设计

如果说设计系统的功能很重要,那么设计该系统的数据库将更重要,毕竟系统服务于用户,数据库服务于系统,用户访问系统,操作系统的所有数据都要依赖于数据库,而系统的数据几乎都是保存在数据库中的,所以,一个高质量的程序,必然拥有一个安全,快速响应,稳定可靠的数据库。本系统的MySQL数据库可以通过SQL语言来实现对系统数据的管理,包括在指定表中插入数据,在规定的表中更改数据,以及删除指定表中的部分数据等操作。一般来说,像MySQL这样的关系型数据库,对于结构化查询语言SQL都能很好的进行支持。在编程中,通过合理运用SQL语言便能操作数据库的各种数据,真是非常方便快捷!

4.3.1 数据库概念设计

本节内容主要是使用图形的方式来描述数据库中的实体,每个实体的相应属性,还有实体之间的相互联系,常用的Visio工具即可满足绘制E-R图的需求。E-R图是由矩形,椭圆,菱形等图形元素组成,矩形框中主要写实体的名称,椭圆框中主要是登记该实体的属性,而菱形框中主要是登记实体之间的联系名称,最后使用实心线段把这些图形元素进行连接,即可完成E-R图的绘制。当初步得到一个E-R图时,需要进行检查,使用分析的方式去修改,重构E-R图,以达到消除数据冗余,或者是消除实体间联系冗余的目的。从而保持数据库的完整性,以及降低数据库维护上面的难度。

(1)使用Visio这样的常用的实体属性图绘制工具来绘制用户实体属性图,绘制结果见图4-3。

图4-3 用户实体属性图

(2)使用Visio这样的常用的实体属性图绘制工具来绘制宠物寄养实体属性图,绘制结果见图4-4。

图4-4 宠物寄养实体属性图

(3)使用Visio这样的常用的实体属性图绘制工具来绘制宠物领养实体属性图,绘制结果见图4-5。

图4-5 宠物领养实体属性图

(4)使用Visio这样的常用的实体属性图绘制工具来绘制管理员实体属性图,绘制结果见图4-6。

图4-6 管理员实体属性图

(5)绘制的上述实体间存在的联系见图4-7。

图4-7 实体间关系E-R图

4.3.2 数据库物理设计

本系统数据在数据库中都是通过各种二维表进行记录保存的,在数据库中设计这样的二维表也是比较重要的内容,因为它影响着数据的存储效率。在设计二维表也就是关系模型之前,一些有关二维表方面的常用概念需要进行充分了解。

关系:一张具体的数据表即表示关系,关系的名称与数据表的名称保持一致;

元组:数据表中,每行显示的数据即代表元组;

属性:数据表中,每列表示的数据即代表属性;

关键字:数据表中,为了与其他数据表进行区分,则需要在每张表中进行主键的设置;

通过上节内容可以知晓数据库中的各个实体,并通过一定方式把这些实体表示的内容进行数据表的转换,通常来说,每个实体都会对应一张具体的数据表,在本系统指定的数据库中创建命名好的数据库,才可以对数据表进行创建与设计。流浪动物管理系统数据表设计结果展示如下:

表4-1 宠物信息表

字段注释类型
id (主键)主键int(11)
chongwu_name宠物名称varchar(200)
chongwu_photo宠物照片varchar(200)
chongwu_types宠物类型int(11)
chongwu_content宠物介绍text
create_time创建时间timestamp

表4-2 宠物寄养表

字段注释类型
id (主键)主键int(11)
yonghu_id用户int(11)
chongwu_name宠物名称varchar(200)
chongwu_photo宠物照片varchar(200)
chongwu_types宠物类型int(11)
jiyang_riqi_time寄养日期date
jiyang_tianshu寄养天数int(11)
jiyangdizhi寄养地址varchar(200)
lianxiren_name联系人姓名varchar(200)
lianxiren_phone联系人手机号varchar(200)
chongwujiyang_content寄养详情text
chongwujiyang_yesno_types审核状态int(11)
chongwujiyang_yesno_text审核意见text
insert_time添加时间timestamp
create_time创建时间timestamp

表4-3 宠物领养表

字段注释类型
id (主键)主键int(11)
chongwulingyang_name标题varchar(200)
chongwu_types宠物类型int(11)
chongwulingyang_photo宠物图片varchar(200)
jieshu_types是否被认领int(11)
chongwulingyang_content宠物详情text
create_time创建时间timestamp

表4-4 宠物领养审核表

字段注释类型
id (主键)主键int(11)
chongwulingyang_id宠物领养int(11)
yonghu_id领养用户int(11)
chongwurenlingshenhe_text认领凭据text
chongwulingyangshenhe_yesno_types申请状态int(11)
chongwulingyangshenhe_yesno_text申请结果text
create_time创建时间timestamp

表4-5 宠物收藏表

字段注释类型
id (主键)主键int(11)
chongwu_id宠物int(11)
yonghu_id用户int(11)
chongwu_collection_types类型int(11)
insert_time收藏时间timestamp
create_time创建时间timestamp

表4-6 宠物留言表

字段注释类型
id (主键)主键int(11)
chongwu_id宠物int(11)
yonghu_id用户int(11)
chongwu_liuyan_text留言内容text
insert_time留言时间timestamp
reply_text回复内容text
update_time回复时间timestamp
create_time创建时间timestamp

表4-7 论坛表

字段注释类型
id (主键)主键int(11)
forum_name帖子标题varchar(200)
yonghu_id用户int(11)
ziyuanzhe_id自愿者int(11)
users_id管理员int(11)
forum_content发布内容text
super_ids父idint(11)
forum_state_types帖子状态int(11)
insert_time发帖时间timestamp
update_time修改时间timestamp
create_time创建时间timestamp

表4-8 公告信息表

字段注释类型
id (主键)主键int(11)
news_name公告标题varchar(200)
news_types公告类型int(11)
news_photo公告图片varchar(200)
insert_time添加时间timestamp
news_content公告详情text
create_time创建时间timestamp

表4-9 管理员表

字段注释类型
id (主键)主键bigint(20)
username用户名varchar(100)
password密码varchar(100)
role角色varchar(100)
addtime新增时间timestamp

表4-10 用户表

字段注释类型
id (主键)主键int(11)
username账户varchar(200)
password密码varchar(200)
yonghu_name用户姓名varchar(200)
yonghu_photo头像varchar(200)
yonghu_phone手机号varchar(200)
yonghu_email电子邮箱varchar(200)
sex_types性别int(11)
yonghu_delete假删int(11)
create_time创建时间timestamp

表4-11 自愿者表

字段注释类型
id (主键)主键int(11)
username账户varchar(200)
password密码varchar(200)
ziyuanzhe_name自愿者姓名varchar(200)
ziyuanzhe_photo头像varchar(200)
ziyuanzhe_phone手机号varchar(200)
ziyuanzhe_email电子邮箱varchar(200)
sex_types性别int(11)
ziyuanzhe_delete假删int(11)
create_time创建时间timestamp

第5章 系统实现

这里主要是对系统设计实现进行描述,通过系统的设计和数据库的设计,通过编码后变成了可以进行操作的界面,让一切想法变成了结果,通过文字和具体程序操作界面的截图之间的配合,可以把功能更直观的描述起来。

5.1管理员功能实现

5.1.1 宠物信息管理

管理员进入如图5-1所示的宠物信息管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成宠物信息的修改,删除操作,宠物信息包括宠物照片,宠物类型等信息。管理员在宠物信息管理界面点击新增按钮可以登记宠物信息。

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

5.1.2 宠物寄养管理

管理员进入如图5-2所示的宠物寄养管理界面之后,管理员点击信息显示栏中最右侧的详情,删除,审核按钮可依次完成宠物寄养信息的详情查看,删除,审核操作。宠物寄养信息包括寄养日期,联系人手机号,寄养天数等信息。

图5-2 宠物寄养管理界面

5.1.3 宠物领养管理

管理员进入如图5-3所示的宠物领养管理界面之后,管理员点击信息显示栏中最右侧的修改,删除按钮可依次完成宠物领养信息的修改,删除操作。宠物领养信息包括宠物图片,是否被认领等信息。

图5-3 宠物领养管理界面

5.1.4 宠物领养审核管理

管理员进入如图5-4所示的宠物领养审核管理界面之后,管理员点击信息显示栏中最右侧的详情,删除,审核按钮可依次完成宠物领养信息的详情查看,删除,审核操作。宠物领养信息包括认领凭据,申请结果等信息。

图5-4 宠物领养审核管理界面

5.2 自愿者功能实现

5.2.1 论坛管理

自愿者进入如图5-5所示的论坛管理界面之后,自愿者点击信息显示栏中最右侧的详情,查看论坛回复按钮可依次完成论坛帖子的详情查看,查看论坛帖子的回复等操作。自愿者在论坛管理界面点击新增按钮也能发布论坛帖子。

图5-5 论坛管理界面

5.2.2 宠物寄养查看

自愿者进入如图5-6所示的宠物寄养查看界面之后,自愿者点击信息显示栏中最右侧的详情按钮可完成宠物寄养信息的详情查看操作,自愿者也能查询宠物寄养信息,查询条件包括根据宠物名称或宠物类型等字段进行查询。

图5-6 宠物寄养查看界面

5.3 用户功能实现

5.3.1 宠物信息

用户进入如图5-7所示的宠物信息界面之后,用户可以查看宠物信息界面右侧区域展示的系统推荐的宠物信息,可以在宠物信息界面的下方留言区域发布宠物留言。

图5-7 宠物信息界面

5.3.2 宠物领养

用户进入如图5-8所示的宠物领养界面之后,用户可以查看宠物领养界面右侧区域展示的系统推荐的宠物领养信息,用户可以领养可认领状态的宠物。

图5-8 宠物领养界面

5.3.3 在线论坛

用户进入如图5-9所示的在线论坛界面之后,用户可以查看在线论坛界面展示的任意一条论坛帖子内容,并可以在完成论坛帖子的内容查看之后,发布个人评论。

图5-9 在线论坛界面

5.3.4 宠物寄养管理

用户进入如图5-10所示的宠物寄养管理界面之后,用户点击信息显示栏中最右侧的详情,删除按钮可依次完成宠物寄养信息的详情查看,删除操作。用户在宠物寄养管理界面点击新增按钮即可发布宠物寄养信息。

图5-10 宠物寄养管理界面

5.3.5 宠物领养审核管理

用户进入如图5-11所示的宠物领养审核管理界面之后,用户点击信息显示栏中最右侧的详情,删除按钮可依次完成宠物领养审核信息的详情查看,删除操作。用户可以查看宠物领养审核信息的申请状态以及申请结果信息。

图5-11 宠物领养审核管理界面

第6章 系统测试

在整个系统完成之后,就需要进入系统测试环节。在系统测试环节的主要任务就是用不同的测试方法,使用不同的测试用例,来引出系统出现的问题,只要测试出问题,才可以让程序员有目的性的对问题进行解决,最终让问题越来越少,才能让用户验收程序。

6.1 测试任务

测试不是说随便测试的,在测试的角度要制定相关的测试任务,测试任务是根据系统的需求角度来进行任务的设置,首先要符合常规的测试流程,然后要符合项目的实际情况,两者相结合才能形成科学的测试任务。在测试任务范围内,能测试出问题才是好的测试,毕竟程序开发不可能不出现问题,测试出的问题越多,代表程序修复的越好,程序修复的越好,程序上线可能会出现的程序相关问题就会越少,这个作用是相互的。

6.2 测试目标

测试的目标就是程序测试环节发现更多的问题,测试就是针对性的,在程序员开发过程中可能忽略到的问题,往往都是测试过程中需要注重的环节。虽然软件开发的技术算是当前最流行也最成熟的一些技术,但是毕竟开发是人为开发的,只要是人开发的就会产生缺陷。随着市场竞争越来越激烈,好多公司都把测试部门给砍掉了,让程序开发人员写完程序自己测试,造成的后果就是程序上线没多久就会出现问题,所以现在有些小型的开发公司都不招测试人员,但是把测试的工作给外包到专门的测试公司,这说明了软件开发行业是离不开专业的测试环节的。

6.3 测试方案

测试方案主要分两个方向,一个是黑盒测试,一个是白盒测试,这两个测试方向是目前最通用的测试方案。测试过程中,要对各个模块实现有个预期,在符合用户的要求上,要对一些字段还有逻辑进行测试,需要不断输入各种各样类型的数据来进行测试,看是否会有内存漏出,指针异常,或者是逻辑问题。

白盒测试:白盒主要是进行逻辑测试的,测试是属于透明形式的测试。白盒测试要求对各种逻辑以及各种判断,每种判断都要进行一次测试,判断实现效果。白盒测试可以说就是把代码能实现的不能实现的语句都进行判断,只要进行过白盒测试,甚至能定位到哪些判断有问题,或者说某个方法就有问题,只要白盒测试过关的,那说明代码功能基本上没有什么大的问题,符合功能开发的很不错。

黑盒测试:黑盒是不管代码是怎么编写的,只测试功能接口问题。黑盒测试一般不让用户测试的,因为主要围绕着安全性或者恢复性测试,包括负载均衡方面,这些需要大量的数据进行冲击,用户是没有这方面的技术的。所以一般需要负责专业的测试人员进行测试,专业的测试人员经过专门的测试方面培训,懂得黑盒测试的测试要领,所以先经过白盒测试功能问题,然后再经过黑盒测试进行运行问题,基本上就满足了测试任务。

本章节主要就是对系统的测试来设置对应的测试操作,从模块功能测试到最后的验收测试。

模块测试:在模块测试一般都是程序员开发过程中,有的自己写属于自己模块的测试用例,一般以达到效果为主,每个模块都是一个单元,这样来区分单元测试的过程,如果不进行单元测试会出现大问题的,会出现各个环节不知道数据的执行流程,方法跳转,以及更重要的异常抛出,这些可能都会忽略,所以要进行模块测试。

模块测试一般有几个需要注意:

第一个问题:路径问题,路径是绝对路径还是相对路径,因为程序代码很多,所以这些肯定要进行测试的,不然会出现异常。

第二个问题:接口问题。接口的命名方式,会不会与技术自带的接口混淆,会不会接口重复,这些都是需要测试的。

第三个问题:数据结构。数据库的数据结构在代码里,是否编写过程中达到了预期,有些地方该是包装类型的还是数据类型的,这些都要测试。

第四个问题:异常处理。每个环节可能会出现的问题,都要定义异常抛出,并且尽量写好异常处理原因,只要抛出指定异常信息,才会达到测试目的。

第五个问题:边界问题。边界问题一般指的的数据大小以及正负数的问题,这些该测试还要测试的,不测试不符合操作流程。

总而言之,模块测试是测试的第一个环节,是不可少的,也是出现问题最多的领域。

集成测试:模块测试完毕才可以集成测试,集成测试主要是对各个模块之间的逻辑进行测试,只要是相关联的模块,都要测试一遍,需要找到模块关联是否能达到正常开发预期。

集成测试主要采用渐增式测试,好处有以下几点:

第一点:渐进式可以更彻底的对逻辑所有功能进行测试,是很彻底的。

第二点:渐进式相当节约时间,节约时间就是节约成本。

第三点:可以更快速的定位错误位置,有助于问题反馈。

用渐进式测试软件功能,用到的混合法。混合法是有顺序的,自上而下测试和自下而上测试,对程序的上下层混合测试,就是测试里面的集成测试方法。

验收测试:验收一般是甲方派人来负责程序的验收测试,派来的人员可能计算机水平层次不齐,也更适合对程序问题提出异议,因为计算机开发的哪怕在行业内最厉害的,也不一定能满足甲方的需求,毕竟开发者认为合理的必须有局外人来进行判断,而甲方派人测试则是代表着对程序的直观认知,前面的所有测试,只是验收测试前的测试,验收测试决定着程序是最终问题。

6.4 系统测试的特点

系统测试,是有一定的特点,并且根据这些特定也有相关的描述信息,下面就是对这些测试的特点来进行阐述:

第一点:完整的测试,就是在用户的角度上,通过不同的权限,来测试不同的模块,最终判断程序的优劣性。

第二点:测试主要从程序的设计架构方面来进行测试,也需要从业务操作流程方面测试。

第三点:测试不是想一出是一出,要有严谨的测试步骤,测试目的,只有科学的测试方法才能产生科学的测试结果,能很好的对出错几率进行降低。

总的来说,系统测试不仅仅是让功能符合,还要在突发情况下有相应的配套表现,只要考虑的多,做的多,系统运行过程中才能更加平稳。

6.5 系统功能测试

本章节主要是测试部分,选用一些常规操作进行测试,看测试效果是否达到程序设计预期。

6.5.1 用户登录测试

一般都要进行登录测试,登录测试是所有功能里面最基础也是重要的部分,只有合法的登录才可以进行对应权限的操作,不合法的登录肯定是不让用户进行下一步操作的。具体步骤参考下图。

表6-1 用户登录测试表

测试功能操作流程测试的数据结果是否符合要求
用户登录用户填写账号,填写密码,数据填写完成之后点击登录按钮账号和密码保证一个出错一个正确不能登录
账号和密码都正确登录成功

6.5.2 宠物查询测试

查询功能是一个常用的功能,通过条件查询可以获得自己所需的内容,条件输入也需要输入正确的已经存在的条件才可以有获取结果,对不同的获取条件返回不同的结果集。

表6-2 宠物查询功能测试表

测试功能操作流程测试的数据结果是否符合要求
宠物查询功能在查询界面的数据输入框中登记关键词然后搜索宠物名称有误或为空不能查询
宠物名称信息正确查询成功

6.6 系统测试结果

经过整体性测试,流浪动物管理系统测试无误,符合设计预期,同时也符合操作性设定以及易维护性设定,并且在数据的安全性保障上也有很好的体现。流浪动物管理系统已经可以使用。

结 论

开发与实现流浪动物管理系统已经花费了半年时间,在这期间,作为学生的我收获了很多知识。因为独自开发流浪动物管理系统,仅仅依靠在校期间学到的软件开发方面的知识显然是不行的,还需要通过其他的学习渠道进行程序开发类知识的拓展,比如去图书馆借阅书籍,比如数据库设计的书籍,Java编程语言方面的书籍,软件工程方面的书籍等,还可以通过上网查看编程方面的博客,这些博客呈现的知识是各个软件开发者在工作生涯中总结的编程知识,都是编程知识中的精华,可以帮助学习开发的人员在编程中避免很多开发误区,还可以节省开发的时间。另外,也可以通过数字图书馆下载相似系统方面的参考文献进行程序开发类的知识学习。总而言之,当一个人完成流浪动物管理系统的设计与开发后,不仅自身的专业知识水平得到了提升,还提高了自己将理论转为实际操作的能力,以及面对问题通过知识学习进而解决问题的能力。

流浪动物管理系统的设计实现,让我有以下几点体会:

(1)在确定要研究的系统之后,对于系统的研究内容也就是系统的功能的分析与设计是比较重要的部分,这方面主要是站在使用者的角度进行考虑,可以参考相似系统的功能进行设计,也能通过对目标用户群进行问卷调查等方式进行功能需求的确定,只有确定了系统需要的功能之后,才可以开展系统的配套数据库的设计,系统的编码等后续工作。

(2)对于系统的代码编写是一项比较复杂的工作,这也是系统的后端部分,用户操作系统看到的只是代码运行之后呈现出来的操作界面前端部分,编写的代码与运行实现的界面是相对应的,所以编写代码时,需要一边编写,一边查看代码的运行效果,这里就需要编写代码的人员注意一些编写细节,比如规范命名程序变量,注释关键代码等,这些编码习惯会帮助开发者在该系统中进行功能拓展或功能维护中提高效率。

(3)系统的功能模块在编码实现之后,也需要单独进行测试,发现问题之后能够及时进行解决,当系统的所有的功能都实现之后,再次对该系统整体进行测试,方便开发者在检验系统功能的基础上,进行系统问题的修复与完善。

由于时间比较短暂,加上开发期间我都是一边学习理论,一边进行实操,对于开发的流浪动物管理系统除了具备能够正常运行,能够提供信息管理功能,以及能够保证系统运行期间产生的数据的安全性等特点外,本系统也具备一些缺点,首先表现的就是当使用者使用系统时,在对数据进行查询或者更新时,系统响应时间比较长,增加了用户的等待时间,让用户的使用体验不够理想,其次,流浪动物管理系统的功能操作的流程设计上也存在一些不合理之处,最后,流浪动物管理系统对于权限划分,功能模块细分上也存在一些漏洞。

总的说来,在今后的时间里面,还要继续投入时间和精力去对流浪动物管理系统进行修复,让本软件拥有更强的性能,比如安全性以及可靠性。

致 谢

自从来到了这个校园之后,我认识了很多同学,还有很多老师,也结交了很多朋友,这些人们为我的大学生活增添了许多色彩。虽然毕业已经进入倒计时,但是我们互相之间还是向往常一样相处,也许是大家都很珍惜这最后的时光吧。

在大学校园经过了几年的知识学习后,目前的我不仅具备一些专业理论知识,还拥有本专业方面的实操技能,这些成长都是学校老师带给我的,所以,毕业了,看到自己的知识变得丰富起来,自己的能力也得到了成长,我是非常感谢本专业的所有老师的。

指导老师是学院分配的老师,主要是帮助我们更好的完成选择的毕业课题,并在课题撰写期间提供给学生系统制作以及文档撰写方面的指导。因此,我在制作本系统时,我的导师提供的指导包括了功能的确定,系统结构的设计,系统功能的编码,以及测试系统等方面的指导,可以说从选题到本系统制作完成,导师在每个阶段性任务期间都进行了指导,主要是针对我遇到的主要困难,提供相应的解决方案,这样才让我能够如期完成本课题。所以,能够上交设计成果,我是非常感谢导师的。

感谢本院同学还有我身边的朋友,在校期间,我们总是时不时进行交流,包括平时作业以及本次的毕业课题方面的互相探讨,还有就是每当我陷入困境时,在你们的帮助下我总能很快走出困境。所以,这些年,你们的陪伴,让我很暖心!

离开校园之后,我们将不在这个场所进行学习与生活了,尽管很不舍,但还是祝愿我的校园前景广阔!

参考文献

[1]吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.

[2]马海珠.小型宠物店管理系统的设计[J].电脑知识与技术,2019,15(36):93-94+108.

[3]彭影.优化Java数据库访问效率的策略研究[J].计算机产品与流通,2020(02):21.

[4]尹维伟.探析计算机软件Java编程特点及技术[J].电脑编程技巧与维护,2020(03):38-39+52.

[5]张金波.Java编程中常见的异常及其解决方案[J].计算机产品与流通,2019(12):29.

[6]秦超,潘猛,张鹏.处理MySQL的典型问题[J].网络安全和信息化,2018(04):70-72.

[7]王晓燕.MySQL数据库中误操作删除数据的恢复问题[J].办公自动化,2018,23(11):45+61.

[8]李瑞祥,刘伟.MYSQL数据查询技巧[J].网络安全和信息化,2019(05):70-71.

[9]王宝莹.基于eclipse的毕业设计流程系统的设计与开发[J].智库时代,2020(13):261-262.

[10]李承涛,金亚玲.基于Eclipse软件的车载应用APP的设计[J].内蒙古科技与经济,2019(15):90+96.

[11]王丹,孙晓宇,杨路斌,高胜严.基于SpringBoot的软件统计分析系统设计与实现[J].软件工程,2019,22(03):40-42.

[12]张峰.应用SpringBoot改变web应用开发模式[J].科技创新与应用,2017(23):193-194.

[13]谭少华. Java Web管理信息系统快速开发平台的设计与实现[D].电子科技大学,2018.

[14]孔璐.软件开发中数据库设计理论与实践分析[J].南方农机,2019,50(04):135.

[15]Konstantins Gusarovs. An Analysis on Java Programming Language Decompiler Capabilities[J]. Applied Computer Systems,2018,23(2).

[16]Tan Yiyu. A Hardware-oriented Object Model for Java in an Embedded Processor[J]. Microprocessors and Microsystems,2018.


http://www.kler.cn/a/273056.html

相关文章:

  • A010-基于SpringBoot的宠物健康咨询系统的设计与实现
  • 文件系统上云的挑战
  • react18中redux-promise搭配redux-thunk完美简化异步数据操作
  • HTTP 405 Method Not Allowed:解析与解决
  • Linux和,FreeRTOS 任务调度原理,r0-r15寄存器,以及移植freertos(一)
  • 信息学科平台设计与实现:Spring Boot技术详解
  • python 直方图
  • js基础语法大全(时间戳,uuid,字符串转json)
  • 大模型—概念
  • 从零开始学HCIA之SDN04
  • HTML_CSS练习:HTML注释
  • 掘根宝典之C++RTTI和类型转换运算符
  • 【通信原理笔记】【二】随机信号分析——2.4 复随机过程
  • 提升地理空间分析效率,火山引擎ByteHouse上线GIS能力
  • 基于正点原子潘多拉STM32L496开发板的简易示波器
  • 【Unity】Transform、Rigidbody、CharacterController移动
  • Linux:搭建ntp服务器
  • Python面试笔记
  • Vue.js+SpringBoot开发食品生产管理系统
  • 【GPT-SOVITS-02】GPT模块解析
  • Android APP启动优化
  • 18个惊艳的可视化大屏(第26辑):航空与运输业
  • 基于单片机的老人防丢系统设计
  • python 基础知识点(蓝桥杯python科目个人复习计划65)
  • yocto系列之针对从git仓库获取源代码编写recipe
  • 2024蓝桥杯每日一题(DFS)