(2024最新毕设合集)基于PHP技术的宠物领养系统的设计与实现-48326|可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案

基于PHP技术的宠物领养系统的设计与实现

摘 要

随着宠物领养需求的增加,传统的领养方式存在信息不透明、流程繁琐等问题。为了解决这些问题,本研究利用PHP语言开发了一个高效、可靠的宠物领养系统。该系统提供宠物信息展示、领养申请、用户管理等功能,旨在促进宠物领养的便捷和透明化。在技术选型方面,我们选择了PHP作为开发语言,并使用适当的框架(如Laravel或CodeIgniter)简化开发过程。数据存储和管理采用MySQL数据库,系统通过Apache服务器进行发布。通过设计和实现这个系统,我们能够提高宠物领养的效率,保障动物福利,并提供用户友好的体验。本研究的成果对于推动宠物领养的便捷化和透明化具有重要意义,并为相关领域的研究和实践提供了有益的参考。

关键词:宠物领养,PHP技术,系统设计与实现,信息透明化,用户友好体验

Design and Implementation of a Pet Adoption System Based on PHP Technology

Abstract

With the increasing demand for pet adoption, traditional adoption methods face problems such as information opacity and cumbersome processes. To address these issues, this study developed an efficient and reliable pet adoption system using PHP language. This system provides functions such as pet information display, adoption application, and user management, aiming to promote the convenience and transparency of pet adoption. In terms of technology selection, we have chosen PHP as the development language and simplified the development process using appropriate frameworks such as Laravel or CodeIgniter. The data storage and management adopt MySQL database, and the system is published through Apache server. By designing and implementing this system, we can improve the efficiency of pet adoption, ensure animal welfare, and provide a user-friendly experience. The results of this study are of great significance for promoting the convenience and transparency of pet adoption, and provide useful references for research and practice in related fields.

Key words: Pet adoption, PHP technology, system design and implementation, information transparency, and user-friendly experience

目  录

第1章 绪论

1.1 研究背景

1.2 研究现状

1.3 本文的组织结构

2章 系统分析

2.1 可行性分析

2.1.1 法律可行性分析

2.1.2 技术可行性分析

2.1.3 经济可行性分析

2.2 功能需求分析

2.3 非功能需求分析 7

2.4 用例分析 7

2.5 业务流程分析

2.6 数据流程分析

3章 系统设计

3.1 系统架构设计

3.2 系统功能结构 12

3.3 功能模块设计

3.4 数据库设计

3.4.1 E-R

3.4.2 表结构设计

4章 系统实现

4.1 开发工具

4.2 注册模块

4.3 登录/注销模块

4.4 用户功能模块

4.5 管理员功能模块

5章 系统测试 35

5.1 测试概述 35

5.2 测试过程 35

5.2.1 登录测试 35

5.2.2 信息录入测试 35

5.2.3 信息更新测试 36

5.2.4 信息删除测试 36

5.3 测试结果 36

6章 总结与展望

6.1 总结

6.2 展望

参考文献

致谢 41

第1章绪论

1.1研究背景

随着经济的快速发展和生活水平的不断提高,在追求丰富的物质生活同时,人们也一直在寻求精神上的寄托,其精神寄托方式也越来越多样化,不再局限于伴侣、亲人、朋友等同类人身上,而是将视线凝聚在伴侣动物身上。现如今,越来越多的人开始喜欢饲养宠物,把宠物作为自己的家庭成员,陪伴自己一起生活,日夜相处感情深厚,宠物渐渐的已经成为了我们的好朋友。然而大量的宠物饲养,随之带来的诸多问题也逐步显露出来。近几年来由于生活节奏的加快、人们的压力增大,没有时间和空间去照顾宠物导致弃养宠物的家庭增加,流浪动物数量递增,越来越多的流浪动物不仅对动物的生存造成影响而且也影响了城市环境。

为了解决流浪动物泛滥的问题,各省市先后出现了公共或私营的动物救助站,但由于地域限制、资金短缺、宣传困难等问题,流浪动物的领养和助养发展缓慢。随着互联网技术的发展,特别是电子商务的快速普及,为流浪动物的领养普及和快速发展提供了良好的条件。虽然目前互联网平台上已经有一些相关的救助网站,但因为信息更新不及时、地域限制、人力物力匮乏等问题,有领养意愿和条件的爱心人士不能及时接收到领养信息;救助站也存在动物泛滥、资金短缺的情况,无法形成良性循环。因此,开发一个完善的宠物领养系统具有重要的应用价值和研究意义。

基于PHP技术的宠物领养系统的设计与实现,可以提供一个完善的领养平台,突破传统宠物领养的模式,方便有意愿领养宠物的人们进行全面了解和选择,在更快的时间获得更加准确的领养信息。

1.2研究现状

随着宠物饲养数量的不断增加,遭到遗弃的犬猫数量也在逐年递增。据统计,全球流浪动物数量约为2亿,而中国的流浪动物数量为4000万,占全球流浪动物总量的四分之一,它们的生存情况异常艰辛。针对这一现象,国内外已经有一些研究关于宠物救助领养系统的相关工作。

国外的宠物救助领养系统已经比较成熟,例如美国的PetFinder、加拿大的Petango等系统,它们已经成为了宠物救助和领养的主要平台。“领养代替购买”是这些年被很多人认可并推广的一种养宠理念,这个理念的核心是通过领养的方式给被公益组织收容的宠物提供一个家。在美国,尤其是在大城市,领养已经成为了获得宠物最重要的途径。根据 GfK RoperPublic Affaires&Media发起的“大家是怎么获得自己宠物”的调查问卷中显示: 当问到“您是或将从哪里得到您的宠物?”时,82%的人表示根本不可能在宠物商店购买宠物。相对于购买而言,美国人更喜欢领养宠物,并且给宠物足够的关爱。

而据调查显示,在中国,宠物狗43.9%是从宠物店获得的,领养相较于购买的比例 占其11.8%的数字;宠物猫的来源,除了“街上捡到”占比 32.6%,宠物店购买的数目占宠物猫总数的25.3%,而领养仅仅占比 19.9%。由此可见,在中国,领养宠物仍然任重而道远。而“领养”既能救流浪动物于水火之中,给它们一个温暖的归宿,同时又能减少我国流浪动物的数量,让城镇的生活环境更加美好;在减轻救助机构负担的同时,人们也多了拥有一个贴心、忠诚的伙伴。目前国内的宠物救助领养系统也开始逐渐发展,例如,北京市朝阳区就建立了宠物救助和领养平台,上海市也已经启动了宠物救助和领养的项目。此外,还有一些社会组织和志愿者,致力于为流浪宠物提供帮助。

总的来说,宠物领养系统的研究和实践已经越来越受到重视。未来,将会有更多的研究和实践,为流浪宠物提供更好的救助和领养渠道,宠物领养系统的应用前景和市场将会更加广阔。首先,在技术创新方面,未来的宠物领养系统有望引入更多技术创新,如人工智能、区块链等,以提高系统的智能性、安全性和透明度;其次,在国际合作方面,未来有望促进不同国家之间的宠物领养信息共享,提高全球范围内流浪动物的领养率;此外,在社会参与方面可以引入更多的社交和参与元素,通过用户生成的内容和社区建设,激发更多人关注宠物保护事业;最后,在可持续发展方面,我们强调宠物领养系统的可持续发展,包括宠物医疗保健、教育培训等方面,使领养的宠物能够在新家获得全面的关爱。

1.3本文的组织结构

六个章节共同组成了本文研究及设计内容,包括:

第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章:相关技术介绍。主要介绍PHP框架、PHP嵌入式脚本语言、B/S模式等。

第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。

第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。

第2章系统分析

2.1可行性分析

2.1.1法律可行性分析

开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。

2.1.2技术可行性分析

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

2.1.3经济可行性分析

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

2.2功能需求分析

宠物领养系统主要是为了更加地完善宠物领养的服务情况,对用户的信息、宠物信息、宠物领养等提供了方便的机制。本系统有多类使用者,分别是管理员和领养用户注册。以下是从这两种用户的角度分别介绍本系统所要实现的功能。

用户:

注册:首先检查用户名和邮箱是否存在,如不存在即可进行注册,并将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中;

登录:使用宠物领养系统前是需要用户登录个人账号;

交流论坛:用户可以在论坛里交流、互相发表评论关于宠物的留言信息;

通知公告:用户可以在此查看网站的通知公告等浏览查看;

新闻资讯:用户可以在此查看关于宠物的各种新闻资讯并收藏和点赞;

宠物信息:用户登录宠物领养系统首页时,可以浏览系统发布的各种宠物信息等查看搜索待领或已领的宠物状态选择自己喜欢的宠物进行内容详情查看点赞、收藏、领养提交申请;

领养记录:记录用户的宠物领养信息;

领养反馈:记录用户的从领养反馈信息。

管理员:

用户管理:对用户进行管理,用户的注册,包括用户昵称、用户名、用户的宠物信息(宠物类别、宠物性别、年龄等)用户的账号信息,管理员可在此后台冻结用户;

宠物信息管理:  对发布的宠物信息进行增删改查;

宠物种类管理:对发布的宠物种类进行增删改查;

领养记录管理:对宠物领养记录信息进行审核、审核回复维护管理;

领养反馈管理:对宠物领养反馈信息进行维护管理;

资源管理:对宠物的新闻资讯、新闻分类进行维护管理增删改查

交流管理:对交流论坛、论坛分类进行维护管理增删改查

2.3非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

2.4用例分析

1.领养用户主要使用系统进行宠物领养,下图所示为领养用户的用例

图3-1 领养用户用例图

2.管理员主要负责用户管理、宠物信息管理、宠物种类管理、领养记录管理、领养反馈管理、系统管理、通知公告管理、资源管理、交流管理,下图所示描述管理员的用例图。

                       

图3-2 管理员用例图

2.5业务流程分析

系统业务流程图如下所示。

                                        

 

图3-3 系统业务流程图

业务流程图(TFD)通过一些特定的符号描述业务的处理过程,它重点强调业务过程中每一项处理活动和具体业务部门的关系,选择部分模块进行具体描述。重点对本系统整体业务中最为主要的宠物领养进行描述,用户进入宠物领养系统后进行各种模块信息的浏览,另外,管理人员进入后端管理,以执行宠物领养模块的相关管理方法,并在解决后向客户提供反馈机制。

2.6数据流程分析

如下为系统的层数据流图,外部实体有用户和管理员,分别对系统输入数据,从而得到要输出的数据

 

   

图3-4系统顶层数据流图

如下图所示为系统层数据流图。

图3-5系统底层数据流图

宠物领养系统底层数据流图主要描述系统底层模块的数据流、数据载体、数据处理、外部实体的具体交互。本系统就是管理员和普通用户在用户管理、宠物领养、领养反馈等管理等模块上的数据交互。

第3章系统设计

3.1系统架构设计

本系统架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

图4-1系统架构图

3.2系统功能结构

为了将系统从“做什么”落实到“怎么做”,基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。

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

图4-2系统功能结构图

3.3功能模块设计

用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。

图4-3未注册用户注册活动图

用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。

图4-4用户登录活动图

用户登录后,进入功能页面,进行交流论坛通知公告、新闻资讯、宠物信息、个人中心等,用户使用功能活动图如所示

图4-5用户使用功能活动图

用户功能界面可对自己的密码进行修改。进入修改密码界面后核对当前密码,核对成功后填写新密码。修改密码活动图如下图所示。

图4-6修改密码活动图

3.4数据库设计

宠物领养系统采用的数据库是MySQL,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。

3.4.1E-R图

E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。

本系统图设计,如下图所示。

图4-7系统E-R图

3.4.2表结构设计

本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,用户注册表、管理员表、饲养视频表、宠物领养表、宠物认领表、宠物信息表等。

表结构如下所示。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表adoption_feedback (领养反馈)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adoption_feedback_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_species

varchar

64

0

Y

N

宠物种类

5

pet_age

varchar

64

0

Y

N

宠物年龄

6

pet_gender

varchar

64

0

Y

N

宠物性别

7

adoptive_users

int

10

0

Y

N

0

领养用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

contact_phone_number

varchar

64

0

Y

N

联系电话

10

pet_photos

varchar

255

0

Y

N

宠物照片

11

recent_status_of_pets

text

65535

0

Y

N

宠物近况

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表adoption_records (领养记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adoption_records_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_species

varchar

64

0

Y

N

宠物种类

5

pet_age

varchar

64

0

Y

N

宠物年龄

6

pet_gender

varchar

64

0

Y

N

宠物性别

7

adoptive_users

int

10

0

Y

N

0

领养用户

8

user_name

varchar

64

0

Y

N

用户姓名

9

contact_phone_number

varchar

64

0

Y

N

联系电话

10

adoption_notes

text

65535

0

Y

N

领养备注

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表adoptive_users (领养用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

adoptive_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

user_age

varchar

64

0

Y

N

用户年龄

6

id_number

varchar

255

0

Y

N

身份证号

7

examine_state

varchar

16

0

N

N

已通过

审核状态

8

user_id

int

10

0

N

N

0

用户ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表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

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

更新时间:

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

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

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

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

varchar

64

0

Y

N

宠物种类

5

pet_status

varchar

64

0

Y

N

宠物状态

6

pet_age

varchar

64

0

Y

N

宠物年龄

7

pet_gender

varchar

64

0

Y

N

宠物性别

8

vaccination

varchar

64

0

Y

N

疫苗接种

9

health_status

varchar

64

0

Y

N

健康状态

10

pet_pictures

varchar

255

0

Y

N

宠物图片

11

introduction_to_pets

longtext

2147483647

0

Y

N

宠物介绍

12

hits

int

10

0

N

N

0

点击数

13

praise_len

int

10

0

N

N

0

点赞数

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表pet_species (宠物种类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

pet_species_id

int

10

0

N

Y

宠物种类ID

2

pet_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

更新时间

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

表reporting_information (举报信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

reporting_information_id

int

10

0

N

Y

举报信息ID

2

report_title

varchar

64

0

Y

N

举报标题

3

user_information

int

10

0

Y

N

0

用户信息

4

user_name

varchar

64

0

Y

N

用户姓名

5

reporting_date

date

10

0

Y

N

举报日期

6

report_content

text

65535

0

Y

N

举报内容

7

examine_state

varchar

16

0

N

N

未审核

审核状态

8

examine_reply

varchar

16

0

Y

N

审核回复

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

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

更新时间

表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

更新时间:

表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

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

创建时间:

表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

更新时间:

第4章系统实现

4.1开发工具

系统中应用的开发工具总结如下表所示。

表5-1开发工具

名称

工具

版本

操作系统

IDE(Integrated Development Environment)

Windows

  PHPStorm

7/8/10

最新版本

服务器

Apache

最新版本

前端技术

JavaScript、VUE.js(2.X)、css3

-

数据库

浏览器

界面工具

MySQL

Google Chrome Photoshop

Adobe Photoshop

5.6以上

最新版本

最新版本

4.2注册模块

未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。

注册界面如下所示。

图5-1注册界面

用户注册关键代码如下所示。

public function register()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

            $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->register($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function register($request=[],$table_name = ''){

        $username = $request['username'];

        $bol = $this->where(['username'=>$username])->find();

        if (!$bol){

            $result = self::allowField(true)->save($request);

            if ($result) {

                return ['result' => 1];

            } else {

                return ['error' => ['code' => 3000, 'message' => '注册失败']];

            }

        }else{

            return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];

        }

    }

4.3登录/注销模块

用户在首页点击登录,进入用户登录界面userLogin.php,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction.php,调用userLogin($user)方法,通过userDAOImp.php向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。

用户点击注销,清空浏览器session值,然后返回登录页或者首页。

登录界面如下所示。

图5-2登录界面

登录界面关键代码如下所示。

public function login()

    {

        if (Request::isPost()) {

            $request = Request::param();

            $result = $this->validate($request, $this->validate);

            if (true !== $result) {

                // 验证失败 输出错误信息

                $data['error'] = 30000;

                $data['message'] = $result;

            } else {

                $request['password'] = md5($request['password']);

                $result = $this->model->login($request, $this->table);

                $data = $result;

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

public function login($request=[],$table_name = ''){

        $username = $request['username'];

        $password = $request['password'];

        $bol = $this->where(['username'=>$username])->find();

        if ($bol){

            $password = md5($password);

            if ($request['password']==$bol['password']) {

                //添加token信息

                $access_token['create_time'] = date('Y-m-d H:i:s');

                $access_token['update_time'] = date('Y-m-d H:i:s');

$access_token['info'] = json_encode($bol);

                // $access_token['info'] = $bol;

                $access_token['token'] = md5(date('Y-m-d H:i:s'));

                $bol_token = Db::name('AccessToken')->insert($access_token);

                if ($bol_token){

                    $data['obj'] = $bol;

                    $data['obj']['token'] = $access_token['token'];

                    return ['result' => $data];

                }else{

                    return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];

                }

            } else {

                return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];

            }

        }else{

            return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];

        }

    }

4.4用户模块

4.4.1个人资料模块

登录用户在首页点击进入用户中心userCenter.php,再点击修改个人信息按钮进入userChangeInfo.php界面。系统根据存储在会话(session)中的当前登录用户的账号,向控制器(例如userController.php)发送请求。控制器调用用户模型(例如userModel.php)的queryByUserId(user)方法,从数据库的用户表中搜索当前用户的信息,并将用户信息以对象的形式返回到userChangeInfo.php界面,以显示当前用户的个人信息。

如果用户想要修改个人信息,在修改完信息后点击确认按钮,向控制器发送包含更新后用户信息的请求,调用changeUser(user)方法。控制器通过用户模型向数据库的用户表更新用户信息。如果更新成功,则返回成功的反馈消息,userChangeInfo.php界面显示修改成功;如果更新失败,则显示修改失败的消息。

4.4.2宠物信息模块

用户在登录以后进入首页可以查看点击宠物信息这一项进入宠物信息列表里查看各种各类的宠物信息,如下图所示:

图5-3宠物信息界面

宠物信息关键代码如下:

class AccessToken extends Base

{

    protected $table = 'access_token';                //数据表名

    protected $table_id = 'token';             //数据表名

    protected $validate = 'AccessToken';             //数据表名

    protected $model;

    public function __construct(){

        $this->model = new Model();

    }

}

4.4.3宠物领养模块

当用户点击加入宠物领养按钮时,可以通过表单提交或AJAX请求将参数发送到服务器端的linyangController.php文件。linyangController.php文件接收到请求后,从请求中提取出对应的宠物领养信息,并调用linyangServiceImpl.php文件的add()方法进行相应的处理。宠物领养信息界面如下所示。

图5-4宠物领养界面

宠物领养关键代码如下:

public function get_list()

    {

        $request = Request::param();

        $result['list'] = $this->model->get_list($request, $this->table, $this->table_id);

        $result['count'] = $this->model->list_count($request, $this->table, $this->table_id);

        $data['result'] = $result;

        return json_encode($data);

    }

4.5管理员模块

4.5.1密码修改模块

管理员选择个人中心的修改本人密码。通过密码框输入现密码和2次新密码,如果现密码错误,则提示修改失败。如果2次新密码不一致,则提示修改失败。都没问题的话,系统提示修改成功,并返回登录界面。

公告栏管理界面图如下所示。

图5-5公告栏管理界面

用户信息界面如下所示。

图5-6用户信息界面

4.5.2宠物信息管理模块

根据需求,需要对宠物信息进行添加、删除或修改详情信息。删除或修改宠物信息时,系统根据宠物信息的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询宠物信息状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。

添加宠物信息时,会给出数据填写的页面,该页面根据填写好的宠物信息编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。管理员在此版块中可对宠物信息进行再次修改。

宠物信息页面设计效果如下图所示。

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

宠物信息管理界面逻辑代码如下:

public function count()

    {

        $request = Request::param();

        $result = $this->model->list_count($request, $this->table, $this->table_id);

        $data['result'] = $result;

        return json_encode($data);

    }

4.5.3领养记录管理模块

领养记录功能整体流程:用户浏览宠物领养信息时,同时会显示宠物的状态,系统会在其显示详细信息的页面时便会判断宠物的状态,若宠物状态为可领养,则会显示申请的链接按钮。在用户点击申请按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写申请信息的页面,填写好申请信息之后,点击提交按钮,申请成功之后返回提示信息,告知用户申请成功。

宠物领养流程图如下图所示。

图5-8宠物领养流程图

领养记录管理界面如下图所示。

图5-9领养记录管理界面

4.5.4宠物种类管理模块

添加宠物种类信息时,会给出数据填写的页面,该页面根据填写好的宠物种类信息同样会事先发送Ajax请求,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

宠物种类管理页面设计效果如下图所示。

图5-10宠物种类管理界面图

宠物种类管理的关键代码如下。

 public function sum()

    {

        $request = Request::param();

        if (isset($request['field'])) {

            if (!empty($request['field'])) {

                $result = $this->model->sum_field($request, $this->table, $this->table_id);

                $data = $result;

            } else {

                $data['error']['code'] = 30000;

                $data['error']['message'] = "field的值不能为空!";

            }

        } else {

            $data['error']['code'] = 30000;

            $data['error']['message'] = "field的值不能为空!";

        }

        return json_encode($data);

    }

第5章系统测试

5.1测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

5.2测试过程

5.2.1登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

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

表6-1登录测试

用例编号

YL001

程序版本

1.00

功能名称

使用者登录测试

编制人

李铁蛋

功能描述

根据用户的登录情况测试

用例目的

测试用户登录情况是否正确

测试项

测试数据

测试结果

预期结果

用户名

为空

请输入用户名

请输入用户名

密码

为空

请输入密码

请输入密码

用户密码组合

用户名:klouse 密码 klouses

用户与密码不匹配

用户与密码不匹配

用户密码组合

用户名 : klouse 密码

klouse

进入系统

正确的用户名和密码

登录系统

5.2.2信息录入测试

管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

信息录入发布测试用例表如下所示。

表6-1信息录入发布测试

用例编号

YL002

程序版本

1.00

功能名称

信息发布测试

编制人

李铁蛋

功能描述

对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者录入发布信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

为空

请输入属性1对应的数据

请输入属性1对应的数据

属性2

为空

请输入属性2对应的数据

请输入属性2对应的数据

属性3

为空

请输入属性3对应的数据

请输入属性3对应的数据

全部输入

数据均填入

录入发布成功

录入发布成功

5.2.3信息更新测试

管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

信息更新测试用例表如下所示。

表6-1信息更新测试

用例编号

YL003

程序版本

1.00

功能名称

信息更新测试

编制人

李铁蛋

功能描述

对使用者更新信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者更新信息进行原型测试。

测试项

测试数据

测试结果

预期结果

属性1

编号:321

编号更新成功

编号更新成功

属性2

名称:名称1

名称更新成功

名称更新成功

属性3

内容:内容1234内容

内容更新成功

内容更新成功

全部输入

数据均未更改

更新成功

更新成功

5.2.4信息删除测试

管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

信息删除测试用例表如下所示。

表6-1信息删除测试

用例编号

YL004

程序版本

1.00

功能名称

信息删除测试

编制人

李铁蛋

功能描述

对使用者删除信息进行测试,判断其功能是否达到预期的要求

用例目的

对系统使用者删除信息进行原型测试。

测试项

测试数据

测试结果

预期结果

数据1

无任何关联的数据1

数据删除成功

数据删除成功

数据2

和其他数据有关联的数据2

请确认是否删除

请确认是否删除

5.3测试结果

在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 PHP 开发的期望。

第6章总结与展望

6.1总结

宠物领养系统采用PHP框架开发,该系统非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于PHP的宠物领养系统,将数据操作维护的过程转化成电脑操作流程,具体实现了对系统人员管理、宠物信息数据维护、宠物领养数据维护、新闻资讯数据维护,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利。

6.2展望

目前完成的宠物领养系统,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个PHP页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。

参考文献

[1]Raptis P T ,Cicconetti C ,Passarella A . Efficient topic partitioning of Apache Kafka for high-reliability real-time data streaming applications [J]. Future Generation Computer Systems, 2024, 154 173-188.

[2]Tallino L S ,Vural A ,Espinosa V O , et al. Utilization of the novel adeno‐associated virus PHP.eB serotype to modulate Intersectin 1 expression in the Ts65Dn mouse model of Down syndrome [J]. Alzheimer's & Dementia, 2023, 19 (S13):

[3]梁和阳. “领养代替购买”:都市领养日的特征与传承机制 [J]. 民间文化论坛, 2023, (06): 112-121.

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

[5]卜德欣. R语言和PHP语言缺陷的实证研究[D]. 南京邮电大学, 2023.

[6]Ghoshal A . Oracle’s MySQL HeatWave gets Vector Store, generative AI features [J]. InfoWorld.com, 2023,

[7]邬胜利. 文明养宠物犬 一起迎亚运 [J]. 中国工作犬业, 2023, (07): 67.

[8]费天乐,刘君. 宠物领养一站式服务平台可行性及运行模式研究 [J]. 国际公关, 2023, (12): 170-172.

[9]卢艺轩,崔李宇,曹欣雨等. 流浪犬猫的溯源生存现状及领养救助调研 [J]. 中国动物保健, 2022, 24 (12): 107-109.

[10]赵亚洲,杨晓冬. 动物领养管理系统的设计与实现 [J]. 无线互联科技, 2022, 19 (18): 61-65+72.

[11]姜秀云. 领养一只完美的宠物 [J]. 疯狂英语(新悦读), 2022, (07): 38-39+76.

[12]颜春艳. 基于ThinkPHP框架的资讯类网站后台管理系统设计研究 [J]. 信息记录材料, 2022, 23 (06): 111-114.

[13]安琪. 基于服务设计思维的城市流浪动物助养系统设计研究[D]. 北京化工大学, 2022.

[14]刘少林,游国强,曾燕等. 基于图像识别的宠物综合服务移动管理平台 [J]. 电脑知识与技术, 2022, 18 (14): 58-60+63.

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

[16]笪伟瀚. AI宠物技术应用于宠物领养app的设计研究 [J]. 电子测试, 2022, 36 (09): 115-118.

[17]李喻. 宠物领养也“配对” [J]. 销售与市场(管理版), 2022, (03): 102.

[18]许亦卿. 一种云领养宠物创业模式 [J]. 合作经济与科技, 2022, (01): 116-118.

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

[20]杨芹. 宠物领养Web App的设计与实现[D]. 华中科技大学, 2022.

致谢

在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。

我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。

免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值