springboot流浪动物救助小程序

摘  要

流浪动物救助小程序是一个旨在帮助流浪动物并协助它们找到新家的移动应用程序。该小程序功能包括动物信息、志愿者招募、志愿者活动、动物救助站,以及展示可供领养的动物信息。用户可以通过小程序直接联系救助组织、志愿者,同时能够分享动物的故事,增加动物被领养的可能性。小程序还提供了捐款功能,支持对动物救助机构的捐助,以及教育和提高公众对流浪动物问题的意识。这个小程序为流浪动物的救助工作提供了一个便捷的平台,促进了社会各界的参与和贡献。

该系统通过微信小程序平台提供快速访问和操作的便利性,允许用户进行申请领养、活动报名、招募报名、捐赠资金、反馈意见等操作。它适用于智能手机或平板电脑,能够实时更新动物信息并支持进行发帖、论坛交流

关键词:流浪动物救助;java;SpringBoot框架;MySQL

Abstract

The Stray Animal Rescue Applet is a mobile app designed to help stray animals and assist them in finding new homes. The applet features include animal information, volunteer recruitment, volunteer activities, animal rescue stations, and displaying information about animals available for adoption. Users can directly contact rescue organizations and volunteers through the mini program, and at the same time can share animal stories, increasing the likelihood of animals being adopted. The mini program also provides a donation function to support donations to animal rescue agencies, as well as to educate and raise public awareness of stray animal issues. This mini program provides a convenient platform for the rescue work of stray animals and promotes the participation and contribution of all sectors of society.

The system provides quick access and operation convenience through the wechat mini program platform, allowing users to apply for adoption, activity registration, recruitment registration, donation of funds, feedback and other operations. It works on a smartphone or tablet, can update animal information in real time, and supports Posting and forum communication.

Key words: rescue of stray animals; java; SpringBoot framework; MySQL

目  录

第一章 概述

1.1研究背景与意义

1.2国内外研究现状

1.3研究内容

1.4本文的结构

第二章 开发工具及技术介绍

2.1 Java编程语言

2.2推荐算法介绍

2.3 MySQL数据库

2.4 SPRINGBOOT框架

2.5微信小程序简介

2.6 B/S架构

第三章 系统分析

3.1功能需求分析

3.2系统可行性分析

3.2.1技术可行性

3.2.2 经济可行性

3.2.3社会可行性

3.3系统用例分析

3.4系统流程分析

3.4.1 登录流程图

3.4.2 添加新用户流程图

第四章 系统概要设计

4.1系统设计原理

4.2功能模块设计

4.3数据库设计

4.3.1数据库设计原则

4.3.2数据库E-R图设计

4.3.3数据库表结构设计

第五章 系统功能实现

5.1小程序端功能实现

5.1.1 小程序首页页面

5.1.2 用户“我的”界面

5.2管理员功能实现

第六章 系统测试

6.1系统测试的目的

6.2软件测试过程

6.3系统测试用例

结    论

致  谢

参考文献

第一章 概述

1.1研究背景与意义

流浪动物问题一直是全球性的社会问题,随着城市化进程的加快和社会对动物福利意识的提升,如何有效地救助和管理流浪动物成为了公众关注的焦点。在此背景下,流浪动物救助小程序应运而生,旨在利用移动互联网技术提高救助工作的效率和覆盖范围,同时促进社会公众的参与。该小程序通过集成地图交流论坛等功能,不仅可以帮助流浪动物获得及时的救助和照顾,还能够为它们寻找永久的领养家庭,从而减少街头流浪动物的数量,提升社会整体的动物福利水平。

流浪动物救助小程序的研究意义在于其能够提供一个集中化、便捷化的解决方案来应对日益严重的流浪动物问题。通过该小程序,流浪动物的发现、报告、救助和领养过程可被大幅简化和加速,使得救助行为更加及时有效。它还能增进社会公众对流浪动物困境的关注,提升整个社会对动物权益的认识和尊重。小程序的开发和应用将促进相关领域的研究,如动物福利、移动技术在社会服务中的应用、用户行为分析等,对于推动技术与社会进步具有积极影响。

1.2国内外研究现状

在国内,流浪动物救助小程序的研发和应用正在逐步推进,社会各界对此表示了高度关注和积极支持。一些地方政府和非政府组织已经开始尝试开发和使用这类小程序来提高流浪动物的救助效率,普及动物保护知识,并鼓励公众参与流浪动物的救助活动。由于国内对此类服务的研究和应用相对较晚,目前仍面临着诸如资源整合、数据管理、用户隐私保护等方面的挑战。针对不同地区、不同文化背景下用户接受度的差异也是需要深入研究的问题。尽管存在这些挑战,国内对于流浪动物救助小程序的需求日益增长,预示着该领域将有更大的研究空间和发展潜力。

在国外,流浪动物救助小程序和相关移动应用的开发与实践已经较为成熟,许多国家和地区有广泛的社会基础以及成熟的技术支持来推广这类应用。这些小程序通常与当地的动物保护组织、救助中心和兽医服务紧密合作,形成了较为完善的流浪动物救助网络。国外的研究不仅集中在提高技术平台的用户体验和功能性,还关注如何通过数据收集和分析来改进动物救助策略、提升领养率以及评估救助效果。国外在这一领域也更加重视隐私保护和信息安全的问题,确保用户和动物资料的安全。国外的流浪动物救助小程序作为连接社区、救助组织和技术平台的桥梁,已经在提升动物福利和增强社会责任方面发挥了重要作用。

1.3研究内容

本系统采用了Java语言作为后端开发语言,结合Spring Boot框架,并引入了基于用户相似度的协同过滤算法,用于提供个性化的推荐功能。这为应用程序提供了轻量级、高效的开发环境。选择MySQL数据库来存储和管理数据,以确保系统的高性能运行。在小程序端开发方面,我们使用了HTML、CSS、JavaScript和uni等技术来构建用户界面,以提供良好的用户体验和交互效果。开发过程中选用了Eclipse作为主要的编程工具,因其强大的开发功能和易用性大大提升了编程效率。此外,Navicat作为数据库管理工具,用于简化和优化数据库操作,以提升开发效率和项目的整体质量。

通过以上的技术栈配置,我们实现了系统的高效稳定开发。具体来说,我们主要实现了对管理员和用户两个角色权限的管理,主要功能包括对用户管理、动物种类管理、动物信息管理、领养申请管理、志愿者招募管理、志愿者活动管理、活动报名管理、招募报名管理、动物救助站管理、捐赠资金管理、反馈意见管理、交流论坛、系统管理、个人中心等进行管理。

1.4本文的结构

本论文分为六个章节。

第一章,绪论,其包含课题背景及意义,现国内外的发展现状,本课题要研究的内容,所使用开发工具的描述等信息。

第二章,主要介绍了系统的开发技术。

第三章,先讲述功能需求分析,再讲述系统可行性分析和流程图的设计。

第四章,是系统设计原理,功能模块设计和数据库设计。

第五章,详细讲述每个界面的正确操作步骤。

第六章,该章讲述了测试的目的以及测试过程及用例。

最后对论文进行总结,包括致谢和参考文献等内容。

第二章 开发工具及技术介绍

此流浪动物救助小程序的关键技术和架构由B/S结构、java技术和MySQL数据库,是本系统的关键开发技术,对系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。

2.1 Java编程语言

Java语言的发展距今己有二十多年的历史,Java在众多编程开发语言中依然稳居排名前三,这离不开Java技术体系的众多开发优势,相对比于其他编程开发语言而言,Java语言的入门使用非常简单,Java集成了丰富的类库和封装类,能够使开发者非常方便调用,拥有强大的技术基础作为支撑,非常适合大型软件的开发。由于Java语言是一门面向对象的编程语言,因此程序员只需要掌握基本的语法规则和清晰的编程思路便可以较好地开发应用程序。除此之外,由于Java语言具有跨平台和可移植性强的开发优点,因此可以在Android的应用程序开发中发挥其重要作用。在大型的软件项目开发中应用Java技术较为广泛,能够为企业项目需求提供成熟的解决方案。

常用的计算机程序编程语言有Java语言、Python语言、C语言以及C++语言。由于Java语言具有成熟的技术架构以及较为广泛的应用范围,因此深得编程人员的喜爱。

Java语言提供了try-catch异常处理、垃圾自动回收、内存动态分配等强大功能机制,Java语言具备简单性、健壮性、可移植性、多线程等优点,Java语言的强大特性能够降低软件后期的维护成本以及有效缩短软件研发周期,节省了企业的软件开发成本。本流浪动物救助小程序项目正是以成熟的Java编程语言为基础的流浪动物救助项目开发语言。

2.2推荐算法介绍

推荐算法是一类算法,它根据用户的历史行为、偏好和需求,利用数据分析技术为用户推荐他们可能感兴趣的商品或服务。常见的推荐算法包括基于内容的推荐、协同过滤推荐以及混合推荐等。基于内容的推荐通过分析用户过去喜欢的物品特征来推荐类似的物品;协同过滤推荐则分为用户基和物品基两种,前者通过找到相似用户来推荐物品,后者则是通过找到相似物品来进行推荐;混合推荐结合了多种方法,以提高推荐的准确度和覆盖度。随着人工智能技术的发展,深度学习也被应用于推荐系统中,使得推荐更加精准和个性化。

2.3 MySQL数据库

MySQL是Oracle公司旗下的一个开源的关系型数据库管理系统(Relational Database Management System, RDBMS)}44} o MySQL支持使用多线程,充分利用了CPU的计算资源,可以选择InnoDB, MyISAM和MEMORY等作为存储引擎,提供了丰富的数据库管理工具。在索引功能的加持下,其具有非常高的查询效率,并支持主从、多节点集群等高可用部署模式。MySQL凭借其低廉的成本、可靠的数据库服务和出色的性能,目前己经成为绝大多数企业在进行项目开发时的首选关系型数据库。MySQL的体系结构如图2-1所示,具体可分为网络连接层、服务层、存储引擎层和系统文件层,分别完成建立连接、SQL解析与执行、数据存储与提取和数据交互等功能。

图2-1 MySQL体系结构图

2.4 SPRINGBOOT框架

SpringBoot是Spring框架的一种简化开发方式,它内置了Tomcat、Jetty等Web服务器,无需额外部署。SpringBoot采用约定大于配置的方式,通过自动配置和注解简化了项目的开发流程,使得开发者可以更专注于业务逻辑的实现。SpringBoot的优点在于其轻量级、快速启动和易于集成的特性。它支持多种数据库、缓存技术和消息队列等中间件,可以轻松地与其他技术栈进行集成。SpringBoot还提供了丰富的插件和扩展机制,可以根据项目需求进行个性化定制。

2.5微信小程序简介

微信小程序是一种新型的应用形态,它起源于中国,由腾讯公司推出。不同于传统的手机应用,微信小程序无需下载安装即可使用,它能够在微信内部直接运行,为用户提供便捷的服务。微信小程序的出现,标志着移动应用的一个全新的发展方向,它极大地丰富了移动互联网的生态,并为用户和开发者带来了全新的体验和机遇。    微信小程序的设计理念是“用完即走”,这意味着用户在使用小程序时,无需关心其安装和卸载的问题,只需要在微信中搜索或扫描二维码即可快速打开对应的小程序。这种轻量级的特性使得小程序能够快速响应用户的需求,同时也节省了手机的存储空间。    微信小程序的功能非常强大,它可以覆盖各种场景,如电商、旅游、教育、娱乐等。无论是在线购物、预约挂号、查询信息还是玩游戏,用户都可以通过微信小程序来实现。此外,微信小程序还支持与微信支付、地理位置等微信原生功能的无缝对接,进一步提升了用户的使用体验。    对于开发者而言,微信小程序提供了一套完整的开发框架和工具,使得开发者可以快速地构建出自己的小程序。同时,微信庞大的用户群体也为小程序的推广和传播提供了有力的支持。通过微信小程序,开发者可以将自己的想法和创意快速地转化为现实,并与用户进行直接的互动和沟通。

2.6 B/S架构

B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作[10]。

B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:

(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。

(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。

第三章 系统分析

3.1功能需求分析

需求分析的首要任务是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。

其中获得用户需求以后,就要可以将用户需求设计为系统的功能模块。在能及时的分析和发现有关需求的情况下,需要系统同时的跟进需求设计。在流浪动物救助管理过程中还需要创建需求工作的数据分析,以便于后面的分析做总结。写入一个需求的报告内容,其中需要包含完整的描述需求、以及功能需求、模型等后续开发过程中还需要用到的部分资料。

需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,流浪动物救助功能是许多个可以测试的功能相结合的,正是由于这些功可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求。 

3.2系统可行性分析

3.2.1技术可行性

该系统使用java技术开发,MySQL数据库同SpringBoot框架联合开发并实现。对于以上描述的技术,在当代都是较为成熟的技术和平台,虽然它们都有自已的体系,但在程序员的眼里,它们的配合度是很高的,网上的相关博客中每个创建项目的帖子,它们都会出现,数据库负责管理数据,开发工具负责管理项目,技术负责代码的框架,既相互独立,又相互依赖。以上描述的工具、技术都已转化为自身的技能,所以从技术角色考虑是可行的,工作人员对于技术的关注度并不高,只要程序可用即可。

3.2.2 经济可行性

经济可行性,可分为两种,支出和收入,该系统属于研究型毕业设计,所以收入部分暂不考虑。支出可分为,设备、场地、开发环境、人力、时间等一切需考虑的因素,所有信息都是影响形成系统的一部分。设备:只需一台笔记本电脑,配套的输入设备;场地:暂定为图书馆与校内的自习室;开发环境:良好;人力:自身、指导老师、同学;时间:从选题到毕业为止,大约八个月。从以上描述可知,大部分条件已经满足,所以该系统不会存在经济方面的问题,所以是可行的。

3.2.3社会可行性

社会可行性,广义而讲可涉及到道德方面、法律方面、社会方面,每个方面都会影响系统的形成。本系统的是独立且没有任何传播性质的信息,更涉及不到道德层面,法律层面;本系统也没有触发法律,没有赌博、黄色等类型信息,同时也是遵从国家法律,不会显示任何触发法律层面的信息;社会方面,该系统是为方便用户提供更好的服务,是轻量级的流浪动物救助小程序,会为人们带来快速并有效查询的功能,也是具有贡献意义的。总体而言,该系统也是具有社会可行性的。 

3.3系统用例分析 

流浪动物救助小程序综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成流浪动物救助的方便快捷、安全性高、交易规范做了保障,目标明确。流浪动物救助小程序可以将功能划分为管理员功能和用户功能。

(1)管理员关键功能包含对用户管理、动物种类管理、动物信息管理、领养申请管理、志愿者招募管理、志愿者活动管理、活动报名管理、招募报名管理、动物救助站管理、捐赠资金管理、反馈意见管理、交流论坛、系统管理、个人中心等进行管理。管理员用例如下:

图3-1 管理员用例图

(2)用户关键功能包含对首页、公告资讯、交流论坛、地图、“我的”等进行管理。用户用例如下:

图3-2 用户用例图

3.4系统流程分析

流程图是用具体的图形符号和相应的线条来表示系统执行的整个过程。因为这种图可以很容易地描述系统的一系列过程,所以它的所有图形符号都是比较关键的,基本上一个图形符号可以表示一个过程的一个步骤。流程图不仅提供了一个比较完整、全面的实施过程,而且可以发现整个团队协同设计过程中可能存在的缺陷和不足,便于在后续过程中及时对系统进行修正和改进。

通过流程图可以对系统的需求和相关流程进行分析,可以详细细分为各个部分的设计。对于设计人员来说在开发过程中要能够以流程图为基础,能够快速的提高自己的逻辑思维,并且也能够指导后续的操作在系统设计中最重要的部分就是程序的设计,然后具体的编写程序,流程图是设计过程中的重要工具,下面是流程图的部分设计。

3.4.1 登录流程图

登录流程是该系统的第一个流程,登录的第一步是输入账号、密码登录,系统会验证账号与密码是否正确,正确时系统会判断账号类型再进入不同的后台;不正确时,会返回到登录的第一步,输入用户重新执行登录流程。该流程如图3-3所示:

图3-3登录流程图

3.4.2 添加新用户流程图

添加新用户的流程是先查询新用户名是否已存在,如已有该用户名,需重拟用户名并同时输入新用户的其它信息,添加新用户到数据库时会先验证数据是否完整,信息都正确且完整时,返回并刷新用户列表;信息不正确时,会返回输入信息的那一步。该流程如图3-4所示:

图3-4添加新用户流程图

第四章 系统概要设计

4.1系统设计原理

设计原理,是指一个系统的设计由来,其将需求合理拆解成功能,抽象的描述系统的模块,以模块下的功能。功能模块化后,变成可组合、可拆解的单元,在设计时,会将所有信息分解存储在各个表中,界面不会显示所有定义的字段。在设计时,会有几大要求,抽象、模块化、信息隐藏、耦合低、内聚等特性,本系统的设计也符合以上几大特性。制作和显示流程都属于程序员需要分析研究的一部分。每个模块都是相对独立的,系统前台不显示账号操作权限范围外的信息。

4.2功能模块设计

该章节的功能模块设计,只是大概描述了系统的所有功能模块,将功能按权限来讲解。系统总体功能如图4-1所示:

图4-1 系统总体结构图

4.3数据库设计

4.3.1数据库设计原则

学习程序设计,如果想要了解数据库管理系统或者是按照系统接口的要求制作的,就必须创建一个数据库管理系统模型,用来存储数据,这样在进行应用程序编程的过程中,就不需要加载操作系统页面的信息,从而提高整个系统的工作效率。在数据库管理系统中承载着众多的数据,应该说,一个管理信息系统的建设中心和基地,也为建设管理信息系统和信息管理系统提出了新的查询、删除、修改和操作功能,使管理信息系统建设可以快速查询需要的数据,而不是直接从代码中查找。信息库管理系统由各个组成部分的信息表按照具体的方法进行准确的归并、排序和组成信息库管理系统。

 4.3.2数据库E-R图设计

E-R图即实体-联系图,主要作用是提供了解显示数据类型存在的联系的途径,是藐视现实世界的概念模型,其关键要素是实体型、属性、联系。在系统中将对“用户、动物救助站、动物信息评论、志愿者招募、招募报名、交流论坛”等作为实体,它们的局部E-R图,如图4-2所示:

4-2局部E-R图

4.3.3数据库表结构设计

该系统采用的数据库是MySQL,根据该系统的数据存储特点进行数据库关系表的设计。下面是该系统中关键部分关系表的详细信息。

表4-1管理员表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

image

varchar

200

头像

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-2收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

longtext

4294967295

图片

type

varchar

200

类型

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4-3token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-4动物信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

longtext

4294967295

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-5系统简介

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表4-6配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

表4-7关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

longtext

4294967295

图片1

picture2

longtext

4294967295

图片2

picture3

longtext

4294967295

图片3

表4-8捐赠资金

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

juankuanbianhao

varchar

200

捐款编号

jiuzhuzhanmingcheng

varchar

200

救助站名称

dizhi

varchar

200

地址

lianxiren

varchar

200

联系人

lianxidianhua

varchar

200

联系电话

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

lianxifangshi

varchar

200

联系方式

juanzengzhaopian

longtext

4294967295

捐赠照片

juanzengzijin

double

捐赠资金

juanzengshijian

date

捐赠时间

juanzengbeizhu

longtext

4294967295

捐赠备注

ispay

varchar

200

是否支付

未支付

表4-9活动报名

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

baomingbianhao

varchar

200

报名编号

huodongmingcheng

varchar

200

活动名称

huodongtupian

longtext

4294967295

活动图片

huodongdidian

varchar

200

活动地点

baomingshijian

datetime

报名时间

baomingbeizhu

longtext

4294967295

报名备注

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

表4-10交流论坛

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

帖子标题

content

longtext

4294967295

帖子内容

parentid

bigint

父节点id

userid

bigint

用户id

username

varchar

200

用户名

avatarurl

longtext

4294967295

头像

isdone

varchar

200

状态

istop

int

是否置顶

0

toptime

datetime

置顶时间

表4-11反馈意见

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

fankuibianhao

varchar

200

反馈编号

fankuibiaoti

varchar

200

反馈标题

fankuizhaopian

longtext

4294967295

反馈照片

fankuishijian

datetime

反馈时间

fankuineirong

longtext

4294967295

反馈内容

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

表4-12招募报名

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

baomingbianhao

varchar

200

报名编号

zhaomubiaoti

varchar

200

招募标题

zhaomuzhaopian

longtext

4294967295

招募照片

baomingshijian

datetime

报名时间

baomingbeizhu

longtext

4294967295

报名备注

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

表4-13动物救助站

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiuzhuzhanmingcheng

varchar

200

救助站名称

dizhi

varchar

200

地址

tupian

longtext

4294967295

图片

lianxiren

varchar

200

联系人

lianxidianhua

varchar

200

联系电话

jianjie

longtext

4294967295

简介

jiuzhuzhanjieshao

longtext

4294967295

救助站介绍

表4-14公告资讯分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

typename

varchar

200

分类名称

表4-15公告资讯

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

typename

varchar

200

分类名称

name

varchar

200

发布人

headportrait

longtext

4294967295

头像

clicknum

int

点击次数

0

clicktime

datetime

最近点击时间

thumbsupnum

int

0

crazilynum

int

0

storeupnum

int

收藏数

0

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表4-16志愿者招募

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhaomubianhao

varchar

200

招募编号

zhaomubiaoti

varchar

200

招募标题

zhaomuzhaopian

longtext

4294967295

招募照片

zhaomushijian

date

招募时间

zhaomurenshu

varchar

200

招募人数

zhaomujianjie

longtext

4294967295

招募简介

zhaomuneirong

longtext

4294967295

招募内容

表4-17志愿者活动

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

huodongbianhao

varchar

200

活动编号

huodongmingcheng

varchar

200

活动名称

huodongdidian

varchar

200

活动地点

kaishishijian

date

开始时间

jieshushijian

date

结束时间

huodongtupian

longtext

4294967295

活动图片

fuwushizhang

varchar

200

服务时长

fuwuneirong

longtext

4294967295

服务内容

表4-18动物种类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dongwuzhonglei

varchar

200

动物种类

image

longtext

4294967295

image

表4-19用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuzhanghao

varchar

200

用户账号

mima

varchar

200

密码

yonghuxingming

varchar

200

用户姓名

xingbie

varchar

200

性别

lianxifangshi

varchar

200

联系方式

touxiang

longtext

4294967295

头像

aihuliulangdongwu

varchar

200

爱护流浪动物

表4-20动物信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

dongwumingcheng

varchar

200

动物名称

dongwuzhonglei

varchar

200

动物种类

dongwuleixing

varchar

200

动物类型

zhusheyimiao

varchar

200

注射疫苗

jibingwenti

varchar

200

疾病问题

dongwutupian

longtext

4294967295

动物图片

xingbie

varchar

200

性别

xingqing

varchar

200

性情

fabushijian

date

发布时间

lingyangyaoqiu

longtext

4294967295

领养要求

chongwujieshao

longtext

4294967295

宠物介绍

chongwuzhuangtai

varchar

200

宠物状态

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

discussnum

int

评论数

0

storeupnum

int

收藏数

0

表4-21领养申请

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

shenqingbianhao

varchar

200

申请编号

dongwumingcheng

varchar

200

动物名称

dongwuzhonglei

varchar

200

动物种类

dongwutupian

longtext

4294967295

动物图片

dongwuleixing

varchar

200

动物类型

xingbie

varchar

200

性别

shenqingshijian

date

申请时间

lingyanghetong

longtext

4294967295

领养合同

shenqingxiangqing

longtext

4294967295

申请详情

yonghuzhanghao

varchar

200

用户账号

yonghuxingming

varchar

200

用户姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

第五章 系统功能实现

5.1小程序端功能实现

在登录流程中,用户首先在Uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。小程序登录界面如图5-1所示:

图5-1 小程序登录界面

在注册流程中,用户在Uni前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储,用户注册界面如图5-2所示:

图5-2 用户注册界面

5.1.1 小程序首页界面

小程序首页是用户注册登录后进入的第一个界面,用户可通过小程序端首页导航栏进入到相应的网页查看信息展示信息进行详情操作。小程序首页界面如图5-3所示:

图5-3小程序首页界面

5.1.2 用户“我的”界面

用户“我的”:点击“我的”进入我的界面,在我的界面可以对领养申请、活动报名、招募报名、捐赠资金、反馈意见、我的收藏、我的发帖、修改密码等进行详情操作,如图5-4所示:

图5-4用户“我的”界面

5.2管理员功能实现

在登录流程中,用户首先在Uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-5所示:

图5-5管理员登录界面

管理员登录进入小程序可以对用户管理、动物种类管理、动物信息管理、领养申请管理、志愿者招募管理、志愿者活动管理、活动报名管理、招募报名管理、动物救助站管理、捐赠资金管理、反馈意见管理、交流论坛、系统管理、个人中心等功能进行详细操作,如图5-6所示:

图5-6管理员主界面

用户管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写用户表单。这些用户表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户管理功能可以看到最新的信息或相应的操作反馈。如图5-7所示:

图5-7用户管理界面

动物信息管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写动物信息表单。这些动物信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改、查看评论或删除动物信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便动物信息管理功能可以看到最新的信息或相应的操作反馈。如图5-8所示:

图5-8动物信息管理界面

领养申请管理功能在视图层(view层)进行交互,比如点击“查询、删除、审核或领养类型”按钮或填写领养申请表单。这些领养申请表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看或删除领养申请信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便领养申请管理功能可以看到最新的信息或相应的操作反馈。如图5-9所示:

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

志愿者招募管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写志愿者招募表单。这些志愿者招募表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除志愿者招募信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便志愿者招募管理功能可以看到最新的信息或相应的操作反馈。如图5-10所示:

图5-10志愿者招募管理界面

动物救助站管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写动物救助站表单。这些动物救助站表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除动物救助站信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便动物救助站管理功能可以看到最新的信息或相应的操作反馈。如图5-11所示:

图5-11动物救助站管理界面

第六章 系统测试

6.1系统测试的目的

测试是为了发现问题,而不是证明程序没有问题。测试是可编写测试用例来描述测试的步骤、预想的界面或效果与实际的差距,来验证程序是否正确。测试的原则有几条,测试需要输入条件和输出结果,制定测试用例来规范测试的步骤,也会适当的推进测试的进度。正常的测试流程是从项目立项开始,就可按需求先写测试用例,与程序开发同步进行,等程序开发完成,测试用例也可同时完成,等程序开发交接到测试时,可直接展开测试工作。

6.2软件测试过程

软件测试是软件设计的最后一个阶段,它贯穿于整个设计过程,是一项巨大的任务。软件测试需要测试程序的所有部分。每个部分的测试是不同的,在测试之前需要分为以下几个阶段:

一、集成测试:该测试基于单元测试,用于测试系统的各个功能模块。任何软件设计都会有一个集成阶段,因此在软件测试过程中,集成测试是必不可少的一部分。在集成测试过程中,由于测试是在模块之间进行的,因此在测试过程中可能不会发现问题,但在整个测试过程中会暴露出来。同时,在集成测试过程中,注意模块连接过程中是否有数据丢失。还应注意的是,尽管单个模块的误差可能很少且没有影响,但拼接可能对系统产生很大影响。

二、系统测试:系统测试遵循集成测试。系统测试将通过集成测试的部分作为整个系统的一部分。它与电子设备的所有软硬件一起,可以通过实际操作检测模拟的实际环境中是否存在错误。系统测试需要与计划中的理想情况进行比较,以找出与预期的差异。在分析设计器后确定如何修改。在软件的实际操作过程中,会出现许多意外错误,测试人员可能无法在第一时间解决问题。因此,系统测试应尽可能在实际运行情况下进行,以达到更好的测试目的。

三、验收测试:验收测试是在设计完成和发布之前对系统的最终测试。它需要了解用户和合作伙伴的需求。我们将与他们一起完成测试,并根据他们的需求进行有针对性的修改,成为能够更好地同时满足两者需求的软件。

6.3系统测试用例

性能测试是指通过自动化测试工具模拟系统在不同负载和压力情况下,观察平均响应时间、CPU占用率和内存占用率等性能评价指标的变化情况,以检验系统性能是否能达到预期目标,确保平台上线后稳定运行。

本文采用开源的测试工具JMeter模拟用户对平台API网关的并发请求行为,并发量从200开始逐渐递增,利用JMeter自带的监听器与插件记录平均响应时间、CPU占用率和内存占用率等性能评价指标,具体测试结果如表6-1所示:

表6-1 API网关性能测试结果

由测试结果可知,在系统并发量逐渐递增到1200的过程中,平均响应时间控制在1.5秒内,异常率保持为0%,响应失败率小于5%}  CPU占用率小于80%,内存占用率小于95%,达到了预期的性能目标。当并发量达到1400时,有一部分请求出现异常,各项性能指标也超出以上标准,说明目前系统在1400并发请求时达到了性能瓶颈。

结    论

本系统将采用java 技术和SpringBoot框架来搭建本系统的框架。系统从选题开始,共经历了搜集选题背景信息和选题目的及意义的分析,通过对国内外的研究,需求分析的整理,数据库的模型和表的设计,具体代码的实现。

通过调研和分析,该系统的功能设计有用户管理、动物种类管理、动物信息管理、领养申请管理、志愿者招募管理、志愿者活动管理、活动报名管理、招募报名管理、动物救助站管理、捐赠资金管理、反馈意见管理、交流论坛、系统管理、个人中心等功能。

该系统从设计和实现,再到系统的测试,每个环节都一一经历学习,每个环节都顺利完成。其实在配置系统的开发工具时,就已遇到各种问题,但在导师和同学的帮助下,都已顺利的解决。本系统很多功能都不够完善,希望日后技术和经验都更丰富的情况下,能完善系统的不足之处。

致  谢

时光荏苒,岁月如梭。大学美好的四年学涯生活即将结束,但仔细想想,这四年之间发生了很多故事。曾经与同学、老师、亲朋好友在大学里所有美好的事物都将成为回忆,心中浮满好多不舍。如果让我总结大学四年生活,我会说我成长了,这四年时光非常值得!感谢所有相遇的老师、朋友们!

首先,我要感谢我的指导老师,谢谢您这段时间对我的论文修改,是您的耐心、细心辅助我顺利的完成了论文的编写,也感谢您的奉献精神,让我学习到了职业精神,希望我以后也能对我的工作同样的负责。

其次,我要感谢我的同学,四年里分享我的情感生活,让我们成为了志同道合的朋友,感谢在大学认识你们。

最后,我要感谢我的父母和亲戚,是你们这些年的耐心的陪伴,让我成为了现在能独立思想的个人,有思想、有理想的人。谢谢所有曾经帮助过我的人,谢谢你们,谢谢!

参考文献

[1]冀钢.《Java框架技术开发》课程的思政教学设计[J].电脑与信息技术,2023,(03):101-103+106.

[2]张志云.探究计算机软件开发中Java编程语言的应用[J].信息记录材料,2023,24(04):110-112.

[3]王建,罗政,张希,张梦琪,张科,马文成.Web项目前后端分离的设计与实现[J].软件工程,2020,23(04):22-24.

[4]赵将.Java语言在计算机软件开发中的应用[J].数字技术与应用,2023,41(03):160-162.

[5]王小飞,韩继凯,王元鑫,袁涛.基于Web标准的虚拟实验教学平台的研究与设计[J].办公自动化,2020,25(07):49-52.

[6]潘蕊.SSH框架的Web网站设计与实现研究[J].成才之路,2019(36):58-59.

[7]李艳杰.基于MySQL数据库的数据安全应用设计[J].现代信息科技,2023,7(12):151-154.

[8]李洋,刘婷.MySQL数据库安全加固技术的研究[J].科技与创新,2023(13):120-122.

[9]焦宇,李民,王欢等.基于MySQL性能调优的推荐系统优化设计[J].软件导刊,2022,21(09):108-112.

[10] 单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术.2021,17(30).

[11]妥泽花.基于黑盒测试与白盒测试的比较探究[J].电子世界,2021(11):55-56.

[12]Ilahi L, Martinho R. Towards a Business Process Management Governance ApproachUsing Process Model Templates and Flexibility[C]. IEEE World Congress on Services.IEEE, 2020:27-34.

[13]MohammadRudiansyah,LeonardoLubis,RiaBandiara,RudiSupriyadi,Afiatin,RubinSurachnoGondodiputro,RullyMarsisAmirullahRoesli,DediRachmadi.JavaBarbFishGallbladder–InducedAcuteKidneyInjuryandIschemicAcuteHepaticFailure[J].KidneyInternationalReports,2020.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值