PHP动物收容所管理系统-计算机设计毕业源码94164

摘 要

利用PHP语言和相关技术,设计和实现一个高效、可靠的动物收容所管理系统。该系统将提供系统用户、动物信息管理、领养申请处理、志愿者管理、医疗记录管理、捐赠信息、系统管理等功能,旨在促进动物收容所管理工作的便捷和透明化。本研究首先介绍了动物收容所管理系统的研究背景和现状,包括动物收容所管理需求的增加和传统方式存在的问题。接着,探讨了研究目的和预期成果,强调了提高管理效率、保障动物福利和提供用户友好体验的重要性。动物收容所管理系统是基于浏览器与服务器架构平台,采用PHP语言开发,利用ThinkPHP 6框架进行逻辑控制,MySQL数据库存储数据,最后部署在Apache或Nginx服务器上完成发布,系统可在多个环境下运行。

关键词:PHP开发语言;ThinkPHP 6框架技术;动物收容所管理系统

Abstract

Design and implement an efficient and reliable animal shelter management system using PHP language and related technologies. The system will provide system users, animal information management, adoption application processing, volunteer management, medical record management, donation information, system management and other functions, aiming to promote the convenience and transparency of animal shelter management. This study first introduces the research background and current situation of the animal shelter management system, including the increasing demand for animal shelter management and the problems existing in traditional methods. Subsequently, the research objectives and expected outcomes were discussed, emphasizing the importance of improving management efficiency, ensuring animal welfare, and providing a user-friendly experience. The animal shelter management system is based on a browser and server architecture platform, developed in PHP language, using the ThinkPHP 6 framework for logical control, storing data in a MySQL database, and finally deployed on Apache or Nginx servers for publication. The system can run in multiple environments.

Keywords : PHP development language; ThinkPHP 6 framework technology; Animal shelter management system

目 录

[++++第1章 绪论++++](#第1章 绪论)

[++++1.1 研究背景++++](#1.1 研究背景)

[++++1.2 研究现状++++](#1.2 研究现状)

[++++1.3 研究目的和预期成果++++](#1.3 研究目的和预期成果)

[++++第2章 相关技术介绍++++](#第2章 相关技术介绍)

[++++第3章 系统分析++++](#第3章 系统分析)

[++++3.1 可行性分析++++](#3.1 可行性分析)

[++++3.1.1 经济可行性分析++++](#3.1.1 经济可行性分析)

[++++3.1.2 技术可行性++++](#3.1.2 技术可行性)

[++++3.2 系统功能需求++++](#3.2 系统功能需求)

++++3.3系统业务流程分析++++

[++++第4章 系统设计++++](#第4章 系统设计)

[++++4.1 总体结构设计++++](#4.1 总体结构设计)

[++++4.2 功能模块设计++++](#4.2 功能模块设计)

[++++4.3 数据库设计++++](#4.3 数据库设计)

[++++4.3.1 概念设计++++](#4.3.1 概念设计)

[++++4.3.2 逻辑设计++++](#4.3.2 逻辑设计)

[++++4.4++++ ++++表access_token (登陆访问时长)++++](#4.4 表access_token (登陆访问时长))

[++++4.5++++ ++++表adoption_information (领养信息)++++](#4.5 表adoption_information (领养信息))

[++++4.6++++ ++++表animal_information (动物信息)++++](#4.6 表animal_information (动物信息))

[++++4.7++++ ++++表animal_species (动物品种)++++](#4.7 表animal_species (动物品种))

[++++4.8++++ ++++表article (文章:用于内容管理系统的文章)++++](#4.8 表article (文章:用于内容管理系统的文章))

[++++4.9++++ ++++表article_type (文章分类)++++](#4.9 表article_type (文章分类))

[++++4.10++++ ++++表auth (用户权限管理)++++](#4.10 表auth (用户权限管理))

[++++4.11++++ ++++表collect (收藏)++++](#4.11 表collect (收藏))

[++++4.12++++ ++++表comment (评论)++++](#4.12 表comment (评论))

[++++4.13++++ ++++表cost_information (费用信息)++++](#4.13 表cost_information (费用信息))

[++++4.14++++ ++++表donation_information (捐赠信息)++++](#4.14 表donation_information (捐赠信息))

[++++4.15++++ ++++表employee_users (员工用户)++++](#4.15 表employee_users (员工用户))

[++++4.16++++ ++++表hits (用户点击)++++](#4.16 表hits (用户点击))

[++++4.17++++ ++++表notice (公告)++++](#4.17 表notice (公告))

[++++4.18++++ ++++表payment_of_fees (支付费用)++++](#4.18 表payment_of_fees (支付费用))

[++++4.19++++ ++++表praise (点赞)++++](#4.19 表praise (点赞))

[++++4.20++++ ++++表regular_users (普通用户)++++](#4.20 表regular_users (普通用户))

[++++4.21++++ ++++表slides (轮播图)++++](#4.21 表slides (轮播图))

[++++4.22++++ ++++表thank_you_for_your_message (感谢信息)++++](#4.22 表thank_you_for_your_message (感谢信息))

[++++4.23++++ ++++表upload (文件上传)++++](#4.23 表upload (文件上传))

[++++4.24++++ ++++表user (用户账户:用于保存用户登录信息)++++](#4.24 表user (用户账户:用于保存用户登录信息))

[++++4.25++++ ++++表user_group (用户组:用于用户前端身份和鉴权)++++](#4.25 表user_group (用户组:用于用户前端身份和鉴权))

[++++4.26++++ ++++表volunteer_users (志愿用户)++++](#4.26 表volunteer_users (志愿用户))

[++++第5章 系统实现++++](#第5章 系统实现)

[++++5.1 登录模块的实现++++](#5.1 登录模块的实现)

[++++5.2 用户模块的实现++++](#5.2 用户模块的实现)

[++++5.2.1 注册模块的实现++++](#5.2.1 注册模块的实现)

[++++5.2.2 前台首页界面的实现++++](#5.2.2 前台首页界面的实现)

[++++5.2.3 动物领养收藏模块的实现++++](#5.2.3 动物领养收藏模块的实现)

[++++5.2.4 领养申请模块的实现++++](#5.2.4 领养申请模块的实现)

[++++5.3 管理员后台模块的实现++++](#5.3 管理员后台模块的实现)

[++++5.3.1 用户管理模块的实现++++](#5.3.1 用户管理模块的实现)

[++++5.3.2 感谢信息模块的实现++++](#5.3.2 感谢信息模块的实现)

[++++5.3.3 领养信息管理模块的实现++++](#5.3.3 领养信息管理模块的实现)

[++++5.3.4 捐赠信息管理模块的实现++++](#5.3.4 捐赠信息管理模块的实现)

++++5.4员工用户费用信息管理模块的实现++++

++++5.5志愿者捐赠信息管理模块的实现++++

[++++第6章 系统测试++++](#第6章 系统测试)

[++++6.1 测试目的++++](#6.1 测试目的)

[++++6.2 测试用例++++](#6.2 测试用例)

[++++6.2.1 登录测试++++](#6.2.1 登录测试)

[++++6.2.2 创建数据测试++++](#6.2.2 创建数据测试)

[++++6.2.3 修改数据测试++++](#6.2.3 修改数据测试)

[++++6.2.4 查询数据测试++++](#6.2.4 查询数据测试)

[++++6.3 测试结果++++](#6.3 测试结果)

++++总结与展望++++

++++参考文献++++

[++++致 谢++++](#致 谢)

  1. 绪论
    1. 研究背景

随着社会对于动物保护意识的提高和流浪动物数量的增加,越来越多的人开始关注流浪动物的生存和合理的管理。流浪动物收容所作为解决流浪动物问题的重要一环,承担着收容和管理流浪动物的责任。设计和实现一个动物收容所管理系统,将极大地促进流浪动物管理工作的效率和透明度。采用B/S架构应用,结合前端Vue.js和ElementUI以及后端PHP+TP6+MySQL技术栈,动物收容所管理系统可以实现信息化管理,通过系统的自动化处理,能够减少人工操作的繁琐,提高管理效率,为流浪动物提供更好的管理和照顾。动物收容所管理系统的设计和实现,将提供详尽的流浪动物信息展示、领养后续跟踪等功能,方便用户了解和选择合适的流浪动物,并提供领养后的跟踪服务,增加流浪动物被领养的机会。同时,系统还可将流浪动物的信息同步到其他平台,扩大宣传范围,进一步促进流浪动物的领养。

    1. 研究现状

近年来,随着社会对动物福利的关注度不断增加,动物收容所管理系统成为了学术界和实践领域的研究热点。这些管理系统旨在提供一种集中管理、统计和优化资源利用的工具,以提高动物收容所的效率和服务质量。

研究表明,动物收容所管理系统的功能主要包括动物档案管理、医疗护理记录、领养登记、失踪动物查询等。通过该系统,工作人员可以方便地记录和查询动物的基本信息、健康状况和领养情况,从而更好地管理动物的日常需求和行程安排。

在国内外学术界和实践领域,已经有多个研究团队对动物收容所管理系统展开了深入的研究。例如,美国的ASPCA(美国防止虐待动物协会)开发了一个名为"Shelter Manager"的管理系统,该系统通过提供在线数据库和资源调配功能,帮助收容所进行高效的管理和运营。

此外,也有许多研究关注动物收容所管理系统的应用和效果评估。研究者通过实地调研和数据分析,探讨了这些系统在提高工作效率、优化资源利用、促进动物领养等方面的积极影响。他们还发现,动物收容所管理系统可以促进与志愿者和领养人之间的沟通和协作,提高服务质量和用户满意度。

然而,目前仍存在一些挑战和问题需要解决。首先,不同地区和机构使用的管理系统存在标准不一致和互操作性差异,导致信息共享和数据整合困难。其次,数据安全和隐私保护是一个重要的考虑因素,需要制定相关政策和措施来确保用户和动物的权益得到保护。此外,系统的使用培训和技术支持也需要加强,以提高用户的操作便利性和系统的稳定性。

综上所述,动物收容所管理系统的研究现状表明,这是一个具有广泛应用前景和实践意义的领域。未来的研究应该注重推动标准化和互操作性的发展,加强数据安全和隐私保护,同时提供培训和技术支持,以促进动物收容所管理系统的应用和发展。

    1. 研究目的和预期成果

动物收容所管理系统的研究目的是为了提供一个高效、安全、便捷的平台,以帮助动物收容所实现更好的管理和运营。通过该系统,我们旨在实现以下预期成果:

首先,提高动物收容所的工作效率和服务质量。动物收容所管理系统可以集中管理动物的信息和档案,包括动物的基本信息、健康状况、领养情况等。通过系统的使用,工作人员可以更方便地记录和查询动物的相关信息,从而提高工作效率和资源利用效果。

其次,优化资源调配和动物匹配。通过动物收容所管理系统,我们可以更准确地了解动物的需求和适应性,从而更好地进行资源调配和动物匹配。系统可以根据动物的特点和领养者的条件,进行智能匹配和推荐,促进流浪动物与有爱心的领养者之间的对接和匹配。

此外,动物收容所管理系统还能促进数据共享和合作。通过系统的建设和推广,不同地区和机构的动物收容所可以进行数据共享和合作,提高整个行业的效益和效果。这有助于加强动物保护的合作与交流,促进经验和资源的共享,提升整个动物收容所管理水平。

最终,动物收容所管理系统的研究目的和预期成果将为推动动物保护事业的发展做出贡献。通过提供一个高效、安全、便捷的平台,我们希望能够改善动物收容所的工作环境和服务质量,提高流浪动物的生活质量和幸福感,同时也激发社会的关爱和参与,共同为动物保护事业创造更好的未来。

  1. 相关技术介绍
    1. PHP开发语言

PHP是一种面向对象的程序设计语言,类是PHP程序的基本组成单元,类中又包含了属性和方法,在类中又可以创建无数个对象。类中包含的主要成员是字段和方法,字段是指一种数据变量,方法是指对字段进行操作的集合,包括给其他变量赋值、调用方法等。PHP代码都是编写在类体中,类体中的每个数据项都可以看作是一个对象,PHP不支持类的多重继承,但可以支持接口的多重继承,并且支持类和接口的实现。由于PHP通常在网络环境中使用,所以PHP提供了一个防止代码恶意攻击的安全机制,同时,PHP具有强类型机制、自动收集垃圾和异常处理等特性,这些都是PHP语言健壮性的重要保证。

1、PHP语言具有如下特点:

(1)PHP 结合 C、Java、Perl 以及自创的新语法形成了自己独特的语法。

(2)PHP可以更快速的执行动态网页,当然这只是相对于CGI或者Perl来说,PHP可以在HTML文档中嵌入程序,而且去执行,另外PHP能够实现CGI的所有功能,因此说明PHP具有很强大的功能。

(3)大部分当下流行的数据库和操作系统PHP语言都能够支持。

(4)PHP语言的最重要特点就是可以让C、C++进行扩展

2、PHP语言具有如下优势:

(1)开放源代码:事实上PHP的所有源代码都可以得到。

(2)免费性:PHP是开源代码并且免费

(3)快捷性:PHP对于初学者来说,它不止编辑简单可以嵌入与HTML语言中,而且对于程序开发和运行也是非常快速的,并且非常容易掌握。

(4)跨平台性强:PHP是可以在服务器运行的脚本语言,所以在UNIX、Android、Mac OS、WINDOWS等操作平台上都可以运行。

(5)效率高:PHP对系统资源的消耗相当少,所以它的效率高。

(6)图像处理:PHP不止是可以使用GD2对图像进行处理,而且他还可以完成对图像的创建。

(7)面向对象:php4、php5对于PHP在面向对象上,有了许多的改进,PHP语言开发大型商业程序也是可以胜任的。

    1. JavaScript脚本语言

此作品中,其中包含了页面的搭建,以及前后台数据接口的连接等,而对于实现用户页面交互以及一些页面逻辑性判断等功能都是用JavaScript完成的[7],而JavaScript是已经被广泛用于Web应用开发,是一种属于网络的脚本语言,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能。JavaScript作为一种描述语言,作用于web前端,它基于对象(object)和事件驱动(Event Driven)并且安全性也较好。它可以有效的在客户端运行并为服务器减轻负担。

1、JavaScript具有的特点:

(1)脚本语言。JavaScript是一种脚本语言并具有解释性,在程序运行过程中,它就可以进行解释。

(2)基于对象。JavaScript可以创建对象,而且还可以使用现在存在的对象,它是基于对象的脚本语言。

(3)简单。JavaScript不对使用的数据类型有着严格的要求,应用的是弱类型的变量类型,设计是十分紧凑简单。

(4)动态性。JavaScript是可以不经过Web服务器对用户的操作做出相应,是可以采用事件驱动的脚本语言。

(5)跨平台性。JavaScript可以不依赖操作系统,但需要浏览器的支持。所以在编写JavaScript脚本后可以在任意机器上使用,但要注意的一点,使用的浏览器是支持JavaScript脚本语言,现在大多浏览器也支持JavaScript。

2、JavaScript的用途

JavaScript的用途是解决页面交互和数据交互,最终目的是丰富客户端效果以及数据的有效传递。

(1)实现页面交互,提升用户体验实现页面特效。即js操作html的dom节构或操作样式。

(2)客户端表单验证。当数据传送到服务端前,可以将用户填入并上交的信息快速有效的验证,进行了数据的交互,为服务器减轻了负担。

    1. Mysql数据库

Mysql Database,通常简称为Mysql,是一款关系型数据库的管理系统。Mysql数据库系统是目前最流行的关系型数据库管理系统之一,其系统具有良好的可移植性,功能强大且使用十分方便。Mysql支持很多系统和硬件,包括HP-UX,Linux,MicrosoftWindows,SunSolaris,AppleMac等。

Mysql系统的特点:

(1)Mysql的多线索服务器的体系结构使其只利用很少的资源就能够支持多用户的、大数据的高性能事务处理;

(2)Mysql支持大量的多媒体数据,例如声音、动画、二进制图形和多维数据结构等;

(3)Mysql提供了安全保密管理系统,具有良好的安全性、一致性和完整性;

(4)具有新的分布式数据库能力和分布处理的能力;

(5)提供了一些高级语言的接口软件,可以帮助快速开发基于客户端的应用程序,具有良好的移植性、可连结性和可兼容性。

Mysql数据库逻辑结构包含表空间(tablespace)、段(segment)、范围(extend)、数据块(datablock)、和模式对象(schemaobject) 。每一个数据库都可以逻辑划分为一个或多个表空间,每一个表空间都是由一个或多个数据文件来组成。Mysql数据库分为系统表空间和非系统表空间,每一个Mysql数据库都包含一个称作SYSTEM的系统表空间。

    1. AJAX技术

AJAX是创建交互式网页的一种开发技术,利用AJAX技术可以实现以无刷新网页的方式更新HTML元素中的内容。传统的网页如果要更新网页内容,必须重新加载整个页面,而AJAX使用异步数据传输在网页和Web服务器之前传递HTTP请求,这样可以使网页只请求少量信息,而不用刷新整个页面。

    1. Thinkphp框架介绍

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

  1. 系统分析
    1. 可行性分析

为了迎合当今社会的现况,便于在市场中打开局面、占有一席之地;在大数据时代下,所有的信息化资源全部都是共享资源、为了长远性考虑,对此需要考虑如何推动整体的系统开发实现标准化。保证系统成功,所以就必须从效益、技术等上面做可行性报告研究。

      1. 经济可行性分析

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

      1. 技术可行性

软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦。

    1. 系统功能需求

普通用户用例图如下所示。

图3-1 普通用户用例图

管理员用例图如下所示。

图3-2 管理员用例图

员工用户用例图如下所示。

图3-3 员工用户用例图

志愿者用例图如下所示。

图3-4 志愿者用户用例图

表3-1 个人信息管理用例描述

|------|----------------------------------|
| 用例名称 | 管理和修改个人信息 |
| 参与者 | 用户 |
| 描述 | 用户查看、修改个人信息 |
| 前置条件 | 用户已登录到系统中 |
| 后置条件 | 无 |
| 事件流 | (1)用户查看个人信息 (2)用户修改个人信息 |
| 补充说明 | (a)用户可修改密码 (b)用户可修改个人资料,例如姓名,头像等 |

表3-1 用户管理用例描述

|-------|-----------------------------------|
| 描述项 | 说明 |
| 用例名称 | 用户操作 |
| 用例描述 | 管理员正确登录后台管理的条件下,对用户进行管理 |
| 参与者 | 管理员 |
| 前置条件 | 管理员登录成功并跳转到后台主界面 |
| 后置条件 | 操作成功 |
| 主事件流 | 管理员跳转用户管理页面,查询用户详情的信息 管理员可以删除用户信息 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1领养信息管理用例描述

|-------|-----------------------------------------------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 领养信息操作 |
| 用例描述 | 管理员正确登录后台管理的条件下,对领养信息模块进行管理 |
| 参与者 | 管理员 |
| 前置条件 | 管理员成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)管理员进入领养信息管理页面,查询领养信息的信息 (2)管理员可以对领养信息进行增加、删除和编辑领养信息操作 (3)管理员新增领养信息,添加成功跳转到查询页面 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1 费用信息管理用例描述

|-------|--------------------------------------------------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 费用信息操作 |
| 用例描述 | 管理员正确登录后台管理的条件下,对费用信息模块进行管理 |
| 参与者 | 管理员 |
| 前置条件 | 管理员成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)管理员进入费用信息管理页面,查询费用信息的信息 (2)管理员可以对费用信息进行删除和编辑费用信息操作 (2)管理员可以对费用支付信息进行删除和编辑费用支付信息操作 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1 捐赠信息管理用例描述

|-------|---------------------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 捐赠信息操作 |
| 用例描述 | 管理员正确登录后台管理的条件下,对捐赠信息模块进行管理 |
| 参与者 | 管理员 |
| 前置条件 | 管理员成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)管理员进入捐赠信息管理页面,查询捐赠信息的信息 (2)管理员可以对捐赠信息进行查询删除和编辑捐赠信息操作 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1 评论管理用例描述

|-------|---------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 评论操作 |
| 用例描述 | 管理员正确登录后台管理的条件下,评论模块进行管理 |
| 参与者 | 管理员 |
| 前置条件 | 管理员成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)管理员进入评论管理页面,查询评论内容的信息 (2)管理员可以从用户评论中删除数据 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1 员工用户感谢信息管理用例描述

|-------|---------------------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 感谢信息操作 |
| 用例描述 | 员工用户正确登录后台管理的条件下,对感谢信息模块进行管理 |
| 参与者 | 员工用户 |
| 前置条件 | 员工用户成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)员工用户进入感谢信息管理页面,查询感谢信息的信息 (2)员工可以对感谢信息进行查询删除和编辑感谢信息操作 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1 员工用户动物品种管理用例描述

|-------|---------------------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 动物品种操作 |
| 用例描述 | 员工用户正确登录后台管理的条件下,对动物品种模块进行管理 |
| 参与者 | 员工用户 |
| 前置条件 | 员工用户成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)员工用户进入动物品种管理页面,查询动物品种的信息 (2)员工可以对动物品种进行查询删除和编辑动物品种操作 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

表3-1志愿者感谢信息管理用例描述

|-------|---------------------------------------------------------|
| 描述项 | 说明 |
| 用例名称 | 感谢信息操作 |
| 用例描述 | 志愿者正确登录后台管理的条件下,对感谢信息模块进行管理 |
| 参与者 | 志愿者 |
| 前置条件 | 志愿者用户成功登录 |
| 后置条件 | 操作成功 |
| 主事件流 | (1)志愿者进入感谢信息管理页面,查询动物品种的信息 (2)志愿者可以对感谢信息进行查询删除和编辑感谢信息操作 |
| 异常事件流 | e1.报500错误 e2.数据库连接异常 |

3.3系统业务流程分析

管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过系统提供的注册功能,进行身份验证并注册,而后在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

动物收容所管理系统的业务流程如下图所示。

图3-3 系统业务流程图

  1. 系统设计
    1. 总体结构设计

层次框图是一系列由多层矩形框架组成的树,其顶部为矩形框架,表示整个数据结构,下方的长方形立方体表示独立的数据,下方的长方形表示该数据的实际数据(不能进行分割)。由于这个架构的精炼,层级方块图描述的资料结构也愈加详尽,这个模型很好地满足了需求分析的要求。首先对最上层的信息进行分类,然后在图表中的每个路径上重复地进行优化,直至完整的数据结构被确定。

这个系统由两个模块组成,一是管理员,二是普通用户,三是员工用户,四是志愿者用户,这四个部分看起来是独立的,实际上却是连接着数据库,每个模块都有自己的权限,唯一不同的,就是访问的方式不同。在调研资料的基础上,完成了各个模块的功能。在对上述功能进行分析的基础上,本系统提出了四个主要的模块,每个单元可划分为若干小单元。

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

图4-2 系统功能结构图

    1. 功能模块设计

动物收容所管理系统在前端设计采用多种技术交互使用达到界面简洁大方,使用Java作为系统的编译语言,对于之前的分析所产生的问题进行解决,功能模块设计后进行编码实现具体功能:

登录模块:使用者必须输入正确的账号与密码才能访问系统。

动物领养管理模块:管理者根据选择,可以给用户发布动物领养信息,在添加动物领养是输入动物领养的详细信息,添加需要上传的文件之后回到动物领养管理界面,在修改动物领养时修改不对的信息,也可以删除重新添加动物领养。

领养申请模块:包括前台的领养申请和后台的领养申请管理,前台让用户申请领养,后台查看领养申请情况。

捐赠信息管理模块:相关权限用户可以进行捐赠信息的查询、添加、修改、删除操作,也可以对捐赠用户、捐赠时间、捐赠物品、捐赠数量、捐赠金额等数据项进行单独操作,设置数据类型等参数。

收容所工作人员功能:

流浪动物信息管理:工作人员记录流浪动物的基本信息,如品种、年龄、性别、健康状况等。

领养管理:该模块包括领养申请管理和领养记录管理。用户填写领养申请表单,提供个人信息和领养动物的要求,用户提交申请后,系统会将领养申请分配给工作人员进行审核。审核人员可以查看申请信息,并决定是否通过或拒绝申请。系统会记录每次领养的详细信息,

费用管理:工作人员可以记录和管理领养费用的收入和支出,用户可以在系统中查看领养费用信息,并进行支付或退款。

公告和通知管理:通知可以以弹窗方式展示,工作人员可以发布公告,包括流浪动物收容所的重要通知、丢失的宠物等。也可以向指定的用户发送通知消息,包括领养申请审核结果等。

志愿者管理:工作人员可以管理志愿者的信息,包括添加、编辑和删除志愿者,以及安排志愿者的工作任务。

流浪动物医疗记录管理:工作人员可以记录和管理流浪动物的医疗信息,如疫苗注射记录、疾病诊断等。

捐赠管理:系统将记录每个捐赠项目的捐赠记录,包括捐赠日期、捐赠者信息、捐赠金额或物品等,以便后续进行跟踪和统计,工作人员发送感谢函给捐赠者并根据捐赠者意愿将捐赠信息发布在公告上。愿者的工作任务。

个人中心:收容所工作人员可以在个人中心查看和编辑个人信息,包括姓名、联系方式、修改登录密码等。

    1. 数据库设计
      1. 概念设计

在需求分析中,我们用来分析的对象往往是抽象的概念,所以在这个环节应当避免过于细致的细节分析,而是通过这些抽象的概念来分析实体所具备的属性和实体之间的联系。动物收容所管理系统利用E-R图对上述实体和联系进行描述。

图4-3 普通用户信息E-R关系图

图4-4 捐赠信息E-R关系图

图4-5领养信息E-R关系图

图4-6 费用信息E-R关系图

图4-7 支付费用E-R关系图

图4-8 支付费用E-R关系图

总体ER图如下图所示。

图4-8 总体ER图

      1. 逻辑设计

所有系统的应用数据相互区分。一旦在相应的系统中实现,它们将与自己相应的网络和服务器通信。所以这个系统可以连接这些数据。当我们选择桥梁截面时,以下将简要介绍如何建立系统。在单击上一个按键的时候,就会自动在对话框中弹出数据源的名字,之后再单击下一个按键时,就在填写相对应的身份验证和登录信息。按照系统功能设计的特点与职能模块的分类,动物收容所管理系统的总体设计和实施过程一共涉及到了几个资料表格。

以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:

    1. 表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 | 用户编号: |

    1. 表adoption_information (领养信息)

|----|-------------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | adoption_information_id | int | 10 | 0 | N | Y | | 领养信息ID |
| 2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 3 | user_name | varchar | 64 | 0 | Y | N | | 用户姓名 |
| 4 | animal_names | varchar | 64 | 0 | Y | N | | 动物名称 |
| 5 | animal_species | varchar | 64 | 0 | Y | N | | 动物品种 |
| 6 | animal_gender | varchar | 64 | 0 | Y | N | | 动物性别 |
| 7 | animal_age | int | 10 | 0 | Y | N | 0 | 动物年龄 |
| 8 | adoption_information | text | 65535 | 0 | Y | N | | 领养信息 |
| 9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 10 | examine_reply | varchar | 16 | 0 | Y | N | | 审核回复 |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

    1. 表animal_information (动物信息)

|----|-----------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | animal_information_id | int | 10 | 0 | N | Y | | 动物信息ID |
| 2 | employee_users | int | 10 | 0 | Y | N | 0 | 员工用户 |
| 3 | employee_name | varchar | 64 | 0 | Y | N | | 员工姓名 |
| 4 | animal_names | varchar | 64 | 0 | Y | N | | 动物名称 |
| 5 | animal_species | varchar | 64 | 0 | Y | N | | 动物品种 |
| 6 | animal_images | varchar | 255 | 0 | Y | N | | 动物图片 |
| 7 | animal_gender | varchar | 64 | 0 | Y | N | | 动物性别 |
| 8 | animal_age | int | 10 | 0 | Y | N | 0 | 动物年龄 |
| 9 | health_condition | text | 65535 | 0 | Y | N | | 健康状况 |
| 10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

    1. 表animal_species (动物品种)

|----|-------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | animal_species_id | int | 10 | 0 | N | Y | | 动物品种ID |
| 2 | animal_species | 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 (文章:用于内容管理系统的文章)

|----|-------------|-----------|------------|-----|------|----|-------------------|------------------------------------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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. 表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 | 更新时间: |

    1. 表auth (用户权限管理)

|----|----------------|-----------|-------|-----|------|----|-------------------|---------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y | | 授权ID: |
| 2 | user_group | varchar | 64 | 0 | Y | N | | 用户组: |
| 3 | mod_name | varchar | 64 | 0 | Y | N | | 模块名: |
| 4 | table_name | varchar | 64 | 0 | Y | N | | 表名: |
| 5 | page_title | varchar | 255 | 0 | Y | N | | 页面标题: |
| 6 | path | varchar | 255 | 0 | Y | N | | 路由路径: |
| 7 | position | varchar | 32 | 0 | Y | N | | 位置: |
| 8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 13 | field_add | text | 65535 | 0 | Y | N | | 添加字段: |
| 14 | field_set | text | 65535 | 0 | Y | N | | 修改字段: |
| 15 | field_get | text | 65535 | 0 | Y | N | | 查询字段: |
| 16 | table_nav_name | varchar | 500 | 0 | Y | N | | 跨表导航名称: |
| 17 | table_nav | varchar | 500 | 0 | Y | N | | 跨表导航: |
| 18 | option | text | 65535 | 0 | Y | N | | 配置: |
| 19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |

    1. 表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 | 更新时间: |

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

    1. 表cost_information (费用信息)

|----|----------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | cost_information_id | int | 10 | 0 | N | Y | | 费用信息ID |
| 2 | employee_users | int | 10 | 0 | Y | N | 0 | 员工用户 |
| 3 | employee_name | varchar | 64 | 0 | Y | N | | 员工姓名 |
| 4 | animal_names | varchar | 64 | 0 | Y | N | | 动物名称 |
| 5 | animal_species | varchar | 64 | 0 | Y | N | | 动物品种 |
| 6 | adoption_expenses | int | 10 | 0 | Y | N | 0 | 领养费用 |
| 7 | shelter_expenses | int | 10 | 0 | Y | N | 0 | 收容所支出 |
| 8 | income_from_shelters | int | 10 | 0 | Y | N | 0 | 收容所收入 |
| 9 | information_remarks | varchar | 64 | 0 | Y | N | | 信息备注 |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

    1. 表donation_information (捐赠信息)

|----|-------------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | donation_information_id | int | 10 | 0 | N | Y | | 捐赠信息ID |
| 2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 3 | user_name | varchar | 64 | 0 | Y | N | | 用户姓名 |
| 4 | name_of_the_shelter | varchar | 64 | 0 | Y | N | | 收容所名称 |
| 5 | donation_date | date | 10 | 0 | Y | N | | 捐赠日期 |
| 6 | donation_amount | int | 10 | 0 | Y | N | 0 | 捐赠金额 |
| 7 | donated_items | varchar | 64 | 0 | Y | N | | 捐赠物品 |
| 8 | information_remarks | text | 65535 | 0 | Y | N | | 信息备注 |
| 9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 10 | examine_reply | varchar | 16 | 0 | Y | N | | 审核回复 |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

    1. 表employee_users (员工用户)

|----|----------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | employee_users_id | int | 10 | 0 | N | Y | | 员工用户ID |
| 2 | employee_name | varchar | 64 | 0 | Y | N | | 员工姓名 |
| 3 | employee_gender | varchar | 64 | 0 | Y | N | | 员工性别 |
| 4 | contact_phone_number | 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 | 更新时间 |

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

    1. 表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 | 更新时间: |

    1. 表payment_of_fees (支付费用)

|----|----------------------|-----------|----|-----|------|----|-------------------|-----------------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | payment_of_fees_id | int | 10 | 0 | N | Y | | 支付费用ID |
| 2 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 3 | user_name | varchar | 64 | 0 | Y | N | | 用户姓名 |
| 4 | animal_names | varchar | 64 | 0 | Y | N | | 动物名称 |
| 5 | animal_species | varchar | 64 | 0 | Y | N | | 动物品种 |
| 6 | adoption_expenses | varchar | 64 | 0 | Y | N | | 领养费用 |
| 7 | shelter_expenses | varchar | 64 | 0 | Y | N | | 收容所支出 |
| 8 | income_from_shelters | varchar | 64 | 0 | Y | N | | 收容所收入 |
| 9 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
| 10 | pay_type | varchar | 16 | 0 | Y | N | | 支付类型: 微信、支付宝、网银 |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

    1. 表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已取消 |

    1. 表regular_users (普通用户)

|----|----------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | regular_users_id | int | 10 | 0 | N | Y | | 普通用户ID |
| 2 | user_name | varchar | 64 | 0 | Y | N | | 用户姓名 |
| 3 | user_gender | varchar | 64 | 0 | Y | N | | 用户性别 |
| 4 | contact_phone_number | 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 | 更新时间 |

    1. 表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 | 更新时间: |

    1. 表thank_you_for_your_message (感谢信息)

|----|-------------------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | thank_you_for_your_message_id | int | 10 | 0 | N | Y | | 感谢信息ID |
| 2 | employee_users | int | 10 | 0 | Y | N | 0 | 员工用户 |
| 3 | employee_name | varchar | 64 | 0 | Y | N | | 员工姓名 |
| 4 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 5 | user_name | varchar | 64 | 0 | Y | N | | 用户姓名 |
| 6 | thank_you_for_the_title | varchar | 64 | 0 | Y | N | | 感谢标题 |
| 7 | sending_date | date | 10 | 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 | 更新时间 |

    1. 表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 | | 文件类型 |

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

|----|--------------|-----------|-----|-----|------|----|-------------------|-------------------------------------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | mediumint | 8 | 0 | N | Y | | 用户ID:[0,8388607]用户获取其他与用户相关的数据 |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N | | 所在用户组:[0,32767]决定用户身份和权限 |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N | | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N | | 用户名:[0,16]用户登录时所用的账户名称 |
| 8 | nickname | varchar | 16 | 0 | Y | N | | 昵称:[0,16] |
| 9 | password | varchar | 64 | 0 | N | N | | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
| 10 | email | varchar | 64 | 0 | Y | N | | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N | | 头像地址:[0,255] |
| 13 | open_id | varchar | 255 | 0 | Y | N | | 针对获取用户信息字段 |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 15 | vip_level | varchar | 255 | 0 | Y | N | | 会员等级 |
| 16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |

    1. 表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 | 更新时间: |

    1. 表volunteer_users (志愿用户)

|----|----------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 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 | contact_phone_number | 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 | 更新时间 |

  1. 系统实现
    1. 登录模块的实现

用户登录的验证将不再局限于登录信息和权限的匹配验证,而是另外增加了一个验证码,只有界面上所有的编辑框数据都准确的情况下才能实现登录成功。管理员的登录和前台用户登录是一样的过程,其主要就是利用权限字段来完成对用户或管理员的角色识别。

用户登录流程图如下所示。

图5-1 用户登录流程图

登录界面如下图所示。

图5-1 登录界面

    1. 用户模块的实现
      1. 注册模块的实现

系统的用户通过自行注册生成,在系统首页点击用户注册菜单,系统跳转到对应的注册页面。点击重置按钮,清空所填数据,点击注册按钮完成注册。

用户注册流程图如下所示。

图5-1 用户注册流程图

用户注册界面如下图所示。

图5-1 用户注册界面

      1. 前台首页界面的实现

当进入动物所收容所管理系统的时候,首先映入眼帘的是系统的导航栏,下面是轮播图以及系统内容,下面的图片展示的就是该板块对应的工作面。

前台首页界面图如下所示。

图5-1 前台首页界面

      1. 动物领养收藏模块的实现

用户选择相应的动物领养收藏,通过id传参,找到id为此传参的动物领养,在收藏页提交收藏记录表单,生成收藏记录,用户在个人中心管理个人的收藏夹。

动物领养收藏界面如下图所示。

图5-1 动物领养收藏界面

      1. 领养申请模块的实现

用户执行领养申请,并可以操作相关内容,例如查看,编辑。领养申请的添加操作是建立在领养信息的列表基础上,单击查领养信息下的领养申请链接;然后单击"领养申请"进行添加,添加成功后的信息会载入到领养申请查询列表中。

领养申请流程图如下所示。

图5-1 领养申请流程图

领养申请界面如图所示。

图5-1 领养申请界面

    1. 管理员后台模块的实现
      1. 用户管理模块的实现

用户通过注册了方可获得登录使用权限,此时选择普通用户选项,系统就会自动转到用户注册工作面,在注册该部分信息时系统会自动调用add函数,然后在给定的文本框中填写有关该用户的基础信息后选择确认即可完成注册。检索用户信息,在新增用户信息以后,在检索工具栏中填写对应的用户信息,系统就会将该用户有关的所有信息展示出来。

用户管理流程图如下所示。

图5-1 用户管理流程图

用户管理界面如下图所示。

图5-1 用户管理界面

      1. 感谢信息模块的实现

管理员执行感谢信息管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击"添加感谢信息",可以通过感谢信息添加界面添加详细信息并添加感谢信息注释。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击"提交"跳转重返到添加页面。添加成功后的信息会载入到感谢信息查询列表中,管理员可进行编辑以及修改。

感谢信息管理流程如下图所示。

图5-1 感谢信息管理流程

感谢信息管理界面如下图所示。

图5-1 感谢信息管理界面

      1. 领养信息管理模块的实现

领养信息管理包括删除领养信息、修改领养信息、查询领养信息等,以领养信息查询为例,在视图层请求领养信息信息查询,反馈后,调用业务逻辑层,通过业务逻辑层的接口调用底层的数据逻辑层完成数据库联动操作。

领养信息管理的流程如所示。

图5-1领养信息管理流程

领养信息管理界面如所示。

图5-1 领养信息管理界面

      1. 捐赠信息管理模块的实现

在主页左侧菜单栏中点击"捐赠信息管理"按钮,再从二级目录中点击"新增捐赠信息"按钮,进入到新增捐赠信息界面。在此处捐赠信息可以添加捐赠信息的收容所名称、捐赠日期、普通用户、用户姓名、捐赠物品、信息备注、捐赠金额、捐赠数量。

在主页左侧菜单栏中点击"捐赠信息管理"按钮,再从二级目录中点击"查询捐赠信息"按钮,进入到查询捐赠信息界面。在此处捐赠信息可以查询当前所有捐赠信息记录。

捐赠信息管理流程如下图所示。

图5-1 捐赠信息管理流程

捐赠信息添加的界面如所示。

图5-1 捐赠信息管理界面

5.4员工用户费用信息管理模块的实现

员工用户执行费用信息管理,并可以操作相关内容,例如添加,查看,编辑和删除。通过单击"添加费用信息",可以通过费用信息添加界面添加详细信息并添加费用信息注释。单击查看字段级别链接以查看有关所选字段级别的信息。然后单击"提交"跳转重返到添加页面。添加成功后的信息会载入到费用信息查询列表中,员工用户可进行编辑以及修改。

费用信息管理流程如下图所示。

图5-1 费用信息管理流程

费用信息管理界面如下图所示。

图5-1 员工用户费用信息管理界面

5.5志愿者捐赠信息管理模块的实现

捐赠信息管理包括删除捐赠信息、修改捐赠信息、查询捐赠信息等,以捐赠信息查询为例,在视图层请求捐赠信息信息查询,反馈后,调用业务逻辑层,通过业务逻辑层的接口调用底层的数据逻辑层完成数据库联动操作。

捐赠信息管理的流程如所示。

图5-1捐赠信息管理流程

捐赠信息管理界面如所示。

图5-1 志愿者捐赠信息管理界面

  1. 系统测试
    1. 测试目的

系统测试的目的是为了尽可能多的检查出系统出现的bug,因为系统是人做出来的,肯定存在由于算法等各种原因造成问题,错误暴露得越早越好,如果能在系统上线之前就能找到这些bug肯定是最好不过了的,所以需要对系统进行测试。本文主要就是对系统进行了兼容性的测试,还有就是使用了典型测试用例进行测试。

    1. 测试用例
      1. 登录测试

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

表6-1 登录测试用例

|-----------------|------------------|------|
| 测试用例编号 | YL_01 ||
| 测试用例名称 | 系统使用者登录 ||
| 测试用例描述 | 登录者输入用户名、密码和验证码 ||
| 系统入口 | 浏览器 ||
| 步骤 | 预期结果 | 实际结果 |
| 输入正确的用户名、密码和验证码 | 提示"登录成功",并进入系统 | 预期结果 |
| 输入错误的用户名、密码和验证码 | 提示"登录失败",并返回登录界面 | 预期结果 |
| 不输入用户名、密码和验证码 | 提示"请输入完整" | 预期结果 |

      1. 创建数据测试

在系统中,创建功能也是基础功能之一,因此创建功能的测试很有代表性。在此章节主要列举在创建时各种情况下系统结果的测试。由于系统涉及创建功能操作过多,因此将多处统称创建功能。

创建数据用例如下表所示。

表6-2 创建数据测试用例

|-------------------|------------------|------|
| 测试用例编号 | YL_05 ||
| 测试用例名称 | 系统使用者进行创建数据 ||
| 测试用例描述 | 使用者输入要创建的数据 ||
| 系统入口 | 浏览器 ||
| 步骤 | 预期结果 | 实际结果 |
| 输入完整并且格式正确的数据 | 提示"创建成功",并显示所有数据 | 预期结果 |
| 核心位置数据但非必要位置不输入数据 | 提示"创建成功",并显示所有数据 | 预期结果 |
| 核心数据位置不输入数据 | 提示"创建失败" | 预期结果 |

      1. 修改数据测试

在系统中,修改功能是系统主要实现功能,因此修改功能的测试很有代表性。在此章节主要列举在修改时各种情况下系统结果的测试。由于系统涉及修改功能操作过多,因此将多处数据表记录修改和状态修改统称修改功能。

修改数据用例如下表所示。

表6-3 修改数据测试用例

|---------------|------------------|------|
| 测试用例编号 | YL_06 ||
| 测试用例名称 | 系统使用者进行修改数据 ||
| 测试用例描述 | 使用者对可修改的数据项进行修改 ||
| 系统入口 | 浏览器 ||
| 步骤 | 预期结果 | 实际结果 |
| 将现有数据修改成正确的数据 | 提示"修改成功",并显示所有数据 | 预期结果 |
| 将现有数据修改成错误的数据 | 提示"修改失败" | 预期结果 |

      1. 查询数据测试

在系统中,查询功能是使用系统使用最多也是最基础的功能,因此查询功能的测试很有代表性。在此章节主要列举在查询时各种情况下系统结果的测试。

查询数据用例如下表所示。

表6-4 查询数据测试用例

|-----------------|-----------|------|
| 测试用例编号 | YL_05 ||
| 测试用例名称 | 系统使用者进行查询数据 ||
| 测试用例描述 | 全部查询以及输入关键词查询 ||
| 系统入口 | 浏览器 ||
| 步骤 | 预期结果 | 实际结果 |
| 界面自动查询全部 | 显示对应所有记录 | 预期结果 |
| 输入已存在且能匹配成功的关键字 | 显示所查询到的数据 | 预期结果 |
| 输入不存在的关键字 | 显示数据界面为空 | 预期结果 |

    1. 测试结果

在本次测试的过程主要针对所有功能下的添加操作,修改操作和删除操作,并以真实数据一一进行相关功能项目的输入,最终能够保证每个项目涉及的功能都是能够正常运行,因此能够保证本次设计的,已实现的功能能够正常运行并且相关数据库的信息也同样保证正确。

总结与展望

动物收容所管理系统采用PHP语言和ThinkPHP 6框架进行开发。该系统集成了ThinkPHP 6框架的优点,成熟、强大、易理解和使用,通过这个结构降低了开发的难度。本系统基于PHP和ThinkPHP 6实现了动物收容所管理系统,将数据操作维护的过程转化为电脑操作流程。具体实现了系统用户管理、动物领养数据维护、领养公告数据维护和领养申请数据维护等功能,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利能力。

目前完成的动物收容所管理系统还有许多改进的空间。首先,在功能方面,用户应能够修改自己的相关信息,故应增设个人中心功能。此外,如果系统能提供更多功能,如数据当前分析和未来预测等,将使系统更加丰富和多样化。

其次,在技术方面的改进,由于对开发框架不太熟悉,权限管理部分采用了一个PHP页面来规定导航栏的跳转页面,这相对不够灵活。如果能将URL路径记录到数据库并实现增删查改,将会更好。另外,对于EasyUI的使用还不够熟练,视觉效果和界面观感有待提升。希望日后能对这个系统进行改进,并提升用户体验和界面设计,充分发挥ThinkPHP 6框架的优势。

参考文献

[1]刘畅,王陈. MySQL数据库课程的教学评价体系设计 [J]. 电子技术, 2024, 53 (01): 393-395.

[2]Aberuagba A ,Joel B E ,Bello J A , et al. Thermophilic PHP Protein Tyrosine Phosphatases (Cap8C and Wzb) from Mesophilic Bacteria [J]. International Journal of Molecular Sciences, 2024, 25 (2):

[3]杜艳. 山西省临汾市野生动物收容救护情况调查分析 [J]. 山西林业科技, 2023, 52 (04): 61-62.

[4]赵春辉. PHP应用漏洞检测方法研究[D]. 北京邮电大学, 2023.

[5]管林丹,王文哲. 山东省流浪动物及流浪动物收容所现状调查分析 [J]. 山东畜牧兽医, 2023, 44 (11): 15-19.

[6]Karthik G ,Debashish M ,Jagoda C , et al. Developing a MySQL Database for the Provenance of Black Tiger Prawns (Penaeus monodon). [J]. Foods (Basel, Switzerland), 2023, 12 (14):

[7]徐明,卢伟. 武威地区野生动物收容救护初探 [J]. 今日畜牧兽医, 2023, 39 (06): 72-75.

[8]郑沁. 美国流浪动物收容制度研究[D]. 华东政法大学, 2023.

[9]戴巍,胡静. 废弃空间下的流浪猫收容场所设计研究 [J]. 设计, 2023, 36 (04): 146-148.

[10]左黎韵. 探索"政府+民间"联护模式 为更多野生动物提供"庇护所"[N]. 重庆日报, 2022-12-19 (005).

[11]丁晶晶. 大理市城市流浪动物协同治理研究[D]. 云南财经大学, 2022.

[12]翁安娜. 我国伴侣动物福利立法论[D]. 华东政法大学, 2022.

[13]杨华兵,李智华,冯新华等. 新疆兵团野生动物收容救护规范化建设探讨 [J]. 内蒙古林业调查设计, 2022, 45 (03): 94-96.

[14]刘蕾. 北京市流浪动物治理研究[D]. 中央财经大学, 2022.

[15]Li J . Construction of training platform for teachers professional ability of normal students based on ThinkPHP [J]. Frontiers in Educational Research, 2022, 4.0 (15.0):

[16]张俊雪. 俄罗斯动物保护立法探究[D]. 上海外国语大学, 2022.

[17]邢月,喻德荣. 简析流浪动物救助实践困境与路径优化 [J]. 大众标准化, 2021, (04): 71-73.

[18]姜苏. 基于互联网平台解决社会流浪动物问题的可行性研究[D]. 山东农业大学, 2021.

[19]刘琴琴. 我国流浪动物规范管理的法律研究[D]. 西北大学, 2022.

[20]刘思悦. 犬类动物收容所环境创新设计研究[D]. 武汉工程大学, 2022.

致 谢

在此论文完成之际,感谢我的指导老师。在指导老师的网页设计课上,当时我学到了很多东西,这对于我实习过程中也打了一定的基础,而且指导老师对于我的设计也提出许多建议,并予以悉心的指导,对于一些细小的问题都耐心的指导我去完善,授予我写论文的心得,时常的鼓励我,另外感谢教导我完善此项目的前端同学,对于这个项目,我是边学习边实现完成的,有许多东西开始并不是很明白,但前端开发的同学非常耐心的引导我去将这个项目完成,在系统的后端开发中,所用到的后台开发技术也时常会给我讲解,助于我更好的将论文完成,在此对帮助到我的同学和一直予以教导的指导老师致以衷心的感谢,祝事业有成。

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

相关推荐
程序猿小D4 分钟前
第三百三十一节 Java网络教程 - Java网络UDP多播
java·网络·udp
灭掉c与java7 分钟前
第五章springboot实现web的常用功能
java·spring boot·spring
初晴~18 分钟前
【Spring】RESTful设计风格
java·后端·spring·springboot·restful
风动也无爱37 分钟前
Java的正则表达式和爬虫
java·爬虫·正则表达式
訴山海38 分钟前
解决Excel文件流读取数字为时间乱码问题
java·文件流
今日之风甚是温和44 分钟前
【Excel】拆分多个sheet,为单一表格
java·excel·sheet·vb宏
聂 可 以1 小时前
IDEA一键启动多个微服务
java·微服务·intellij-idea
刘大浪1 小时前
IDEA 2024安装指南(含安装包以及使用说明 cannot collect jvm options 问题一)
java·ide·intellij-idea
菠菠萝宝1 小时前
【YOLOv8】安卓端部署-1-项目介绍
android·java·c++·yolo·目标检测·目标跟踪·kotlin
全栈小51 小时前
【PHP】部署和发布PHP网站到IIS服务器
服务器·开发语言·php