摘要
城市流浪动物数量持续增长,传统线下领养模式面临信息不对称、流程不透明、匹配效率低下等多重困境。宠物领养需求与救助资源之间缺乏有效连接渠道,导致大量宠物无法找到合适家庭。互联网技术发展为解决这一问题提供了新路径。基于Spring Boot框架构建的宠物领养系统,将传统领养流程迁移至线上平台,实现宠物信息集中展示、领养申请在线提交、审核状态实时追踪等功能。系统设计遵循前后端分离架构,前端采用Vue框架构建交互界面,后端以Spring Boot提供服务接口,MySQL数据库负责数据持久化存储。通过功能模块化设计,系统能够满足普通用户的浏览查询需求,同时为管理员提供内容审核与用户管理工具。这种技术方案降低了平台维护成本,提升了信息流转效率。研究意义体现在三个方面。系统通过标准化领养流程减少信息失真风险,申请材料在线提交功能帮助救助方快速筛选合适领养人。平台提供的宠物信息管理机制规范了内容发布标准,避免虚假信息传播。系统设计思路可为同类公益平台建设提供参考模板,推动动物保护领域信息化进程。实际应用价值在于缩短宠物等待领养周期,提高救助资源利用效率。
关键词:宠物领养;Spring Boot;Vue;MySQL;信息管理
Abstract
The increasing number of stray animals in urban areas has exposed significant limitations in traditional offline adoption models, including information asymmetry, opaque processes, and low matching efficiency. An effective connection channel between pet adoption demands and rescue resources remains absent, leaving many pets without suitable homes. Internet technology development offers a new pathway to address this challenge. A pet adoption system built on the Spring Boot framework migrates traditional adoption processes to an online platform, enabling centralized pet information display, online submission of adoption applications, and real-time tracking of review status. The system design follows a front-end and back-end separation architecture, with Vue constructing the interactive interface, Spring Boot providing service interfaces, and MySQL handling data persistence storage. Through modular functional design, the system meets ordinary users' browsing and querying needs while providing administrators with content review and user management tools. This technical solution reduces platform maintenance costs and improves information flow efficiency. Research significance manifests in three aspects. The standardized adoption process reduces information distortion risks, while online application submission helps rescuers quickly screen suitable adopters. The pet information management mechanism standardizes content publishing standards to prevent false information dissemination. This design approach can serve as a reference template for similar public welfare platforms, advancing informatization in animal protection. Practical application value lies in shortening pets' waiting periods for adoption and improving rescue resource utilization efficiency.
Key words:Pet adoption; Spring Boot; Vue; MySQL; Information management
第一章 绪论
1.1 研究背景与意义
城市宠物领养领域存在信息流通不畅、信任机制缺失的两个问题。线下救助站受制于地理位置和宣传途径,很多待领养的宠物不能被潜在的领养人所知晓。互联网信息平台虽然已经进入这个领域,但是大部分还停留在发布信息的层面,并没有形成完整的流程管理功能。因此造成领养申请审核时间过长、材料杂乱无章、状态难以追踪的现象时有发生。就目前的研究来说,信息化手段可以有效地提高公益资源的配置效率[1]。宠物领养系统是救助方和领养方之间的桥梁,它的主要价值就是建立规范的操作流程。在经济快速发展的大环境下,宠物的拥有量不断增加,随之而来的弃养问题也愈加严重。传统的纸质登记方式已经不能满足业务量不断增加的要求了[2]。建立线上管理系统不但可以解决信息不对称问题,还可以通过数据积累为以后的决策提供依据[3]。宠物领养由原来的零散化转变为平台化,符合社会服务数字化转型的趋向。
系统存在意义就是操作效率的提高以及资源分配的改善这两个方面。自动化审核流程缩减了人工介入的环节,申请材料电子化存档削减了档案管理费用。普通用户可以随时查看申请进度,救助方可以批量处理领养请求,双向透明的机制大大加快了决策的速度。就行业而言,系统推进领养服务标准化进程。统一信息格式、状态标记可以降低沟通成本,审核记录具有很强的可追溯性可以提高责任认定能力。系统设计中模块划分的思想可以迁移到其他的公益领域,比如物资捐赠平台、志愿者管理系统等。实际运行效果是由功能完整性以及用户体验两方面共同决定的,这也是本文研究的主要方向。
1.2 国内外研究现状
国内宠物领养平台由最初的只是简单的信息发布,发展到现在可以进行流程管理的平台。早期的门户网站使用的是编辑发布的方式,用户是被动地接受宠物的信息,没有互动性。垂直社区兴起之后,论坛式平台使用户可以自由地发帖交流,但是信息的真实性很难得到保证,虚假的领养信息经常会出现。移动互联网时代产生专业的数据系统,部分平台开始将定位服务和社交功能结合在一起[4]。虽然提高了匹配的效率,但是领养后的追踪机制仍然很弱[5]。研究者认为国内平台普遍存在着重展示、轻审核的现象,用户提交的申请材料没有结构化的存储,造成审核效率低[6]。平台用信用分来解决信任缺失的问题[7]。总体上国内系统由工具型向服务型转变,但是流程闭环还存在较大的提升空间。
国外宠物领养平台开始得比较早,具有数据驱动和生态整合的特点。早期的平台主要是社交媒体属性,用户用分享的方式把领养信息传播出去。该模式虽然传播面广,但是信息结构化程度不高,检索效率较低。后续发展出现了专业的领养数据库,平台开始收集宠物的体型、性格、健康状况等结构化的数据,可以对多条件进行组合筛选[8]。部分平台同动物医院创建数据接口,领养者可以得到全部的疫苗接种记载[9]。商业机构开始介入该领域,电商平台将领养服务当作一项社会责任项目嵌入到现有的业务中[10]。数据驱动模式大大提高了匹配的准确性,可以按照用户的居住环境来推荐合适的宠物[11]。国外平台更重视领养后的跟踪,回访功能成了标配[12]。全流程管理的思想可以被国内系统所借鉴。
1.3 主要研究内容
本研究的主要工作就是设计和实现一个功能齐全的宠物领养系统。整个开发过程按照软件工程的规范来执行,从需求分析阶段开始,对普通用户和管理员这两个角色的操作范围做出明确规定。系统设计阶段确定前后端分离架构,前端用Vue框架搭建单页面应用,后端用Spring Boot提供RESTful API接口,MySQL数据库用来存储数据。功能模块被划分成用户管理、宠物信息管理、领养申请管理、内容审核管理这四个主要部分。主要研究业务流程的完整性设计,保证宠物发布、领养成功等各个环节都有状态记录。数据库设计采用第三范式,用外键约束来保证数据的一致性。测试阶段用黑盒法检验各个功能模块的正确性。本研究不包含移动端开发以及第三方支付的集成工作,可以作为后续的研究方向进行延伸。预期交付物为可以运行的系统原型、数据库设计文档、测试报告和用户操作手册。整体方法使用敏捷开发模式,用迭代的方式逐步完善功能细节。
第二章 相关技术介绍
2.1 Spring Boot框架
Spring Boot是基于Spring生态系统的开发框架,可以解决传统Spring应用配置复杂的问题。该框架用自动配置的方式减少开发者的手动设置工作。在宠物领养系统中,Spring Boot处理前端传来的HTTP请求,调用业务逻辑层处理数据,最后返回JSON格式的响应。框架内含Tomcat服务器,应用打包之后可以直接运行,不需要单独部署Web容器。Spring Boot根据类路径中的依赖来创建对应的Bean实例。条件注解机制可以定义配置生效的条件,比如只在某个类存在的时候才初始化某个组件。因此环境的改变变得更为灵活。框架给出的Actuator模块可以对外提供运行时指标接口,可以用来对系统健康状况进行监测。Spring Boot用拦截器链来完成身份验证和日志记录操作。框架起步依靠简化了的构建配置,开发者只需要添加对应场景的starter就可以得到完整的功能集[13]。
2.2 Vue框架
Vue框架使用渐进式的JavaScript架构,主要的库只负责视图层的渲染。该框架用虚拟DOM技术减少对真实DOM的直接操作,提高页面更新的速度。宠物领养系统前端部分使用Vue来管理用户界面各个组件的状态。组件化开发模式把页面拆分成可以独立复用的模块,每一个组件都有模板、逻辑和样式。框架的响应式系统可以跟踪数据的变化,当数据模型发生变化的时候,相关的视图区域就会被重新渲染。双向数据绑定机制可以简化表单输入处理,开发者不需要去监听输入事件。Vue Router官方路由库可以实现单页面应用内视图的切换,不需要重新加载整个页面。用户与系统交互时,用Vue的Axios库来发起异步请求获取后端的数据[14]。框架的生命周期钩子函数可以用来在组件创建、挂载、更新的时候执行自定义的逻辑。计算属性根据依赖缓存结果来决定是否重新计算。该种设计提高了页面响应速度。
2.3 MySQL数据库
MySQL数据库系统采用客户端-服务器模式,用SQL语言来完成数据的操作。存储引擎层可以提供不同的表类型,InnoDB引擎有事务处理功能。宠物领养系统数据持久化用MySQL来保存用户账户、宠物信息、领养申请这些主要的数据。数据库用B+树结构组织索引,在范围查询时表现较好。事务机制可以保证一个或者多个SQL语句要么全部成功执行,要么全部回滚,不会因为其中某个SQL语句的执行失败而使其他的数据更新受到影响,从而产生不一致的状态。外键约束是数据库中对表之间引用关系的约束,保证不会出现孤立的记录。查询优化器依据统计信息来挑选执行计划,决定应当采取何种索引或者怎样排列连接顺序。系统运行时会创建很多个数据库连接来使用,从而减小频繁创建、关闭连接所造成的开销[15]。预处理语句机制把SQL语句结构和参数分开,这样既可以提高重复执行效率,又可以降低注入攻击的风险。二进制日志记录所有的数据修改操作,可以用于数据恢复场景。
2.4 MyBatis框架
MyBatis框架属于持久层解决方案,把Java对象和SQL语句进行映射。该框架用XML文件或者注解来配置SQL语句,开发者可以完全控制SQL的执行过程。宠物领养系统中,MyBatis把Java实体类和数据库表的记录进行相互转换。框架内部用动态SQL技术,根据传入的参数条件来拼接不同的查询语句。灵活性在复杂的搜索场景中更加明显。Mapper接口用动态代理生成实现类,开发者只需要声明接口方法就可以调用对应的SQL。结果映射机制把数据库返回的列值注入到Java对象的属性中,可以实现简单类型到复杂关联对象的嵌套映射。一级缓存默认开启,同一个SqlSession内的查询结果会缓存起来。二级缓存跨SqlSession共享,需要在Mapper XML文件中手动配置开启。框架所给的插件机制可以拦截Executor组件,在SQL执行前后插入自定义的逻辑[16]。在分页查询场景下,插件会自动给原始的SQL加上limit子句。该框架的学习曲线比较平缓,适合需要对SQL进行精细控制的项目。
第三章 系统分析
3.1 可行性分析
3.1.1 技术可行性
系统使用的是Spring Boot和Vue前后端分离的架构,两个都是成熟的稳定的技术方案。Spring Boot框架自带自动配置,大大降低了项目的搭建难度。Vue框架有响应式数据绑定,可以简化前端交互逻辑的开发。MySQL关系型数据库可以进行事务处理,可以满足领养申请流程中数据一致性的要求。开发环境使用IntelliJ IDEA集成工具,用Maven来管理构建,所有的技术栈都有大量的项目进行测试,各个组件之间有很好的兼容性。服务器部署只需要JDK环境和MySQL服务,运行条件很容易满足。因此从技术上讲是可行的。
3.1.2 操作可行性
普通用户无需进行培训就可以完成注册登录操作,宠物浏览页面使用的是卡片式的布局方式,筛选条件只出现在侧边栏里。领养申请表单分为基本信息和补充材料两大部分,填写路径清楚。救助用户发布宠物的时候,系统给出结构化的表单来引导输入,防止出现重要的信息被遗漏的情况。管理员后台用独立界面设计,审核操作只在列表页上进行,有批量处理的功能。各个功能入口用图标和文字双标识来降低用户的认知负担。系统交互方式符合主流网站的使用习惯,学习成本小。
3.1.3 经济可行性
系统开发所用的软件工具均为开源或者免费的版本,IntelliJ IDEA社区版可以满足基本开发的需求。MySQL数据库支持社区版免费使用,无需支付授权费。前后端框架相关的依赖库可以免费从中央仓库下载。开发人员只需要一台普通的配置计算机就可以完成编码测试的工作。系统部署阶段可以选择本地服务器或者低成本云主机,硬件投资控制在合理的范围内。日常运维只需做数据库备份和日志清理,不需要增加人力成本。整体投入以开发人员的时间成本为主,经济负担小,有实施条件。
3.2 功能需求分析
UML用例图是一种用于描述系统功能和用户交互的建模工具,通过角色与用例的关系展示系统在不同场景下的行为。用例图能够直观表现系统边界,明确外部参与者与系统之间的交互方式。参与者代表不同用户群体或外部系统,用例则体现系统提供的功能或服务。该图在需求分析阶段具有重要作用,能够帮助开发者识别核心功能,避免遗漏关键需求。通过图形化表示,用例图便于沟通与理解,为后续的系统设计与实现提供依据。本文将对系统按照角色模块进行需求分析。
普通用户角色在系统中可以执行注册账号、登录系统、浏览宠物信息列表、按条件筛选宠物、查看宠物详情页面、提交领养申请、查看申请审核状态、发布宠物信息、管理已发布宠物等操作。该角色无权直接通过领养申请,所有申请需等待管理员审核。普通用户用例图如图3-1所示。
图3-1普通用户用例图
管理员角色在系统中可以执行管理普通用户账户、管理救助用户账户、审核宠物信息发布、审核领养申请、查看所有领养记录、管理品种类型字典、管理系统公告、查看系统运行统计等操作。该角色拥有系统全部数据访问权限,负责维护平台内容合规性。管理员用例图如图3-2所示。
图3-2管理员用例图
3.3 非功能需求分析
1.可用性需求
可用性方面,系统需要具备稳定的响应速度,保证在高并发访问场景下仍能保持界面加载的流畅性。系统需支持多平台访问,确保用户在不同终端均能获得一致的使用体验。系统需提供清晰的界面布局和直观的交互逻辑,降低操作难度。系统需支持持续的性能优化与功能扩展,保证在运行周期内保持较高的可用率。
2.可靠性需求
可靠性方面,系统需具备自动化容错机制,在出现局部故障时能够维持核心功能的正常运行。系统需支持数据备份与恢复策略,确保在异常情况下数据不丢失。系统需提供冗余设计,提高服务连续性。系统需具备运行监控与日志追踪功能,实现对运行状态的实时检测与问题定位。
3.安全性需求
安全性方面,系统需具备访问控制机制,确保不同角色用户在权限范围内进行操作。系统需提供身份认证与数据加密功能,保障传输与存储过程中的信息安全。系统需配置入侵检测与防护措施,降低潜在攻击风险。系统需支持日志审计,保证操作行为可追溯,满足合规性要求。
第四章 系统设计
4.1 系统架构设计
系统采用前后端分离架构模式,前端独立部署与后端通过HTTP协议通信。用户界面层负责数据展示与交互采集,所有业务请求封装为JSON格式发送至后端。应用服务层接收请求后调用对应业务逻辑组件,完成数据处理后返回响应。数据持久层通过ORM框架与MySQL数据库交互,执行数据读写操作。这种分层设计降低了各模块耦合度,前端修改不影响后端逻辑[17]。系统架构图如图4-1所示。
图4-1系统架构图
4.2 系统结构功能设计
系统功能围绕两类用户角色展开,普通用户可进行注册登录、宠物浏览筛选、详情页查看、领养申请管理、宠物发布操作。管理员负责用户账户管理、宠物信息审核、领养记录查看。注册模块收集用户基本信息并分配访问权限,登录模块验证身份后生成会话令牌。宠物浏览模块支持按品种类型、地区名称、宠物年龄等多维度筛选,排序功能可根据点赞数或点击数调整展示顺序。详情页面集中展示宠物完整档案,包括健康状况、领养条件等关键信息。领养申请模块要求用户上传申请材料并填写养宠经验,提交后进入审核队列。管理员审核界面列出待处理条目,支持通过或驳回操作。该系统功能结构如图4-2所示。
图4-2系统功能结构图
4.3 系统流程设计
4.3.1 系统总体业务流程设计
用户访问系统后需完成注册登录操作方可使用核心功能。登录状态下可浏览宠物列表并通过筛选条件缩小查找范围。选定宠物后进入详情页面查看完整信息,决定领养则填写申请材料提交。管理员后台接收申请后进行审核,审核通过即完成领养流程。未通过申请需反馈具体原因供用户修改。系统总体业务流程如图4-3所示。
图4-3系统总体业务流程图
4.3.2 宠物浏览与筛选流程设计
用户进入宠物信息页面后,系统默认展示全部宠物列表。用户可输入关键词进行模糊匹配,或按地区名称筛选特定区域宠物。排序功能支持按宠物年龄升序降序排列。每次筛选操作触发列表重新加载,筛选条件组合生效。宠物浏览与筛选流程如图4-4所示。
图4-4宠物浏览与筛选流程图
4.3.3 领养申请提交流程设计
用户在宠物详情页面点击申请领养按钮进入表单填写界面。系统要求申请人提交个人基本信息、领养理由、养宠经验描述、未来照顾计划四项内容。申请材料上传后系统校验必填项完整性,通过则生成申请记录并标记待审核状态。领养申请提交流程如图4-5所示。
图4-5领养申请提交流程图
4.3.4 宠物发布审核流程设计
救助用户填写宠物信息表单后提交系统,内容包括宠物名称、品种类型、健康状况、地区名称等字段。系统将信息存入数据库并标记审核状态为待审核。管理员登录后台查看待审核列表,检查信息完整性后执行通过或驳回操作。宠物发布审核流程如图4-6所示。
图4-6宠物发布审核流程图
4.3.5 用户管理流程设计
管理员进入用户管理界面查看系统所有注册账户。支持按用户类型筛选普通用户或救助用户,按用户姓名进行模糊查询。管理员可修改用户账户状态,包括冻结或注销操作。用户管理流程如图4-7所示。
图4-7用户管理流程图
4.4 数据库设计
数据库设计是在系统规划阶段,根据业务需求将现实世界中的实体、属性及关系抽象为数据模型的过程。设计者首先识别并定义实体及其属性,确定主键与外键关联,建立符合范式要求的逻辑结构;随后结合性能目标,选择字段类型、索引策略、分区方案及存储引擎,形成可直接部署的物理结构,以保证数据完整性、查询效率与未来可扩展性[18]。
4.4.1 E-R图设计
实体图是一种以图形化方式呈现业务要素及其关联的数据建模工具,用于在数据库设计阶段将需求转化为结构化的可视化表达。它通过节点对应业务实体,边对应实体间的关联关系,并在节点内列出关键属性,直观展示数据模型全貌,帮助快速识别冗余、厘清依赖,为后续逻辑设计与物理实现提供清晰蓝图。以下将展示系统的全局实体图及各主要实体的属性图[19]。
普通用户实体主要包括普通用户ID、用户姓名、用户年龄、用户性别、标签类型、宠物体型、宠物年龄、审核状态等属性。普通用户实体属性图如图4-8所示。
图4-8普通用户实体属性图
宠物信息实体主要包括宠物信息ID、宠物名称、品种类型、宠物年龄、宠物性别、健康状况、领养条件、宠物详情、地区名称、封面图片、点赞数、点击数、收藏数、评论数、审核状态、发布用户、智能推荐等属性。宠物信息实体属性图如图4-9所示。
图4-9宠物信息实体属性图
领养申请实体主要包括领养申请ID、宠物名称、品种类型、申请材料、申请日期、领养理由、养宠经验、照顾计划、审核状态、审核回复、发布用户、普通用户等属性。领养申请实体属性图如图4-10所示。
图4-10领养申请实体属性图
品种类型实体主要包括品种类型ID、品种类型等属性。品种类型实体属性图如图4-11所示。
图4-11品种类型实体属性图
用户账户实体主要包括用户ID、用户名、昵称、密码、用户组、账户状态、手机号码、邮箱、头像地址、上次登录时间等属性。用户账户实体属性图如图4-12所示。
图4-12用户账户实体属性图
系统E-R图如图4-13所示。
图4-13系统E-R图
4.4.2 数据库表设计
数据库表设计是根据业务需求,确定数据库表的结构、字段类型及其关系。通过规范化设计,保证数据的完整性、一致性与效率,同时避免冗余数据,并为后续的数据查询、存储和维护提供清晰的框架[19]。以下是系统的数据库表设计展示。
普通用户表主要是用来存储普通用户扩展信息。主要包括用户姓名、用户年龄、用户性别等字段。如表4-1所示。
表4-1普通用户表
| 序号 | 字段名 | 数据类型 | 长度 | 非空 | 主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 普通用户id | int | 11 | 是 | 是 | 普通用户ID |
| 2 | 用户姓名 | varchar | 64 | 否 | 否 | 用户姓名 |
| 3 | 用户年龄 | varchar | 64 | 否 | 否 | 用户年龄 |
| 4 | 用户性别 | varchar | 64 | 否 | 否 | 用户性别 |
宠物信息表主要是用来存储待领养宠物完整档案。主要包括宠物名称、品种类型、宠物年龄等字段。如表4-2所示。
表4-2宠物信息表
| 序号 | 字段名 | 数据类型 | 长度 | 非空 | 主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 宠物信息id | int | 11 | 是 | 是 | 宠物信息ID |
| 2 | 宠物名称 | varchar | 64 | 否 | 否 | 宠物名称 |
| 3 | 品种类型 | varchar | 64 | 否 | 否 | 品种类型 |
| 4 | 宠物年龄 | varchar | 64 | 否 | 否 | 宠物年龄 |
领养申请表主要是用来存储用户提交的领养请求。主要包括宠物名称、品种类型、申请材料等字段。如表4-3所示。
表4-3领养申请表
| 序号 | 字段名 | 数据类型 | 长度 | 非空 | 主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 领养申请id | int | 11 | 是 | 是 | 领养申请ID |
| 2 | 宠物名称 | varchar | 64 | 否 | 否 | 宠物名称 |
| 3 | 品种类型 | varchar | 64 | 否 | 否 | 品种类型 |
| 4 | 申请材料 | varchar | 255 | 否 | 否 | 申请材料 |
品种类型表主要是用来存储宠物分类字典数据。主要包括品种类型字段。如表4-4所示。
表4-4品种类型表
| 序号 | 字段名 | 数据类型 | 长度 | 非空 | 主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 品种类型id | int | 11 | 是 | 是 | 品种类型ID |
| 2 | 品种类型 | varchar | 64 | 否 | 否 | 品种类型 |
用户账户表主要是用来存储登录认证信息。主要包括用户名、密码、用户组等字段。如表4-5所示。
表4-5用户账户表
| 序号 | 字段名 | 数据类型 | 长度 | 非空 | 主键 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 用户id | int | 11 | 是 | 是 | 用户ID |
| 2 | 用户名 | varchar | 16 | 是 | 否 | 用户名 |
| 3 | 密码 | varchar | 64 | 是 | 否 | 密码 |
| 4 | 用户组 | varchar | 32 | 否 | 否 | 所在用户组 |
第五章 系统实现
5.1 普通用户角色功能实现
5.1.1 注册登录
注册模块主要是对用户身份信息进行采集与验证。用户填写用户名、密码、联系方式后提交系统,后端校验用户名唯一性。校验通过则生成加密密码存储至数据库,同时创建普通用户角色关联记录。登录模块对用户提交凭证进行验证,匹配成功则生成会话令牌返回前端。令牌在后续请求中携带,用于身份识别。注册登录界面如图5-1所示。
图5-1注册登录界面
5.1.2 宠物浏览与筛选
宠物浏览模块主要是对系统中已审核通过的宠物信息进行展示。系统默认以列表形式呈现宠物卡片,每个卡片包含宠物名称、品种类型、封面图片等概要信息。用户可在搜索框输入关键词执行模糊匹配,系统返回标题或描述包含关键词的宠物列表。筛选面板提供地区名称下拉选项,选择后仅展示该区域宠物。排序组件支持按宠物年龄升序或降序排列,每次排序触发列表重新渲染。宠物浏览与筛选界面如图5-2所示。
图5-2宠物浏览与筛选界面
5.1.3 宠物详情页查看
宠物详情模块主要是对单个宠物完整档案进行展示。用户点击列表中的宠物卡片后,系统根据宠物信息ID发送查询请求。后端返回的数据包含宠物名称、品种类型、宠物年龄、健康状况、领养条件、宠物详情等完整字段。页面顶部展示宠物图片轮播,中部呈现详细信息表格,底部显示点赞数与点击数统计。每次页面加载时系统自动增加该宠物的点击数字段。宠物详情页界面如图5-3所示。
图5-3宠物详情页界面
5.1.4 领养申请管理
领养申请模块主要是对用户提交的领养请求进行全流程管理。用户在详情页点击申请按钮后进入表单页面,需要填写领养理由、养宠经验、照顾计划三项文本内容,同时上传申请材料附件。提交后系统生成申请记录并标记审核状态为待审核。用户可在个人中心查看申请列表,每条记录显示审核状态与管理员回复内容。审核通过的申请不可修改,被驳回的申请支持重新提交。领养申请管理界面如图5-4所示。
图5-4领养申请管理界面
5.1.5 宠物发布
宠物发布模块主要是对救助用户上传宠物信息进行收集。用户填写宠物名称、选择品种类型、设定宠物年龄、选择健康状况、上传封面图片、填写宠物详情后提交系统。表单校验所有必填项非空,图片上传组件支持本地预览功能。提交后宠物信息记录进入待审核状态,管理员审核通过后才会在前端展示。用户可在个人中心查看已发布宠物列表,支持编辑修改或删除下架操作。宠物发布界面如图5-5所示。
图5-5宠物发布界面
5.2 管理员角色功能实现
5.2.1 用户管理
用户管理模块主要是对系统注册账户进行状态控制。管理员进入管理界面后查看所有用户列表,支持按用户类型筛选普通用户或救助用户。每条记录显示用户姓名、账号状态、注册时间等信息。管理员可执行冻结操作,被冻结账户无法登录系统。注销操作彻底移除账户访问权限,但保留历史数据用于审计。用户管理界面如图5-6所示。
图5-6用户管理界面
5.2.2 宠物审核管理
宠物审核模块主要是对救助用户提交的宠物信息进行合规检查。管理员查看待审核列表,每条记录包含宠物名称、品种类型、发布用户等关键字段。点击详情按钮展开完整信息,包括宠物详情描述与封面图片。审核操作提供通过与驳回两个选项,驳回时需填写具体原因反馈给发布用户。支持批量审核功能,可同时处理多条记录。宠物审核管理界面如图5-7所示。
图5-7宠物审核管理界面
5.2.3 领养记录管理
领养记录模块主要是对系统内所有领养申请进行集中查阅。管理员进入记录列表后查看全部申请条目,支持按审核状态筛选待处理或已完成的申请。每条记录显示宠物名称、申请用户、申请日期等信息。点击详情查看完整申请材料与用户填写的领养理由、养宠经验。管理员可在此页面直接修改审核状态,通过记录将进入已完成列表。领养记录管理界面如图5-8所示。
图5-8领养记录管理界面
第六章 系统测试
6.1 测试目的
系统测试旨在验证宠物领养系统各项功能是否符合需求规格说明。测试过程覆盖用户注册登录、宠物信息浏览、领养申请提交、管理员审核等核心业务流程。通过黑盒测试方法检查系统在正常操作与异常输入下的响应行为。测试重点关注功能完整性与数据一致性,确保每个模块边界条件处理正确。这种测试策略能够有效识别业务流程中的逻辑缺陷[20]。
6.2 测试方法
系统测试采用黑盒测试方法,不关注内部代码实现,仅验证输入输出是否符合预期。测试用例设计基于功能需求文档,覆盖正常场景与异常场景。功能测试验证每个模块是否按规格说明运行,包括页面跳转、数据提交、状态更新等操作。有效性测试从用户角度检查系统是否满足实际业务需求。每个测试用例执行后记录实际结果与预期结果对比。
6.3 测试内容
(1)用户注册功能测试如表6-1所示。
表6-1用户注册功能测试
| 测试内容 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|
| 正常注册 | 填写完整注册信息提交 | 提示注册成功并跳转登录页 | 符合预期 |
| 用户名重复 | 使用已存在用户名注册 | 提示用户名已被占用 | 符合预期 |
| 信息缺失 | 必填项留空提交 | 提示请填写完整信息 | 符合预期 |
(2)宠物浏览功能测试如表6-2所示。
表6-2宠物浏览功能测试
| 测试内容 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|
| 关键词搜索 | 输入品种名称点击搜索 | 显示匹配宠物列表 | 符合预期 |
| 地区筛选 | 选择地区名称筛选 | 仅显示该地区宠物 | 符合预期 |
| 年龄排序 | 点击年龄排序按钮 | 列表按年龄重新排列 | 符合预期 |
(3)领养申请功能测试如表6-3所示。
表6-3领养申请功能测试
| 测试内容 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|
| 正常申请 | 填写完整申请信息提交 | 生成申请记录待审核 | 符合预期 |
| 重复申请 | 同一宠物重复提交申请 | 提示已有申请待处理 | 符合预期 |
| 材料缺失 | 不上传附件直接提交 | 提示请上传申请材料 | 符合预期 |
(4)宠物审核功能测试如表6-4所示。
表6-4宠物审核功能测试
| 测试内容 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|
| 通过审核 | 选择待审核宠物点击通过 | 宠物信息前端可见 | 符合预期 |
| 驳回申请 | 选择待审核宠物点击驳回 | 状态变更为已驳回 | 符合预期 |
| 批量审核 | 选择多条记录批量操作 | 所有选中记录状态变更 | 符合预期 |
(5)用户管理功能测试如表6-5所示。
表6-5用户管理功能测试
| 测试内容 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|
| 冻结账户 | 选择用户执行冻结操作 | 该用户无法登录 | 符合预期 |
| 注销账户 | 选择用户执行注销操作 | 用户数据保留但无法访问 | 符合预期 |
| 条件筛选 | 按用户类型筛选列表 | 仅显示指定类型用户 | 符合预期 |
测试结论
测试结果表明宠物领养系统各项功能运行正常。用户注册登录流程通畅,宠物浏览筛选功能响应及时。领养申请提交后状态更新准确,管理员审核操作能够正确修改记录状态。异常输入场景下系统给出明确提示信息,未发生崩溃或数据错误。测试用例全部通过,系统满足需求规格说明要求。
总结
宠物领养系统用Spring Boot和Vue框架进行开发。系统就传统领养模式的信息不对称问题,给予在线信息展示和申请管理的功能。开发过程按照软件工程规范进行,达到了预期的设计目的。
工作总结就是需求分析清楚了普通用户和管理员的职责范围。系统设计使用了前后端分离的方式,减少模块之间藕链。编码完成用户管理、宠物信息管理、领养申请管理等主要功能。经由测试检验可以知晓各个模块都能够顺利运作,所有的业务流程也都已经实现。
不足之处在于没有将即时通讯功能整合进来,用户之间只能通过脱离平台的方式交流。宠物推荐算法比较简单,只用基本属性匹配,没有使用机器学习模型。缺少领养后追踪机制,不能得到宠物后续的生活状况。
未来可以增加站内信的功能来降低用户的沟通成本。推荐模块可以收集用户的浏览行为数据,从而达到个性化排序的目的。开发移动端应用来扩大覆盖范围。系统在动物保护领域有推广价值,可以给同类公益平台提供借鉴。
参考文献
[1] 余久久,葛颖,凤鹏飞,等.面向Spring Cloud微服务架构的智慧校园宠物领养系统敏捷设计[J].佳木斯大学学报(自然科学版), 2025, 43(7): 37-42.
[2] 马铭悦.领养宠物却掉入“爱的陷阱”小心“猫贷”有猫腻[J].中国经济周刊, 2025(3): 74-75.
[3] 于中阳.城市宠物信息化管理研究[J].产业与科技论坛, 2024, 23(18): 228-230.
[4] 费天乐,刘君.宠物领养一站式服务平台可行性及运行模式研究[J].国际公关, 2023(12): 170-172.
[5] 周粉妹,吴仁平,钱荣华,等.基于SSM的宠物领养网站设计[J].扬州职业大学学报, 2021, 25(1): 32-35.
[6] 金馨.基于SSM的宠物店线上运营系统的设计与实现[D].北京:首都经济贸易大学, 2021.
[7] 胡静蓉.免费宠物领养背后的陷阱[N].北京商报, 2024-10-11(004).
[8] How Irish Families Are Turning to Online Platforms for Safer Pet Adoption[J]. M2 Presswire, 2025, 117(3): 45-48.
[9] ConnectPosts Launches Heartwarming Pet Adoption Campaign to Drive Awareness and Engagement[J]. M2 Presswire, 2025, 117(5): 67-70.
[10] Bel Furniture & City of Katy Animal Control Present: Pawsome Pet Adoption Party Memorial Day Weekend[J]. M2 Presswire, 2024, 116(6): 78-81.
[11] Pet Adoption Simplified With New Central Database For Rescue Dogs & Cats[J]. M2 Presswire, 2023, 115(4): 56-59.
[12] Horogo J J, Mtavangu G S, Pasape L, et al. Determinants of household adoption of water treatment and safe storage technologies among pastoral communities in Tanzania[J]. World Development Sustainability, 2026, 8: 100294.
[13] 十三,尼克陈.Spring Boot+Vue 3大型前后端分离项目实战[M].北京:电子工业出版社,2023:719.
[14] 刘凡馨,夏帮贵.Python 3基础教程实验指导与习题集[M].北京:人民邮电出版社,2024:114.
[15] 陈业斌.数据库原理及应用:MySQL版[M].北京:人民邮电出版社,2023:400.
[16] 闾枫.Spring Boot项目开发教程[M].北京:人民邮电出版社,2022:264.
[17] 周喜平.Spring Cloud微服务架构实战[M].北京:人民邮电出版社,2022:393.
[18] 柯妍,孙佳留,朱士飞,等.基于MySQL的煤质信息数据库设计[J].资源信息与工程,2024,39(3):117-121.
[19] 胡劲.数据库信息管理系统的逻辑架构与功能设计探析[J].电脑知识与技术,2023,19(19):96-98.
[20] Myers G J,Badgett T,Sandler C.软件测试的艺术[M].北京:机械工业出版社,2023:304.
致谢
本项目完成过程中得到很多人的帮助和支持,在此对所有帮助过我的人表示衷心的感谢。
我要感谢我的指导老师。感谢您在项目各个阶段中给予我的悉心指导以及宝贵的意见。每当我在项目中遇到困难、遇到挑战的时候,您总是耐心地回答我的问题,用详细讲解的方式使我对有关的理论、实践知识有更深层次的理解。您的专业态度以及严谨的教学方式,不但是我学会项目中所学的技能,更是对我所从事的专业领域进行更深层次的思考。没有您的指导,这个项目不可能这么顺利地完成。
感谢我的同学。项目实施期间,与我有深入交流,提出自己的想法、建议,从不同的角度对问题进行观察,使我的工作得以顺利开展。虽然本项目是独立完成的,但是和同学们交流使我不再局限于原有思路,产生了很多新的想法。我还要感谢我的家人。在我花费大量的时间进行项目研究的时候,家人一直对我表示理解和支持,在遇到困难的时候支持我坚持下去。你们的关心是推动我不断前进、不断进步的动力。感谢学校给予的学习平台和资源,在完成项目并且达到预期效果之后,才能取得成功。经过此次课业项目的学习,一方面可以学到有关的专业知识与技能,另一方面也可以培养出独立思考、解决问题的能力。这些收获会对我的学习和成长产生深远的影响。
再次感谢在我此次项目中给予我帮助和支持的所有人,是你们的帮助使我能够顺利完成此次项目。