摘 要
随着城市化进程的加快和社会经济的发展,流浪动物的数量不断增加,这对动物福利、公共卫生以及社区安全构成了挑战。传统的流浪动物领养管理方式由于依赖人工记录管理,导致信息不透明、管理效率低下且难以实现大规模的有效管理。为了解决这些问题,研究并设计实现一个基于Springboot框架的流浪动物领养管理系统显得尤为重要。本研究通过分析国内外相关领域的现状和发展趋势,结合云计算、大数据、物联网等新兴技术,提出了一套集成化的解决方案。
在设计上,本系统注重用户体验和操作便捷性,考虑到系统的未来扩展性和兼容性,设计时预留了API接口,方便与其他领养用户信息系统进行对接。通过引入Spring Boot框架,采用Java编程语言、MySQL数据库的模式以大大提高领养管理的效率,减少人工、财务及时间的消耗,提升沟通的效率。在这篇文章中,我们将深入探讨这个课题的目的、重点、价值,并通过这些内容,为我们的研究奠定坚实的基础。我们还将会提供一些相关的技术支持,帮助我们更好地完成这个任务。
关键词:流浪动物领养管理系统,Springboot框架,MySQL数据;Java
Abstract
With the acceleration of urbanization and socio-economic development, the number of stray animals is increasing, which poses challenges to animal welfare, public health and community safety. The traditional management method of stray animal adoption relies on manual record management, which leads to opaque information, low management efficiency and difficulty in achieving large-scale effective management. In order to solve these problems, it is particularly important to study and design a stray animal adoption management system based on Springboot framework. This study analyzes the current situation and development trend of related fields at home and abroad, and proposes a set of integrated solutions based on emerging technologies such as cloud computing, big data, and Internet of Things.
In terms of design, the system pays attention to user experience and convenience of operation, and considering the future scalability and compatibility of the system, the API interface is reserved in the design to facilitate docking with other adoptive user information systems. Through the introduction of Spring Boot framework, Java programming language, MySQL database mode to greatly improve the efficiency of adoption management, reduce labor, financial and time consumption, and improve the efficiency of communication. In this article, we will delve into the purpose, focus, and value of this topic, and through these contents, lay a solid foundation for our research. We will also provide some technical support to help us better accomplish this task.
Keywords:Stray animal adoption management system, Springboot framework, MySQL data; Java.
目 录
随着城市化进程的加快和社会经济的发展,流浪动物的数量在全球范围内呈现出增长的趋势,这不仅对动物本身的福利构成了威胁,同时也给公共卫生和社区安全带来了挑战。传统的流浪动物领养管理方式往往依赖于手工记录和非系统化的流程[1],这种方式导致信息不透明、效率低下,并且难以实现大规模的有效管理。面对这一现状,信息技术的发展为流浪动物领养管理提供了新的解决方案。通过构建一个集成化的管理系统,可以实现流浪动物信息的数字化存储与管理、领养流程的自动化以及公众参与度的提升[2]。这样的系统能够极大地简化流浪动物的登记、查找和领养流程,减少人工操作带来的错误和延误,提高工作效率的同时确保所有相关信息如动物健康状况、疫苗接种情况等公开透明,便于潜在领养者了解情况,做出合适的选择。此外,通过在线平台,公众可以更容易地参与到流浪动物的救助和领养活动中来,增加社会对于动物保护的关注度和支持力度,有效促进社会对于动物保护意识的认识和支持。有效的领养管理系统有助于更快地为流浪动物找到合适的家庭,改善它们的生活质量,同时也减少了因流浪动物造成的公共安全隐患。从长远来看,数据驱动的管理系统能够提供准确的数据支持,帮助政府和相关机构更好地制定和执行关于流浪动物管理的政策法规,推动动物福利的进步,促进社会文明程度的提升,推进人与自然和谐共生的目标。
在流浪动物领养管理领域[3],随着信息技术的发展和应用,国内外都在积极探索和实践如何利用现代技术手段来提高流浪动物的管理和领养效率。这些努力旨在通过数字化、信息化的方式来解决传统管理模式中存在的信息不透明、效率低下等问题。
在国内,虽然关于流浪动物领养管理系统的专门研究相对较少,但一些地方政府和社会组织已经开始尝试使用信息技术来改善流浪动物的管理状况。例如,部分地区已经建立了基于互联网的宠物领养平台,这些平台允许用户在线查看待领养动物的信息,并进行初步申请。此外,还有一些非政府组织(NGO)开发了小程序或APP,用于发布流浪动物的信息以及收集潜在领养者的资料,以此提高领养率和透明度。然而,这些系统往往功能较为单一,缺乏全面的管理和跟踪机制。
相比之下,国外在这一领域的探索更为深入和广泛。许多国家和地区已经建立了成熟的流浪动物管理系统[4],如美国的一些州政府与私人企业合作开发了综合性的流浪动物管理解决方案。这些系统不仅包含了基本的动物信息记录和查询功能,还集成了先进的追踪技术(如微芯片识别)、健康记录管理、行为评估工具等,以帮助潜在领养者更好地了解动物的情况[5]。此外,部分系统还引入了大数据分析和人工智能算法,通过对历史数据的学习来预测最佳匹配的领养家庭,从而提高领养成功率。
现在逐渐利用智能化的等新兴技术应用到动物领养管理领域,例如,利用云计算可以实现大规模的数据存储和处理,支持多地点、跨区域的信息共享;大数据技术有助于深入分析领养趋势和行为模式,为政策制定提供科学依据;物联网设备能够实时监控动物的位置和健康状态,增强对流浪动物的管理能力;而AI则可以通过图像识别和自然语言处理技术优化搜索体验,提升用户体验。
总之,尽管国内外在流浪动物领养管理系统方面已取得了一定进展,但仍存在较大的发展空间。特别是在系统整合性、智能化水平以及用户体验等方面还有待进一步提升。未来的研究更应着眼于如何更有效地结合先进技术,打造一个既高效又人性化的流浪动物领养管理系统,从根本上解决流浪动物问题,促进人与动物和谐共处。
本文共分为七章,章节内容安排如下:
第一章:绪论,主要介绍系统的研究目的和意义,国内外现状分析等架构。
第二章:相关技术介绍,主要介绍本系统研究所涉及用到的技术分析。
第三章:系统需求分析,章节所做的主要的工作是对系统进行了技术、经济和法律方面可行性的分析;对系统实行了总体功能的需求、用例分析。
第四章:系统的设计,主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。
第五章:对系统的实现,根据系统功能的划分,分别的对系统所需要实现的用户功能和管理员功能进行了分析和说明。
第六章:系统测试。主要对系统的部分界面进行展示并对主要功能进行测试。
第七章:总结。
Java是一种跨平台的高级编程语言[6],具有广泛应用于各个领域的优势。它拥有简单易学、可靠稳定、安全性强和良好的性能等特点。在流浪动物领养系统中,Java将作为主要的后端编程语言来实现系统的核心功能。通过使用Java,我们可以实现数据的处理、业务逻辑的编写以及与前端界面的交互。同时,Java还提供了丰富的类库和开发工具,方便开发人员进行系统设计和开发。
2.2 Spring Boot框架
Spring Boot,作为Spring生态系统中一颗璀璨的明[7]星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为开发者提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为度假管理系统的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。
2.3 HTML前端技术
HTML(超文本标记语言)是构建WEB页面的标准标记语言。它用于定义网页的结构和内容,通过标签(tag)来描述文本、图像、链接等元素。结合CSS和JavaScript,HTML可以实现丰富的用户界面和交互效果,是WEB前端开发的基础。
B/S(Browser/Server)结构[8]是一种用于WEB应用程序的架构模式,用户通过浏览器与服务器进行交互。与传统的C/S(Client/Server)架构相比,B/S结构具有更好的普适性和简便性,用户无需安装客户端软件,只需通过浏览器即可访问应用,降低了维护和升级的成本。
MySQL数据库[9],作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在流浪动物领养系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。
在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对技术、操作和经济因素的综合考量,我们可以更好地评估流浪动物领养管理系统的设计与实现的可行性,具体表现在:
Java编程语言为基础,结合Springboot、Vue等模型,数据库则使用当前最先进的MySQL数据库,这样,流浪动物领养管理系统的设计与实现就能够将其内容完整地保留下来,它能够实现对特定数据的快速更改,从而节省服务器的时间,提升用户的使用感受。这个系统的设计非常容易,所以无须进行额外的调整。它使用了Java语言、MySQL存储,并且使用了H5作为前端界面的展现。
通过采用Java和MySQL的架构,流浪动物领养管理系统的设计与实现的开发与维护费用虽然较低,但一旦正式推出,将会带来巨大的收益:能够让用户更加轻松地获取信息,同时降低运营者的负担。虽然流浪动物信息平台系统的小程序并非特别复杂,但它的制作费用相比较低,而且耗费的时间更少,因为它能够带来更高的效率,而且比起日常的维护与管理,它的收入要更高,因此,它的制作完全符合市场的需求。
这款流浪动物领养管理系统的设计与实现是一款基于浏览器和服务器的软件,它的前台页面简洁易懂,无论是系统管理员还是普通用户,只要有网络,只要打开浏览器,就可以轻松访问,而且不需要任何操作指导。由于无需任何复杂的环境配置,这个系统既简单又易于操作,因此它具有极高的实用性和可靠性。
当前,B/S架构的系统[10]提供了一种便捷的数据访问模式:只需点击一下网站,即可获取系统的信息,而且,该信息会被存储,并且会被及时地转交给服务器,从而实现快速、准确的信息交换。普通用户用例图如图3-1所示。

图3-1 普通用户用例图
志愿者用户用例图如图3-2所示。

图3-2 志愿者用户用例图
管理员用例图如图3-3所示。

图3-3 管理员用例图
本节对整个系统的功能进行描述:
一、 普通用户主要功能描述
- 用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现动物领养申请、评论收藏等,就必须有这个系统的账号,如果没有账号的话,可以注册成系统用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。
- 首页:流浪动物领养管理系统的设计与实现的首页包含了一些网站轮播图,新闻资讯、动物信息推荐等。
- 网站公告:用户点击“网站公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看公告详情。
- 新闻资讯:用户点击“新闻资讯”菜单显示所有的资讯信息,可以按照条件进行筛选或者输入关键词进行局部搜索,点击可以进入新闻资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
- 流浪动物:用户可以点击“流浪动物”查看动物详情信息,包括动物名称、动物编号、动物照片、年龄、性别、种类等信息,可以进行点赞收藏评论,对喜欢的动物点击“申请领养”的操作,然后再个人中心查看领养审核状态。
- 个人中心:普通用户点击个人中心可以查看:个人首页、领养申请、收藏及评论管理功能;在“领养申请”查看审核状态,有后台管理员审核;点击“收藏”也可以查看自己收藏信息,可以进行删除等操作。
二、 志愿者用户功能描述
- 用户注册登录:游客可以随时进入到系统中,对系统中的信息浏览,但是想要实现物资捐赠、评论收藏等,就必须有这个系统的账号,如果没有账号的话,可以注册成系统用户进行相关的操作,同时用户还可以对个人信息以及操作的信息进行管控。
- 首页:流浪动物领养管理系统的设计与实现的首页包含了一些网站轮播图,新闻资讯、动物信息推荐等。
- 网站公告:用户点击“网站公告”菜单显示管理员在后台发布的所有的通知公告信息,可以查看公告详情。
- 新闻资讯:用户点击“新闻资讯”菜单显示所有的资讯信息,可以按照条件进行筛选或者输入关键词进行局部搜索,点击可以进入新闻资讯详细展示界面,在此界面用户可以收藏、点赞和评论。
- 流浪动物:用户可以点击“流浪动物”查看动物详情信息,包括动物名称、动物编号、动物照片、年龄、性别、种类等信息,可以进行点赞收藏评论。
- 物资捐赠:志愿者可以点击“物资捐赠”详情,包括志愿者姓名、捐赠类型、捐赠时间、捐赠明细、捐赠备注等信息。
- 个人中心:普通用户点击个人中心可以查看:个人首页、物资捐赠、收藏及评论管理功能;在“物资捐赠”查看发送物资捐赠,可以捐赠物品或者金额;点击“收藏”也可以查看自己收藏信息,可以进行删除等操作。
三、 管理员角色功能描述
- 后台首页:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码直接登录进入后台首页。
- 系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、志愿者用户和普通用户。
- 流浪动物管理:管理流浪动物列表及流浪动物添加,包括动物名称、封面图片、动物图片、动物年龄、性别等信息。
- 动物种类管理:管理动物种类列表及动物种类添加,可以进行增删改查等操作。
- 领养申请管理:管理员可以查看所有领养申请列表详情并进行审核。
- 物资捐赠管理:管理员可以查看所有物资捐赠列表详情及物资捐赠添加,对志愿者的捐赠物资进行上传回复物资去向,资金去向等操作。
- 系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行增删改查的操作。
- 网站公告管理:管理员点击“通知公告”菜单可以查看到系统中的所有通知公告信息,对已经存在的通知公告,管理员可以修改,也可以添加新的通知公告或者删除通知公告。
- 资源管理:管理员点击“资源管理”菜单能够对其下子菜单新闻资讯和资讯的分类进行增删改查。
流浪动物领养管理系统的设计与实现是一个集众多技术和人才信息且长时间持续运转的系统,它储存了大量的信息,所以需要保证数据不会出现泄露、损坏等情况。只有良好的数据安全才可以保证系统对流浪动物信息平台信息的管理。
由于本系统具有流浪动物信息交流性质,涉及发布、互动交流等及时性较强的功能,所以,为了提高用户体验,需要及时反映操作的准确性以及有效性,预计需要控制系统响应时间在3s内,数据传输在50ms以内。
本系统集信息收集与管理功能于一身,除涉及大量信息数据外,还需满足所有用户访问。可以预见,这种访问通常是集中的、突发性的访问,这种访问很容易导致服务器满载、迟缓,最终崩溃。所以这要求在软件以及硬件部分均需要拥有应对短时间内大量数据吞吐的能力。在系统设计方面,我们通过减少不必要的信息提交量等方法来提高系统在特殊情况下的稳定性能。
统功能模块包括管理员模块和普通用户、志愿者用户模块,登录进去对应相应的功能。系统功能结构图如图4-1所示。

图4-1 系统功能结构图
经过分析,我们发现数据库中最重要的内容包括:普通用户、志愿者用户、和管理者之间通过预约信息、病历信息、查看公告等,这些信息构成了一个完整的数据库,并且能够提供准确的信息,从而帮助我们更好地了解情况。
数据库概念设计是指对于某个具体应用的数据模型(数据结构),进行抽象和设计,以便在后续的数据库实现阶段中进行数据库逻辑设计和物理结构设计。概念结构本身特性就是其能表现来自用户的各类需求,下面罗列一些主要E-R图模型:

图3-8 普通用户信息实体图

图3-9 流浪动物管理实体图

图3-10优惠神券实体图
系统总体ER图如图4-2所示。

图4-2 系统ER图
通过前面E-R关系图可以看到项目需要创建很多个数据表。以下是项目中的主要数据库表的关系模型:
表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 | 用户编号: |
表adoption_application (领养申请)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | adoption_application_id | int | 10 | 0 | N | Y | 领养申请ID | |
| 2 | user_account | int | 10 | 0 | Y | N | 0 | 用户账号 |
| 3 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 4 | user_phone_number | varchar | 64 | 0 | Y | N | 用户电话 | |
| 5 | animal_name | varchar | 64 | 0 | Y | N | 动物名称 | |
| 6 | animal_id | varchar | 64 | 0 | Y | N | 动物编号 | |
| 7 | application_time | datetime | 19 | 0 | Y | N | 申请时间 | |
| 8 | reason_for_adoption | text | 65535 | 0 | Y | N | 领养原因 | |
| 9 | family_conditions | text | 65535 | 0 | Y | N | 家庭条件 | |
| 10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 11 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 14 | source_table | varchar | 255 | 0 | Y | N | 来源表 | |
| 15 | source_id | int | 10 | 0 | Y | N | 来源ID | |
| 16 | source_user_id | int | 10 | 0 | Y | N | 来源用户 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | animal_species_id | int | 10 | 0 | N | Y | 动物种类ID | |
| 2 | type_name | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 文章描述 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | parent | varchar | 64 | 0 | Y | N | 父级菜单 | |
| 8 | parent_sort | int | 10 | 0 | N | N | 0 | 父级菜单排序 |
| 9 | position | varchar | 32 | 0 | Y | N | 位置: | |
| 10 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 11 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 12 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 13 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 14 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 15 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
| 16 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
| 17 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
| 18 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
| 19 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
| 20 | option | text | 65535 | 0 | Y | N | 配置: | |
| 21 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | code_token_id | int | 10 | 0 | N | Y | ||
| 2 | token | varchar | 255 | 0 | Y | N | ||
| 3 | code | varchar | 255 | 0 | Y | N | 验证码 | |
| 4 | expire_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 失效时间 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | material_donation_id | int | 10 | 0 | N | Y | 物资捐赠ID | |
| 2 | volunteer | int | 10 | 0 | Y | N | 0 | 志愿者 |
| 3 | volunteer_name | varchar | 64 | 0 | Y | N | 志愿者姓名 | |
| 4 | donation_type | varchar | 64 | 0 | Y | N | 捐赠类型 | |
| 5 | donation_time | datetime | 19 | 0 | Y | N | 捐赠时间 | |
| 6 | donation_details | text | 65535 | 0 | Y | N | 捐赠明细 | |
| 7 | donation_remarks | text | 65535 | 0 | Y | N | 捐赠备注 | |
| 8 | explanation_document | varchar | 255 | 0 | Y | N | 说明文件 | |
| 9 | capital_flow | text | 65535 | 0 | Y | N | 资金去向 | |
| 10 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
| 11 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | ordinary_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_phone_number | 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 | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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已取消 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | schedule_id | smallint | 5 | 0 | N | Y | 日程ID:[0,32767] | |
| 2 | content | varchar | 255 | 0 | Y | N | 日程内容 | |
| 3 | scheduled_time | datetime | 19 | 0 | Y | N | 计划时间 | |
| 4 | user_id | int | 10 | 0 | N | N | 用户id | |
| 5 | create_time | datetime | 19 | 0 | Y | N | 创建时间 | |
| 6 | update_time | datetime | 19 | 0 | Y | N | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | score_id | int | 10 | 0 | N | Y | 评分ID: | |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评分人: |
| 3 | nickname | varchar | 64 | 0 | Y | N | 昵称: | |
| 4 | score_num | double | 5 | 2 | N | N | 0.00 | 评分: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
| 8 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
| 9 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | stray_animals_id | int | 10 | 0 | N | Y | 流浪动物ID | |
| 2 | animal_name | varchar | 64 | 0 | Y | N | 动物名称 | |
| 3 | animal_id | varchar | 64 | 0 | Y | N | 动物编号 | |
| 4 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
| 5 | animal_photos | text | 65535 | 0 | Y | N | 动物照片 | |
| 6 | animal_age | double | 9 | 2 | Y | N | 0.00 | 动物年龄 |
| 7 | animal_gender | varchar | 64 | 0 | Y | N | 动物性别 | |
| 8 | animal_species | varchar | 64 | 0 | Y | N | 动物种类 | |
| 9 | vaccination_status | varchar | 64 | 0 | Y | N | 接种情况 | |
| 10 | sterilization_situation | varchar | 64 | 0 | Y | N | 绝育情况 | |
| 11 | animal_videos | varchar | 255 | 0 | Y | N | 动物视频 | |
| 12 | rescue_process | text | 65535 | 0 | Y | N | 救助过程 | |
| 13 | animal_details | longtext | 2147483647 | 0 | Y | N | 动物详情 | |
| 14 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 15 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 16 | collect_len | int | 10 | 0 | N | N | 0 | 收藏数 |
| 17 | comment_len | int | 10 | 0 | N | N | 0 | 评论数 |
| 18 | adoption_application_limit_times | int | 10 | 0 | N | N | 0 | 领养限制次数 |
| 19 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 文件类型 |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | int | 10 | 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 | | 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 | 创建时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | 更新时间: |
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | volunteer_users_id | int | 10 | 0 | N | Y | 志愿者用户ID | |
| 2 | volunteer_name | varchar | 64 | 0 | Y | N | 志愿者姓名 | |
| 3 | volunteer_gender | varchar | 64 | 0 | Y | N | 志愿者性别 | |
| 4 | volunteer_phone_number | 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-1所示。
图 5-1用户注册界面
注册关键代码如下:
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
当用户注册完成后就可以登录了,输入用户名+密码,通过滑动图片验证后,点击“登录”按钮进行登录。用户登录界面如图 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.selectBaseList(service.select(map, new HashMap<>()));
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.selectBaseList(service.select(map, new HashMap<>()));
}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.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));
if (groupList.size()<1){
return error(30000,"用户组不存在");
}
UserGroup userGroup = (UserGroup) groupList.get(0);
//查询用户审核状态
if (!StringUtils.isEmpty(userGroup.getSourceTable())){
String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());
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());
Duration duration = Duration.ofSeconds(7200L);
redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);
// 返回用户信息
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-3所示。
流浪动物:用户可以点击“流浪动物”查看动物详情信息,包括动物名称、动物编号、动物照片、年龄、性别、种类等信息,可以进行点赞收藏评论,对喜欢的动物点击“申请领养”的操作,然后再个人中心查看领养审核状态。界面如图 5-4所示。
个人中心:普通用户点击个人中心可以查看:个人首页、领养申请、收藏及评论管理功能;在“领养申请”查看审核状态,有后台管理员审核;点击“收藏”也可以查看自己收藏信息,可以进行删除等操作。界面所下图 5-5示。
物资捐赠:志愿者可以点击“物资捐赠”详情,包括志愿者姓名、捐赠类型、捐赠时间、捐赠明细、捐赠备注等信息。界面如图 5-6物资捐赠界面所示。
图 5-6物资捐赠界面
-
- 管理员模块的实现
- 系统用户管理界面
- 管理员模块的实现
系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、志愿者用户和普通用户。页面界面图 5-7所示。
流浪动物管理:管理流浪动物列表及流浪动物添加,包括动物名称、封面图片、动物图片、动物年龄、性别等信息。界面如图 5-11所示。
动物种类管理:管理动物种类列表及动物种类添加,可以进行增删改查等操作。界面如图 5-12所示
领养申请管理:管理员可以查看所有领养申请列表详情并进行审核。界面如图 5-13所示。
图 5-10系统管理界面
系统管理:管理员点击“系统管理”菜单可以对首页展示的轮播图进行增删改查。界面如图 5-11所示。
管理员点击“资源管理”菜单能够对其下子菜单新闻资讯和资讯的分类进行增删改查。界面如下图 5-12所示。
无论什么样的系统,测试都至关重要,因为它们可以帮助我们检查出潜藏的缺陷,从而确保它们的性能和稳定性,避免Bug的出现,并确保它们的功能和性价比达到预期的要求。为了确保系统的安全、高效、可靠,我们将采取三种不同的方法:单元、功能、及AP的检验。
系统测试包括:用户登录功能测试、通知公告查看功能测试、流浪动物信息添加、领养申请信息搜索、密码修改发布功能测试,如表6-1、6-2、6-3、6-4、6-5所示:
用户登录功能测试:
表6-1 用户登录功能测试表
| 用例名称 | 用户登录系统 |
| 目的 | 测试用户通过正确的用户名和密码可否登录功能 |
| 前提 | 未登录的情况下 |
| 测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
| 预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
| 实际结果 | 实际结果与预期结果一致 |
通知公告查看功能测试:
表6-2 通知公告查看功能测试表
| 用例名称 | 通知公告查看 |
| 目的 | 测试通知公告查看功能 |
| 前提 | 用户登录 |
| 测试流程 | 点击通知公告 |
| 预期结果 | 可以查看到所有通知公告信息 |
| 实际结果 | 实际结果与预期结果一致 |
管理者添加流浪动物信息界面测试:
表6-3 管理者添加流浪动物信息界面测试表
| 用例名称 | 添加流浪动物信息测试用例 |
| 目的 | 测试流浪动物信息添加功能 |
| 前提 | 管理者用户正常登录情况下 |
| 测试流程 | 1)管理者点击流浪动物信息,然后点击添加后并填写信息。 2)点击进行提交。 |
| 预期结果 | 提交以后,页面首页会显示新的流浪动物信息信息 |
| 实际结果 | 实际结果与预期结果一致 |
领养申请信息搜索功能测试:
表6-4领养申请信息搜索功能测试表
| 用例名称 | 领养申请信息搜索测试 |
| 目的 | 测试领养申请信息搜索功能 |
| 前提 | 无 |
| 测试流程 | 1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
| 预期结果 | 页面显示包含有搜索关键字的领养申请信息 |
| 实际结果 | 实际结果与预期结果一致 |
密码修改搜索功能测试:
表6-5 密码修改功能测试表
| 用例名称 | 密码修改测试用例 |
| 目的 | 测试管理员密码修改功能 |
| 前提 | 管理员用户正常登录情况下 |
| 测试流程 | 1)管理员密码修改并完成填写。 2)点击进行提交。 |
| 预期结果 | 使用新的密码可以登录 |
| 实际结果 | 实际结果与预期结果一致 |
系统评价是指在系统完成或改建后,根据预定的系统目标或现有成绩,从技术、经济、社会、功能等方面进行的评价或审核。本系统个人初步评价如下。
(1)系统功能评价:
根据需求分析以及测试结果来看,本系统已将达到了初期的需求目标,满足了用户对应需求。
(2)系统技术评价:
本系统设计略显繁杂,开发过程中对功能进行了一定的简化,运行时较为稳定,暂未发现安全问题。
(3)系统经济评价:
系统在低成本开发的基础上达到了设计要求。预计可以为用户节省一定的人力、物力。
在开发流浪动物领养管理系统的设计与实现之前,首先通过网上查询现有的领养系统功能、线下通过用户对领养系统需求的问卷调查的方式,了解用户对流浪动物信息平台方面有什么具体需求,对系统的研究意义以及的选题背景及意义进行研究,设计了本流浪动物领养管理系统的设计与实现具体实现的功能;确定好功能后,第二步就是开发工具的选择,在设计本流浪动物领养管理系统的设计与实现的时候,采用了现下比较流程的Java语言,采用spring boot框架,数据的存储方面采用的是开源的MYSQL,接下来就是对系统需求的分析,在文中主要通过对流浪动物领养管理系统的设计与实现进行可行性、性能、功能、用例四个方面进行分析,确定了本流浪动物领养管理系统的设计与实现的具体功能,功能确定后就是对系统的设计以及包括前后台、数据库等方面,最终完成系统的开发,对系统进行测试总结。
在开发本流浪动物领养管理系统的设计与实现的过程中我成长了很多,学习到了很多书本上没有的知识,目前系统虽然已经完成,但是还有许多地方需要改进,比如界面布局方面,代码的编写方面,都可以进一步完善,由于自己专业知识的浅薄,系统做的并不是十分完美,以后我会不断进行学习,对系统进行完善,希望有机会能够投入到学校的使用当中,给同学们提供便利。
参考文献
- 赵亚洲,杨晓冬.动物领养管理系统的设计与实现[J].无线互联科技,2022,19(18):61-65+72.
- 姜苏.基于互联网平台解决社会流浪动物问题的可行性研究[D].山东农业大学,2020.DOI:10.27277/d.cnki.gsdnu.2020.001043.
- 刘琴琴.我国流浪动物规范管理的法律研究[D].西北大学,2020.DOI:10.27405/d.cnki.gxbdu.2020.002158.王志涛.
- Mahabale D ,Bodmer R ,Pizuri O , et al.Sustainability of Hunting in Community-Based Wildlife Management in the Peruvian Amazon[J].Sustainability,2025,17(3):914-914.
- E B R .An ethicist's commentary on whether the rich should be allowed to get discounts on veterinary services for adopted animals.[J].The Canadian veterinary journal = La revue veterinaire canadienne,2012,53(7):707.
- 王鑫玮,冯锋.基于Java技术的“物联网技术”课程学习系统设计[J].物联网技术,2025,15(01):153-157.DOI:10.16667/j.issn.2095-1302.2025.01.037.
- 胡荣,羊雪玲.基于Spring Boot前后端分离Web系统的设计与实现[J].新能源与智能网联,2024,(01):88-97.
- 基于B/S模式的项目管理信息系统开发与设计[J].办公自动化,2024,29(24):84-86.
- 戴靓婕,王希.MYSQL数据库访问技术及Python运用研究[J].长江信息通信,2024,37(10):54-56.DOI:10.20153/j.issn.2096-9759.2024.10.014.
- 崔晨雨,务宇宽,戴嘉阳,等.基于B/S模式的项目可视化管理信息系统设计与实现[J].电脑知识与技术,2024,20(16):51-53.DOI:10.14004/j.cnki.ckt.2024.0855.
- 吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.
- 曾光辉,何波.混合教学模式在Java程序设计课程中的应用探索[J].科教文汇,2024,(24):79-82.DOI:10.16871/j.cnki.kjwh.2024.24.017.
- 周渠岸.流浪动物信息平台平台的设计与实现[J].电子技术,2021,50(10):70-71.
- 吕志强.基于Vue前端开发框架的管理系统设计[J].电脑知识与技术,2024,20(36):56-59.DOI:10.14004/j.cnki.ckt.2024.1900.
- 马瑾如.自媒体公益活动社会动员的话语分析[D].新疆大学,2020.DOI:10.27429/d.cnki.gxjdu.2020.001226.
- 纪好.流浪动物救助公益服务设计研究[D].武汉理工大学,2018.
- 郑沁.美国流浪动物收容制度研究[D].华东政法大学,2023.DOI:10.27150/d.cnki.ghdzc.2023.000184.
- 杨芹.宠物领养Web App的设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.006892.
- 陈丽.深化战略合作实现互惠共赢——基金会向河南金牛集团捐赠916万元物资[J].当代矿工,2024,(02):19-20.
- 于中阳.城市宠物信息化管理研究[J].产业与科技论坛,2024,23(18):228-230.
致谢
在这3个月的毕业设计过程中,指导教师的指导发挥了至关重要的作用,他们的认真负责的工作态度、谨慎的教学精神以及丰富的理论知识,为我的设计提供了强有力的支持,使得整个过程顺利进行。她的教学方式非常认真,让我印象深刻。我从她那里学到了很多知识,并在实践中不断提升。我对这位老师表示由衷的感谢。
经过对毕业设计的全面研究和开发,我的系统取得了重大突破,从需求分析到实现复杂功能,再到最终的测试和维护,使我对系统有了更加深刻的理解。此外,我还在实践中不断提升自己的技能,解决复杂问题,这是这次毕业设计最大的收获。
最终,在整个系统开发的过程中,我的同学和朋友们给予了我极大的帮助,他们的建议让我能够迅速地确定系统的商业理念。因此,我深深地感谢他们的支持。
免费领取项目源码+数据库,请关注❥点赞收藏并私信博主,谢谢~
1084

被折叠的 条评论
为什么被折叠?



