宠物救助及健康管理系统的设计与实现--毕设附源码26231

摘 要

随着社会对动物保护意识的不断提高,宠物救助及健康管理系统在宠物管理领域中逐渐得到广泛关注。本文基于SpringBoot框架设计并实现了一款宠物救助及健康管理系统,旨在为宠物救助组织、领养用户、送养用户以及管理员提供高效、便捷的信息管理平台。通过该系统,用户可以轻松地管理宠物信息、发布宠物领养申请、查看宠物健康状态、获取相关资讯等。系统采用SpringBoot作为开发框架,结合Spring Security、MyBatis等技术实现用户管理、数据持久化和安全保护,确保系统的高效、稳定与安全性。

系统的核心功能包括宠物信息管理、领养申请管理、感谢信息管理、宠物资讯发布、留言互动、公告通知等模块。管理员可通过后台管理界面进行宠物信息、用户信息、领养申请等的管理,确保平台的正常运行。领养用户可通过系统查看宠物信息、申请领养、获取宠物健康管理资讯、发布评论及留言等;送养用户则能够发布宠物信息、管理领养申请、查看感谢信息等。此外,系统还提供了宠物健康管理的功能,帮助用户跟踪宠物的健康状况,并提供相应的健康指导。通过该系统,宠物的领养、送养、救助等流程更加透明,管理更加高效,提升了宠物救助活动的社会效益。

本文的研究和实现过程中,通过对需求分析、系统设计、数据库设计、前后端实现等多个方面的详细探讨,解决了宠物救助与健康管理中遇到的实际问题,为相关领域的进一步研究提供了技术参考和应用经验。

关键词:宠物救助;用户管理;springboot技术;系统设计

Abstract

With the continuous improvement of animal protection awareness in society, pet rescue and health management systems have gradually received widespread attention in the field of pet management. This article designs and implements a pet rescue and health management system based on the SpringBoot framework, aiming to provide an efficient and convenient information management platform for pet rescue organizations, adoption users, adoption users, and administrators. Through this system, users can easily manage pet information, publish pet adoption applications, view pet health status, and obtain relevant information. The system adopts SpringBoot as the development framework, combined with technologies such as Spring Security and MyBatis to achieve user management, data persistence, and security protection, ensuring the efficiency, stability, and security of the system.

The core functions of the system include pet information management, adoption application management, thank you information management, pet information publishing, message interaction, announcement and notification modules. Administrators can manage pet information, user information, adoption applications, etc. through the backend management interface to ensure the normal operation of the platform. Adoption users can view pet information, apply for adoption, obtain pet health management information, post comments and messages through the system; Users who send their pets for adoption can post pet information, manage adoption applications, view thank-you messages, and more. In addition, the system also provides pet health management functions, helping users track the health status of pets and provide corresponding health guidance. Through this system, the adoption, adoption, and rescue processes of pets are more transparent, management is more efficient, and the social benefits of pet rescue activities are improved.

In the research and implementation process of this article, through detailed discussions on requirements analysis, system design, database design, front-end and back-end implementation, and other aspects, practical problems encountered in pet rescue and health management were solved, providing technical references and application experience for further research in related fields.

Keywords:Pet rescue; User management; Springboot technology; system design

目 录

第1章 绪论

1.1 开发背景及意义

1.2 国内外研究现状

1.3 主要研究内容

1.4 本章小结

第2章 相关技术介绍

2.1 技术路线概述

2.2 MVVM模式介绍

2.3 MySQL数据库

2.4 B/S结构

2.5 springboot框架介绍

2.6 本章小结

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 系统总体需求分析

3.3 功能需求分析

3.4 系统用例分析

3.5 系统流程和逻辑

3.6 本章小结

第4章 概要设计

4.1 系统总体设计

4.2 系统结构图

4.3 数据库概要设计

4.3.1 概念模型

4.3.2 数据表

4.4 本章小结

第5章 系统实现

5.1 领养用户模块的实现

5.1.1 前台首页界面

5.1.2 用户注册界面

5.1.3 用户登录界面

5.1.4在线留言界面

5.1.5 宠物资讯界面

5.1.6 宠物信息界面

5.2 管理员功能模块的实现

5.2.1 管理员登录界面

5.2.2 管理员功能界面

5.2.3 宠物信息管理界面

5.2.4 品种类型管理界面

5.2.5 系统管理界面

5.2.6 公告通知管理界面

5.3 送养用户功能模块的实现

5.3.1宠物信息管理界面

5.3.2领养申请管理界面

5.4 本章小结

第6章 系统测试

6.1 测试目的与意义

6.2 测试用例

6.3 系统测试结果

6.4 本章小结

第7章 总结与展望

参考文献

致  谢

第1章绪论

1.1开发背景及意义

随着社会经济的发展和人们生活水平的提高,宠物已经成为许多家庭的重要成员,宠物产业也逐渐壮大[2]。然而,随着宠物数量的不断增加,宠物的救助与健康管理问题日益突出。许多宠物面临被遗弃、流浪或生病的困境,导致宠物救助组织和相关平台在管理、救助、领养等方面的压力日益增加。宠物的健康管理也是一个不容忽视的问题,如何有效地监控和改善宠物的健康状况,提升其生活质量,成为宠物行业亟待解决的难题[3]。

在此背景下,开发一个基于SpringBoot的宠物救助及健康管理系统,能够为宠物救助组织、领养用户、送养用户等各类角色提供高效、便捷的信息管理平台,具有重要的社会意义和应用价值。SpringBoot作为一个简化企业级应用开发的框架,凭借其良好的扩展性、易于部署的特性,在处理大规模数据和实现高效系统运行方面具备明显优势。因此,基于SpringBoot开发宠物救助及健康管理系统,不仅能提升系统的开发效率,还能确保系统在性能和稳定性上的表现,满足现代宠物管理平台的需求[1]。

该系统的实现能够有效解决当前宠物救助和健康管理过程中的信息流转不畅、管理混乱、沟通成本高等问题。系统通过集成宠物信息管理、领养申请管理、宠物健康追踪、公告通知、在线留言等多种功能,为用户提供一站式服务,推动宠物救助和领养的透明化、信息化,并提高宠物救助活动的效率[7]。特别是通过为领养用户、送养用户以及宠物救助组织提供高效的管理工具,帮助各方优化资源配置、实现信息共享和精准管理[4]。

在社会层面上,随着人们对动物福利和环境保护意识的提升,宠物救助和健康管理已经成为现代社会关注的重要议题。通过建立一个完善的宠物救助和健康管理平台,可以提升公众对宠物关爱的意识,并通过透明、公开的信息管理促进社会整体的和谐与进步。此外,随着技术的发展,互联网平台在宠物行业中的应用不断深入,基于SpringBoot的系统架构能够实现更高效的用户体验和后台管理,进一步推动宠物救助行业的信息化、智能化发展。

综上所述,基于SpringBoot的宠物救助及健康管理系统的设计与实现,不仅符合当前宠物行业发展的需求,也为社会提供了更加高效、便捷、智能的宠物管理解决方案,具有重要的现实意义和广阔的应用前景。

1.2国内外研究现状

随着宠物产业的快速发展,全球范围内对宠物救助及健康管理的关注日益增加。各国都在不同程度上推动宠物管理的数字化转型,宠物救助和健康管理系统的研究和应用也逐渐成为信息技术在社会服务领域中的重要应用之一。国内外的相关研究主要集中在宠物信息管理、健康追踪、领养平台的建立等方面,研究方向和技术应用逐渐向智能化、信息化发展[3]。

在国外,宠物管理平台和相关技术研究起步较早。比如,欧洲和北美的一些宠物救助机构已通过互联网平台来促进宠物领养和救助工作[4]。美国的Petfinder平台是一个典型的例子,它通过为用户提供宠物领养信息,连接了宠物救助组织和领养家庭。该平台不仅提供宠物的基本信息,还支持领养者发布申请,组织进行审核和管理。除此之外,Petco、PetSmart等公司也开展了关于宠物健康管理和营养追踪的数字化服务[8]。通过与智能硬件结合,这些平台能够实时跟踪宠物的健康状况,帮助宠物主人有效管理宠物的日常护理与健康监控。

在国内,随着宠物文化的兴起和宠物产业的不断扩大,宠物救助与健康管理系统的研究和实践也逐步展开。近年来,国内多个宠物平台和互联网公司推出了类似的宠物救助和领养管理系统[9]。比如,国内的“宠物之家”平台,提供宠物领养、救助、医疗和健康管理等一站式服务,用户不仅可以查找适合的宠物,还可以记录宠物的健康数据。平台通过数据库管理系统对宠物信息进行统一管理,确保宠物的救助和领养流程透明且高效。此外,一些宠物行业的创业公司也在积极探索利用大数据和人工智能技术来提升宠物健康管理的精准度和智能化水平。

例如,国内的“宠物云”系统,通过利用云计算平台来存储和分析宠物的健康数据,为宠物主人提供定制化的健康管理服务。同时,结合移动互联网技术,宠物主人可以通过手机应用随时查看宠物的健康报告,制定合理的健康养护计划。这类系统不仅解决了宠物健康信息的碎片化问题,还为宠物健康提供了科学的、持续的管理方案。

尽管国内外在宠物救助和健康管理系统的设计和应用上都取得了一定的进展,但仍然面临一些挑战。例如,系统的智能化程度和大数据的有效利用仍然不足,宠物健康管理的个性化需求没有完全得到满足。当前的研究和应用往往还停留在宠物信息的基本管理和简单的健康数据记录阶段,尚未实现宠物健康管理的全面智能化和自动化。

综上所述,国内外在宠物救助及健康管理系统的研究和应用方面取得了显著进展,但仍有很多亟待解决的问题。未来的研究可以着眼于智能硬件与大数据的结合,推动系统智能化的发展,同时提升用户体验,优化宠物健康管理的个性化服务。基于SpringBoot的宠物救助及健康管理系统设计与实现,正是对现有问题的有效补充,具有广泛的应用前景和研究价值。

1.3主要研究内容

在宠物救助及健康管理系统时,后端采用了Java作为编程语言,并利用了SpringBoot框架,这使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。在开发工具的选取上,使用了eclipse,它的强大功能和易用性使得编程工作更为高效;而Navicat作为数据库管理工具,使得数据库操作更为方便和快捷。这样的技术选择,确保了管理系统的开发流程既高效又稳定。本系统面对对象主要分为领养用户、送养用户和管理员三大角色,实现了包括后台首页、系统用户、宠物信息管理、品种类型管理、领养申请管理、感谢信息管理、系统管理、留言管理、公告通知管理、资源管理等功能,能够很好地满足各方需求。

1.4本章小结

本章介绍了系统的开发背景与意义,分析了国内外在宠物救助与健康管理系统方面的研究现状,并概述了本文的主要研究内容。通过明确系统的社会需求与技术背景,分析了当前相关技术的应用情况与不足,阐述了研究的方向与价值。

第2章相关技术介绍

2.1技术路线概述

本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的springboot框架进行开发。

前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。

后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2MVVM模式介绍

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频视频3D动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.3MySQL数据库

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

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

2.4B/S结构

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

2.5springboot框架介绍

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的事务管理一起使用,为数据访问提供了灵活的抽象。

2.6本章小结

本章介绍了项目的技术路线及相关技术栈。MVVM模式有效地分离了业务逻辑和UI展示,提升了系统的可维护性和扩展性。MySQL数据库在数据存储和管理方面具有高效性和稳定性,能够支持项目的大规模数据处理需求。采用B/S架构简化了系统部署与维护,提高了用户体验。Spring Boot框架提供了快速开发和简化配置的优势,为项目提供了稳定的后台支持。通过这些技术的结合,确保了项目的高效性和可持续发展。

第3章系统分析

3.1可行性分析

本次设计基于B/S 模式下,运用Java技术采用的是MySQL数据库和Eclipse实现,总体的可行性共分为以下三个方面。

3.1.1技术可行性分析

系统在技术上是可行的。SpringBoot框架具有轻量级、易于配置和快速开发的特点,适合构建高效的后台服务。MySQL数据库能够稳定地支持系统数据存储,保证数据的高效访问与管理。B/S架构使得系统能够通过浏览器访问,减少了部署和维护成本,提升了用户体验。此外,MVVM模式的使用有助于分离视图层和业务逻辑层,便于后期的功能扩展与维护。整体来看,结合这些技术,系统具有良好的可扩展性和稳定性,能够满足宠物救助及健康管理系统的功能需求。

3.1.2经济可行性分析

从经济角度来看,宠物救助及健康管理系统同样展现出良好的经济可行性。Spring Boot是一个开源框架,使用成本相对较低,无需支付昂贵的许可费用,节省了大量的软件开发和维护成本。此外,Spring Boot的简便性和高效性意味着开发周期短,人力和物力投入相对较少,进一步降低了开发成本。同时,该框架的广泛应用和成熟生态也保证了其稳定性和可靠性,减少了后期维护和升级的成本。

因此,宠物救助及健康管理系统在经济上是可行的,既降低了开发成本,又通过提供高效、便捷的服务实现了商业价值的最大化。

3.1.3操作可行性分析

系统在操作上具有可行性。用户通过简单直观的界面即可完成救助信息录入、健康管理数据查询等操作,符合大众使用习惯。B/S架构使用户无需安装额外软件,仅需浏览器即可访问系统,降低了操作门槛。后台管理端功能清晰,支持高效的数据管理与统计分析,便于系统维护人员快速上手和执行日常管理任务。整体设计兼顾了用户体验和系统操作的便利性,具备较高的实际应用价值。

3.2系统总体需求分析

基于SpringBoot的宠物救助及健康管理系统的总体需求分析需要考虑多个方面,旨在为送养用户、领养用户以及管理员提供一个高效、便捷且安全的平台。该系统的核心目标是实现宠物信息管理、领养申请、送养管理、健康管理以及宠物资讯的提供,确保宠物能够得到及时救助和健康护理。

系统应当具备全面的宠物信息管理功能,用户能够方便地查看和筛选宠物的基本信息,包括品种、年龄、健康状况、领养情况等,确保每只宠物的基本情况都可以透明展示。送养用户能够录入宠物的详细资料,管理宠物的健康记录及领养状态,更新宠物信息,及时调整宠物的健康状况并发布领养信息。领养用户可以通过平台浏览宠物信息,提交领养申请,并根据自己的需求和兴趣选择合适的宠物。领养申请经过严格的审核流程,以确保领养者具备足够的条件为宠物提供一个健康、温暖的家庭。

在领养管理方面,系统需要设计领养申请流程,包括用户填写领养申请、管理员审核并处理申请。用户的个人资料、领养动机、居住条件及养宠经验将成为审核的依据,确保领养者具备足够的能力和责任心照顾宠物。通过系统,送养用户和管理员能够查看申请记录、申请进度,并最终确认领养情况。领养成功后,平台应自动生成感谢信息,向领养用户发送感谢信,增强领养者的责任感,同时让宠物获得更好的照顾。

平台还应具备宠物资讯管理功能,发布有关宠物健康、救助、养护等方面的资讯,为用户提供专业的建议和指导。资讯可以按照类别进行管理,系统应支持资讯的发布、编辑和删除,确保平台信息的时效性和准确性。

系统的性能需求要求高并发支持,能够处理大量的宠物信息和领养申请。平台需要优化数据库性能,支持高效的检索与筛选功能,确保用户能够快速找到感兴趣的宠物。为了保障系统的稳定性和响应速度,可以通过缓存机制、负载均衡以及定时任务等技术来提高系统的性能。

安全性是系统设计的另一个关键需求,系统必须对用户信息、宠物数据及操作日志进行加密,确保所有数据的安全性。权限管理必须严格控制不同角色(管理员、送养用户、领养用户等)对系统的访问权限,避免未经授权的操作。用户的个人信息应受到严格保护,确保符合相关法律法规的要求。

为了支持系统的持续发展和功能扩展,系统设计需要具备良好的扩展性。通过这些设计需求,基于SpringBoot的宠物救助及健康管理系统将能够有效支持宠物救助、健康管理、领养和送养等业务,提供一个高效、安全、便捷的平台,促进宠物福利的提升,同时让用户和宠物得到更好的关爱与支持。

3.3功能需求分析

宠物救助及健康管理系统分为三大部分:管理员模块、领养用户模块、送养用户模块。

  • 管理员模块:

后台首页:管理员登录后,将首先进入后台首页。帮助管理员快速了解系统概况。

系统用户管理:管理员可以查看、编辑和删除系统用户,通过该功能,管理员可以管理用户账户,确保用户信息的准确性和安全性。

宠物信息管理:管理员可以添加、编辑和删除宠物信息,包括宠物的名称、种类、年龄、健康状况、救助状态等。同时,管理员可以上传宠物的照片和视频,以便更好地展示宠物信息,提高领养成功率。

品种类型管理:管理员可以管理宠物的品种类型,包括添加、编辑和删除品种信息。通过该功能,管理员可以确保系统中宠物品种信息的准确性和完整性,为宠物信息管理提供有力支持。

领养申请管理:管理员可以查看、审核和处理领养申请。通过该功能,管理员可以了解领养申请人的信息、领养意愿和条件,确保领养过程符合相关规定,保障宠物和领养申请人的权益。

感谢信息管理:管理员可以查看、编辑和删除用户提交的感谢信息。这些感谢信息通常来自成功送养宠物的用户,用于表达对宠物救助和健康管理系统的感激之情。

系统管理(轮播图):管理员可以上传、编辑和删除系统首页的轮播图。这些轮播图通常用于展示系统的重要信息、活动或宣传内容,提高系统的吸引力和用户参与度。

留言管理:管理员可以查看、回复和删除用户提交的留言。通过该功能,管理员可以及时了解用户反馈和意见,提高用户满意度和系统的服务质量。

公告通知管理:管理员可以发布、编辑和删除系统公告和通知。这些公告和通知通常用于传达系统的重要信息、活动安排或更新内容,确保用户及时了解系统动态。

资源管理(宠物资讯、资讯分类):管理员可以管理宠物资讯和资讯分类。通过该功能,管理员可以添加、编辑和删除宠物资讯,以及创建和管理资讯分类。这些资讯通常用于提供宠物健康、救助和养护等方面的知识和信息,帮助用户更好地了解和管理宠物。

  • 领养用户模块:

首页:用户登录后,将首先看到系统的首页。方便用户快速了解宠物救助的相关信息。

公告通知:此功能用于发布关于宠物救助、系统更新、活动预告等重要通知。用户可以通过此功能及时获取到最新的信息,确保不会错过任何重要的公告。

宠物资讯:系统提供了丰富的宠物资讯,包括宠物养护知识、健康饮食建议、疾病防治方法等。用户可以通过此功能学习如何更好地照顾自己的宠物,提升宠物的健康水平。

在线留言:用户可以在此功能下留言,与其他用户或系统管理员进行交流。无论是提出疑问、分享经验还是反馈建议,都可以通过在线留言功能实现。

宠物信息:用户可以在此功能下查看已领养或待领养的宠物信息,包括宠物的品种、年龄、性别、健康状况、性格特点等。这有助于用户更好地了解宠物,选择适合自己的宠物进行领养。

我的账户:用户可以在此功能下管理自己的账户信息。

个人中心:

个人首页:展示了用户的基本信息。

领养申请:用户可以在此功能下提交领养申请,填写相关信息,如期望领养的宠物类型、领养原因等。系统管理员将审核用户的申请,并根据实际情况决定是否批准。

感谢信息:当用户成功领养宠物后,可以在此功能下发布感谢信息,感谢系统提供的帮助和支持。这有助于增强用户的归属感和责任感。

收藏:用户可以在此功能下收藏自己感兴趣的宠物资讯、领养活动等。方便用户随时查看和回顾。

评论管理:用户可以在此功能下管理自己发布的评论,包括查看、删除等操作。这有助于用户维护自己的言论质量,避免不必要的纠纷。

  • 送养用户模块:

后台首页:后台首页是送养用户登录系统后首先看到的页面,它提供了系统的整体概览。

宠物信息管理:宠物信息管理模块允许送养用户添加、编辑和删除自己的宠物信息。送养用户可以详细记录宠物的品种、年龄、性别、健康状况、性格特点以及疫苗接种情况等关键信息。这些信息对于潜在领养者来说至关重要,有助于他们更好地了解宠物,从而做出更合适的领养决策。

领养申请管理:领养申请管理模块是送养用户与潜在领养者互动的核心平台。送养用户可以在此查看所有提交的领养申请,包括申请者的基本信息、领养意愿以及他们对宠物的了解和期望。送养用户可以根据这些信息筛选出合适的领养者,并通过系统内置的沟通工具与他们进行进一步交流。在确认领养者符合领养条件后,送养用户可以批准领养申请,完成领养流程。

感谢信息管理:感谢信息管理模块允许送养用户查看和回复领养者提交的感谢信息。当宠物成功被领养后,领养者可以通过系统向送养用户表达感谢之情,分享宠物在新家的生活点滴。送养用户可以在此查看这些感谢信息,感受领养者的喜悦和感激之情,并通过回复功能与他们保持联系,继续关注宠物的成长和健康状况。

3.4系统用例分析

领养用户用例图如下所示。

图3-1领养用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

送养用户用例图如下所示。

图3-3 送养用户用例图

3.5系统流程和逻辑

系统业务流程图,如图所示:

图3-4登录流程图

图3-5添加信息流程图

图3-6注册信息流程图

图3-7业务流程图

3.6本章小结

本章对系统进行了可行性分析、需求分析和功能分析。技术可行性评估了系统实现的技术基础,经济可行性分析了项目的成本效益,操作可行性确保用户的使用体验。系统总体需求分析明确了核心功能和实现要求,功能需求分析细化了具体操作,系统用例分析展示了不同角色的交互方式,系统流程和逻辑则阐述了操作流程的顺畅性。通过这些分析,确保了系统的可行性和实用性。

第4章概要设计

4.1系统总体设计

目前B/S体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。宠物救助及健康管理系统主要分为视图-模型-控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。

系统架构图如下图所示。

图4-1系统架构图

4.2系统结构图

系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块。系统整体角色分为三个部分,一是领养用户、二是管理员、三是送养用户。权限分布也是很明显,管理员可以实现对用户的增加以及删除,是最高权限拥有者。

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

图4-2系统功能结构图

4.3数据库概要设计

4.3.1概念模型

根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统总体ER图如下图所示。

图4-3系统总体ER图

4.3.2数据表

数据库逻辑结构就是将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

用户编号:

表adopting_users (领养用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adopting_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

contact_information

varchar

16

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

更新时间

表adoption_application (领养申请)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adoption_application_id

int

10

0

N

Y

领养申请ID

2

pet_id

varchar

64

0

Y

N

宠物编号

3

pet_name

varchar

64

0

Y

N

宠物名字

4

pet_breeds

varchar

64

0

Y

N

宠物品种

5

care_users

int

10

0

Y

N

0

送养用户

6

adopting_users

int

10

0

Y

N

0

领养用户

7

user_name

varchar

64

0

Y

N

用户姓名

8

application_time

datetime

19

0

Y

N

申请时间

9

reason_for_adoption

varchar

64

0

Y

N

领养理由

10

environment

varchar

64

0

Y

N

生活环境

11

economic_capability

varchar

64

0

Y

N

经济能力

12

remarks_details

text

65535

0

Y

N

备注详情

13

examine_state

varchar

16

0

N

N

未审核

审核状态

14

examine_reply

varchar

16

0

Y

N

审核回复

15

thank_you_for_the_message_limit_times

int

10

0

N

N

0

感谢限制次数

16

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

17

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

18

source_table

varchar

255

0

Y

N

来源表

19

source_id

int

10

0

Y

N

来源ID

20

source_user_id

int

10

0

Y

N

来源用户

表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

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

更新时间:

表care_users (送养用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

care_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

double

9

2

Y

N

0.00

用户年龄

5

examine_state

varchar

16

0

N

N

未审核

审核状态

6

examine_reply

varchar

16

0

Y

N

审核回复

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表code_token

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间:

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

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

表member_center (会员中心)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

member_center_id

int

10

0

N

Y

会员中心ID

2

handling_user_requests

int

10

0

Y

N

0

办理用户

3

user_name

varchar

64

0

Y

N

用户姓名

4

processing_time

datetime

19

0

Y

N

办理时间

5

reason_for_processing

varchar

64

0

Y

N

办理原因

6

processing_fees

double

9

2

Y

N

0.00

办理费用

7

processing_remarks

text

65535

0

Y

N

办理备注

8

examine_state

varchar

16

0

N

N

未审核

审核状态

9

examine_reply

varchar

16

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

更新时间

表message (留言板)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

message_id

int

10

0

N

Y

留言板ID:

2

user_id

int

10

0

N

N

0

用户ID:

3

title

varchar

64

0

Y

N

标题:

4

content

longtext

2147483647

0

N

N

内容:

5

nickname

varchar

32

0

N

N

昵称:

6

avatar

varchar

255

0

Y

N

头像:

7

email

varchar

125

0

Y

N

留言者邮箱

8

phone

varchar

11

0

Y

N

留言者手机号码

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

11

reply

longtext

2147483647

0

Y

N

回复

12

reply_state

tinyint

4

0

Y

N

0

回复状态

表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

更新时间:

表pet_information (宠物信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_information_id

int

10

0

N

Y

宠物信息ID

2

pet_id

varchar

64

0

Y

N

宠物编号

3

pet_name

varchar

64

0

Y

N

宠物名字

4

pet_breeds

varchar

64

0

Y

N

宠物品种

5

cover_photo

varchar

255

0

Y

N

封面图片

6

care_users

int

10

0

Y

N

0

送养用户

7

pet_age

double

9

2

Y

N

0.00

宠物年龄

8

contact_number

varchar

16

0

Y

N

联系电话

9

health_status

varchar

64

0

Y

N

健康状态

10

sterilization_status

varchar

64

0

Y

N

绝育状态

11

pet_gender

varchar

64

0

Y

N

宠物性别

12

reason_for_adoption

text

65535

0

Y

N

送养原因

13

pet_details

longtext

2147483647

0

Y

N

宠物详情

14

hits

int

10

0

N

N

0

点击数

15

praise_len

int

10

0

N

N

0

点赞数

16

examine_state

varchar

16

0

N

N

未审核

审核状态

17

examine_reply

varchar

16

0

Y

N

审核回复

18

adoption_application_limit_times

int

10

0

N

N

1

领养限制次数

19

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

20

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已取消

表schedule (日程管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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

更新时间

表score (评分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

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:

表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

更新时间:

表thank_you_for_the_message (感谢信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

thank_you_for_the_message_id

int

10

0

N

Y

感谢信息ID

2

pet_id

varchar

64

0

Y

N

宠物编号

3

pet_name

varchar

64

0

Y

N

宠物名字

4

pet_breeds

varchar

64

0

Y

N

宠物品种

5

care_users

int

10

0

Y

N

0

送养用户

6

adopting_users

int

10

0

Y

N

0

领养用户

7

publication_time

datetime

19

0

Y

N

发表时间

8

thank_you_for_the_content

text

65535

0

Y

N

感谢内容

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

11

source_table

varchar

255

0

Y

N

来源表

12

source_id

int

10

0

Y

N

来源ID

13

source_user_id

int

10

0

Y

N

来源用户

表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

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

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

创建时间:

表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

更新时间:

表variety_type (品种类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

variety_type_id

int

10

0

N

Y

品种类型ID

2

variety_type

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

更新时间

4.4本章小结

本章介绍了系统的总体设计、系统结构和数据库设计。系统总体设计明确了系统架构和各功能模块的布局,确保了系统的高效运行。系统结构图展示了系统各组件的关系和数据流动,提供了清晰的架构视图。数据库概要设计部分通过概念模型和数据表设计,定义了数据存储结构和关系,为系统数据管理提供了基础。通过这些设计,确保系统具备良好的架构和数据支持。

第5章系统实现

5.1领养用户模块的实现

5.1.1 前台首页界面

进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是轮播图,最下面是宠物资讯,其主界面展示如下图5-1所示。

图5-1 前台首页界面图

5.1.2 用户注册界面

用户注册:当用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入对应的账号(必须填写)+密码(必须填写)+确认密码(必须填写,而且要与密码一直)+昵称+邮箱+性别+联系电话+选择用户身份等,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图5-2所示。

图5-2 用户注册界面图

注册代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

5.1.3 用户登录界面

系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到系统的首页中;否则将会提示相应错误信息。用户登录界面如下图5-3所示。

图5-3领养用户登录界面图

登录代码如下:

/**

     * 登录

     * @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.1.4在线留言界面

用户可以在此功能下留言,与其他用户或系统管理员进行交流。无论是提出疑问、分享经验还是反馈建议,都可以通过在线留言功能实现。在线留言界面如下图5-4所示。

图5-4在线留言界面图

5.1.5 宠物资讯界面

当用户点击“宠物资讯”这一菜单按钮,会显示管理员在后台发布的所有的宠物资讯信息,支持通过关键词对宠物资讯进行搜索,选择需要的资讯信息点击可以进入到资讯信息详细的介绍界面,同时可以进行点赞、收藏和评论等操作,宠物资讯界面如下图5-5所示。

图5-5宠物资讯界面图

5.1.6 宠物信息界面

用户可以在此功能下查看已领养或待领养的宠物信息,包括宠物的品种、年龄、性别、健康状况、性格特点等。这有助于用户更好地了解宠物,选择适合自己的宠物进行领养。宠物信息界面如下图5-6所示。

图5-6宠物信息界面图

5.2管理员功能模块的实现 

5.2.1 管理员登录界面

管理员进入到系统登录界面,需要填写正确的登录名、密码、选择权限等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图5-7所示。

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

5.2.2 管理员功能界面

管理员可以查看后台首页、系统用户、宠物信息管理、品种类型管理、领养申请管理、感谢信息管理、系统管理、留言管理、公告通知管理、资源管理等,并且可以根据需要进行相应的操作,管理员功能界面如下图5-8所示。

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

5.2.3 宠物信息管理界面

管理员对平台上所有宠物的信息进行全面管理,包括宠物编号、名字、品种、封面图片、送养用户、年龄、联系电话以及健康状态等。管理员可以方便地添加、修改和删除宠物信息,确保平台数据的及时更新与准确性。除此之外,管理员还能够更新宠物的健康状态、性别、年龄、品种、照片等详细资料,以确保每只宠物的信息都能反映其最新的状态。此功能为平台提供了强大的宠物管理能力,保证宠物信息的完整性和实时性。宠物信息管理界面如下图5-9所示。

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

5.2.4 品种类型管理界面

管理员可以通过该功能管理不同宠物的品种类型,包括狗、猫、兔子等,并根据品种类别对系统中的宠物进行归类和筛选。管理员能够编辑品种信息,如品种的特性、常见疾病及生活习性等,有助于提高领养者对不同品种宠物的了解,同时可以对宠物进行品种归类的调整,确保信息的准确性。对管理员功能介绍。品种类型管理界面如下图5-10所示。

图5-10品种类型管理界面图

5.2.5 系统管理界面

管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。轮播图管理界面如下图5-11所示。

图5-11系统管理界面图

轮播图添加代码:

@PostMapping("/add")

    @Transactional

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

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

        return success(1);

    }

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

    service.insert(map);

     return success(1);

 }

5.2.6 公告通知管理界面

点击“公告通知管理”这个菜单,可以查看到系统中所有添加的系统公告,支持通过标题对系统公告进行查询,添加、删除等操作。公告通知管理界面如下图5-12所示。

图5-12公告通知管理界面图

5.3送养用户功能模块的实现 

5.3.1宠物信息管理界面

送养用户可以全面管理每只宠物的详细信息,以确保信息的准确性和完整性。送养用户可以输入或修改宠物的名称,便于系统内部准确识别和展示宠物资料。同时,用户可以选择宠物的种类(如猫、狗等)及品种,帮助潜在领养者更容易找到自己感兴趣的宠物。宠物的年龄与性别也可以进行填写或更新,为领养者提供更多详细的宠物资料,以便他们做出更合适的领养决定。此外,送养用户可以实时更新宠物的健康状况,如是否健康或需要治疗等,确保领养者了解宠物的真实状况。宠物的救助状态也会被记录,包括“待领养”、“在治疗中”等信息,确保送养用户与领养者之间保持透明的沟通。最后,送养用户还可以上传宠物的照片和视频,以更生动、直观的方式展示宠物的样貌和性格,增加领养者对宠物的兴趣,进而提高领养的成功率。通过这些功能,宠物信息管理为宠物的送养和领养提供了重要的支持和保障。宠物信息管理界面如下图5-13所示。

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

5.3.2领养申请管理界面

送养用户可以查看领养者的详细资料,包括姓名、联系方式、领养历史等,帮助送养用户更好地了解申请者的背景信息。在此基础上,送养用户还可以查看领养者申请领养的宠物详细信息,如宠物的种类、健康状况、救助状态等,从而确保对领养者的选择有全面的了解。在审核过程中,送养用户可以根据领养者的资质、家庭情况等因素,决定是否批准该申请,选择“通过”、“拒绝”或“待审核”状态,并提供审批理由。决策做出后,送养用户能够通过系统及时通知领养者申请结果,确保信息的快速传达。同时,所有处理过的领养申请都将被存档,送养用户可以随时查看历史记录,以便做出更为明智的决策。此模块通过提升领养申请的处理效率,帮助送养用户确保宠物能够快速、准确地送养到合适的家庭。领养申请管理界面如下图5-14所示。

图5-14领养申请管理界面图

5.4本章小结 

本章介绍了系统中的三个功能模块实现:领养用户模块、管理员模块和送养用户模块。领养用户模块支持注册、申请领养等功能;管理员模块负责用户管理、宠物信息审核等;送养用户模块则管理宠物信息、审核领养申请,确保宠物顺利送养。通过这些模块的实现,系统提升了管理效率和用户体验。

第6章系统测试

6.1测试目的与意义

在软件开发生命周期中,系统测试占据着举足轻重的地位。通过进行全面而系统的测试,我们能够确保软件在实际使用环境中具备稳定运行的能力,从而满足用户的多样化需求,并显著提升软件的整体质量与可靠性。这一过程不仅有助于识别并修复潜在问题,还能为软件的持续优化提供有力支撑。

随着现代信息的快速发展,在社会各大领域中已经都开始应用网络信息技术,在应用网络技术的同时人们也开始把软件的质量问题作为了一个重要焦点来关注,因为一个软件的好与坏它决定着这个系统在市场上的生存,所以我们必须要把软件质量来做好,这样才有一定的生存能力。对于用户来说它们首先选用的都是保证这个系统软件的质量问题,因为一个系统的软件质量决定着用户在后期上成本经济的问题。图6.1就是纠错测试流程。

图6.1测试与纠错信息流程

6.2测试用例

在系统的功能验证阶段,我们将对全部的功能界面进行全面测试。具体而言,我们将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,我们将确保系统在实际应用中能够稳定、准确地响应用户需求。

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6.1系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6.2注册功能测试用例

功能描述

用于用户注册

测试目的

检测用户注册时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的手机号不合法

提示请输入正确的手机号码

与预期结果一致

输入的字段为空

提示必填项不能为空

与预期结果一致

输入的密码少于6位

提示密码必须为6-12位

与预期结果一致

输入的密码大于12位

提示密码必须为6-12位

与预期结果一致

下表是宠物信息管理功能的测试用例,检测了宠物信息中对宠物信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;登录系统。

表6.3宠物信息管理的测试用例

功能描述

用于宠物信息

测试目的

检测宠物信息时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加宠物信息,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加宠物信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改宠物信息,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改宠物信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除宠物信息,选择宠物信息删除

提示删除成功

与预期结果一致

点击搜索宠物信息,输入存在的宠物信息名

查找出相应宠物信息

与预期结果一致

点击搜索宠物信息,输入不存在的宠物信息名

不显示宠物信息

与预期结果一致

下表是品种类型管理功能的测试用例,检测了品种类型中对品种类型的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;登录系统。

表6.4品种类型管理的测试用例

功能描述

用于品种类型

测试目的

检测品种类型时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加品种类型,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加品种类型,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改品种类型,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改品种类型,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除品种类型,选择品种类型删除

提示删除成功

与预期结果一致

点击搜索品种类型,输入存在的品种类型名

查找出相应品种类型信息

与预期结果一致

点击搜索品种类型,输入不存在的品种类型名

不显示品种类型信息

与预期结果一致

下表是感谢信息管理功能的测试用例,检测了感谢信息中对感谢信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;登录系统。

表6.5感谢信息管理的测试用例

功能描述

用于感谢信息

测试目的

检测感谢信息时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加感谢信息,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加感谢信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改感谢信息,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改感谢信息,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除感谢信息,选择感谢信息删除

提示删除成功

与预期结果一致

点击搜索感谢信息,输入存在的感谢信息名

查找出相应感谢信息

与预期结果一致

点击搜索感谢信息,输入不存在的感谢信息名

不显示感谢信息

与预期结果一致

下表是领养申请管理功能的测试用例,检测了领养申请中对领养申请的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;登录系统。

表6.6领养申请管理的测试用例

功能描述

用于领养申请

测试目的

检测领养申请时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加领养申请,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加领养申请,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改领养申请,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改领养申请,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除领养申请,选择领养申请删除

提示删除成功

与预期结果一致

点击搜索领养申请,输入存在的领养申请名

查找出相应领养申请信息

与预期结果一致

点击搜索领养申请,输入不存在的领养申请名

不显示领养申请信息

与预期结果一致

6.3 系统测试结果

经过对宠物救助及健康管理系统的测试,我们已经完成了6大模块的检测,包括用户登录功能测试、用户注册功能测试、宠物信息管理功能、品种类型管理功能、感谢信息管理功能、领养申请管理功能,这些功能为后续的推广运营提供了强有力的技术支持。

6.4 本章小结

本章主要对系统测试的目的、测试用例设计及测试结果进行了详细阐述。通过这些测试,验证了系统的功能性与稳定性,确保了系统能够在真实环境中顺利运行,达到了预期目标。

第7章总结与展望

通过宠物救助及健康管理系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

  1. 陈宇佳.基于Web服务器的宠物托管服务管理系统设计[J].电脑编程技巧与维护,2024,(02):80-82+120.DOI:10.16184/j.cnki.comprg.2024.02.043.
  2. 谭丽莹.云经济背景下宠物云领养商业模式构建[J].上海商业,2024,(02):34-36.
  3. 肖新凤.基于FISCO BCOS宠物管理系统设计与实现[J].信息与电脑(理论版),2023,35(16):133-135.
  4. 费天乐,刘君.宠物领养一站式服务平台可行性及运行模式研究[J].国际公关,2023,(12):170-172.DOI:10.16645/j.cnki.cn11-5281/c.2023.12.003.
  5. 潘宇.基于移情理念的宠物猫寄养产品设计研究[D].南昌航空大学,2023.DOI:10.27233/d.cnki.gnchc.2023.000099.
  6. 王莹莹.共享经济下的社区宠物寄养服务及产品设计研究[D].华东师范大学,2023.DOI:10.27149/d.cnki.ghdsu.2023.002855.
  7. 颜惠.基于Web的宠物店信息管理系统设计[J].软件,2023,44(02):147-149.
  8. 平欣,宋育斌,孔维宾,等.基于GPS与微信小程序的智能宠物管理系统设计[J].软件导刊,2023,22(02):121-126.
  9. 陈治宇.物联网智能宠物管理系统[C]//四川省电子学会,重庆市电子学会,四川省职业技能竞赛研究中心.2022年川渝大学生“数智”作品设计应用技能大赛暨第八届四川省大学生智能硬件设计应用大赛会议论文集.四川师范大学;,2022:8.DOI:10.26914/c.cnkihy.2022.077397.
  10. 包春兰,喻曦.基于数字化的宠物寄养服务研究[J].信息系统工程,2022,(11):143-147.
  11. 游秋龙.NJ智能宠物管理系统商业计划书[D].厦门大学,2022.DOI:10.27424/d.cnki.gxmdu.2022.001007.
  12. 李乐天,宁芳,蒋浩.宠物寄养产品服务系统设计[J].机电产品开发与创新,2021,34(05):60-63.
  13. 郭恒川.基于物联网技术的智能宠物饲养系统设计[J].信息与电脑(理论版),2021,33(17):187-190.
  14. 金馨.基于SSM的宠物店线上运营系统的设计与实现[D].首都经济贸易大学,2021.DOI:10.27338/d.cnki.gsjmu.2021.000769.
  15. 吴文洋,刘世宇.基于B/S架构宠物领养管理系统设计[J].软件,2020,41(11):85-87.
  16. 杨华.基于SSM的宠物店信息系统的设计与实现[D].吉林大学,2019.
  17. Wang Q ,Zheng L ,Hong R .Exploration on the Teaching Model of Java Programming and Practice for Students with No Programming Background[J].Advances in Educational Technology and Psychology,2024,8(6):
  18. Zhang J .Teaching Reform of Java Program Design Based on Vocational Education Cloud Platform[J].Journal of Higher Education Teaching,2024,1(5):
  19. Wai H K ,Funabiki N,Aung T S, et al.Answer Code Validation Program with Test Data Generation for Code Writing Problem in Java Programming Learning Assistant System[J].Engineering Letters,2024,32(5):
  20. Ullenboom C .Java Programming Exercises:Volume Two: Java Standard Library[M].CRC Press:2024-03-30.

致  谢

至此论文结束,感谢您的阅读。首先,我要感谢我的父母对我的支持与理解,在两年的本科学习生活中,倾其所能的爱护我,使我能够心无旁骛,全心全意的投入到学习中;不断鼓励我,让我能够拥有不断前进的动力。其次还要感谢我的导师,感谢在这段时间给予我有效的建议,以至于我的毕设有了整体的设计思路,尽管我在实习期间很忙,论文撰写总是停停改改,但是导师依然十分负责,时不时的询问我的任务进展情况,跟进我的论文进度。在老师的帮助下,我逐步完成了自己的论文和程序,从导师身上也学习到很多知识,和经验,这些知识和经验令我受益匪浅。

此外,还要感谢我的同学,热心的解答了我在程序上遇到的问题,是他们在我编写程序过程中给了我很多的启发和感想,也帮助了我对于程序的调试和检测,让我受益良多。在这两年的时间里,我学会了许多专业的知识,还有老师们的谆谆教诲和同学们的帮助使我不断进步,能够做得更好;我也会不断给自己充电,不断突破,成为更好的自己。

最后向所有关心我、帮助我的老师及同学们表示衷心的感谢!

点赞+收藏+关注 → 私信领取本源代码、数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值