摘 要
流浪动物救助系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。
与安卓,iOS相比较起来,流浪动物救助系统在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着流浪动物救助系统的设计可以比其他系统更为出色的能力,可以更高效的完成最新的公告信息、动物资讯、流浪动物、救助站点等功能。
此系统设计主要采用的是JAVA语言来进行开发,采用Spring Boot框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全性;数据库方面主要采用的是MySQL来进行开发,其特点是稳定性好,数据库存储容量大,处理能力快等优势;服务器采用的是Tomcat服务,能够提供稳固的运行平台,确保系统稳定运行。通过流浪动物救助系统来提升本课题的各项功能的工作效率,提供了一个多样功能,具有良好实用性的流浪动物救助系统。
关键词:流浪动物救助系统;Spring Boot框架;JAVA语言;
The purpose of the class management system is to make it more convenient for users to connect people, equipment and scenes more three-dimensional together. It can allow users to use the product in a more sci-fi way, experience the convenience brought to people in the high-tech era, and also allow users to experience a different experience style from the conventional products in the past.
Compared with Android and iOS, the class management system has great advantages in fluency, endurance and other aspects. This means that the class management system design can be more excellent than other systems, can be more efficient to complete the latest class notice, public documents, homework completion, class attendance and other functions.
This system design mainly adopts JAVA language for development and Spring Boot framework technology. The framework is divided into three layers, namely control layer Controller, business processing layer Service, and persistence layer dao, which can adopt multi-level management and development and have certain security for the design and production of each module. Database is mainly used to develop MySQL, which is characterized by good stability, large database storage capacity, fast processing power and other advantages; The Tomcat service is used to provide a stable operating platform to ensure the stable running of the system. Through the class management system to improve the work efficiency of each function of the subject, provides a variety of functions, with good practical class management system.
Key words: class management system; Spring Boot framework; JAVA language;
目 录
1 绪 论
近些年来,随着电子科学技术的高速发展,计算机相关行业的发展创新。衍生出了各种各样方便快捷的电子设备。如手机,电脑等。这些电子设备功能强大,方便所有类型的人们使用。但这些年来,人们对手机,电脑等电子高科技产物的依赖和需求也越来越大。现在的人们已经不再满足于它们各式各样的基础功能,例如与他人通讯,上网了解信息等。人们现在更希望的是随着科技的发展,手机、电脑等高科技产品可以给自己带来更多方便快捷、简单实用的功能。同时也希望自己在使用的时候可以更轻松的掌握使用这些设备的技巧。同时,伴随着这些电子设备的出现,操作系统就显的尤为重要,电子设备各式各样功能的顺利运行都要依靠它的稳定运行。操作系统可以管理、控制计算机的硬件资源和软件资源,也是计算机最为基本的系统软件。人们所有能涉及到和使用到的软件运行几乎都离不开它。它就像人类的大脑一样,控制着计算机的各种设备。但同样,操作系统在发展时自身也会出现很多问题,同样的系统不能应用在所有的硬件设备上。这个问题对于大部分的电子科技受益者来说很陌生,处理起来很有困难。会让使用者不能在第一时间使用,因此会造成很多负面的影响。
什么是流浪动物救助系统?流浪动物救助系统区别于人们司空见惯的安卓系统和iOS系统,流浪动物救助系统希望只用一整套系统就解决使用的硬件设备需要有不同的系统的繁琐问题。它的出现不仅让使用者在使用时更加方便,还可以让使用者在使用选项上有了更多选择的余地。流浪动物救助系统十分流畅,可以让使用者在使用时几乎没有任何的延迟和卡顿,可以给使用者带来十分轻松的体验。并且可以在几乎我们能看到的所有电子设备上使用,大幅度的增加了流浪动物救助系统的使用范围。同时,流浪动物救助系统可以同步全部的连接对象,对于使用者来说这样的系统更加方便。它可以很精准的将使用者所需的各方面的流浪动物信息需求通过该系统提供给使用者,并且它的使用普遍性可以让各个年龄段的使用者都能有一个良好的使用体验。
伴随着科技的进步,时代的发展,越来越多的电子设备也随之出现在人们的眼前,在电子设备,软件技术成熟之前,人们可以选择使用电子设备,通过管理软件的帮助,找到最适合自己,最符合自己的管理方式。而流浪动物救助的普及也伴随着很多问题,有的管理软件不能适应用户使用的电子设备的系统,这会让部分使用者对这款软件彻底否认,会导致该系统失去预想的市场竞争力,面临淘汰。使用者更希望自己使用的流浪动物救助系统可以在完成最基本的功能需求的基础上变的更加稳定,流畅,并且没有任何因兼容性而引发的复杂问题。
而流浪动物救助系统的出现也渐渐让这种类似的问题有了一个相对明确的解决方案,流浪动物救助系统可以使软件的运行速度变的更快,并且可以同步全部的连接对象,可以确保项目的正确运行,同时,在如此信息化的时代里,使用者对软件的各项要求也越来越多,在如此广阔的信息量之下,使用者更希望自己使用的系统可以畅通无阻的浏览每个网页上的信息,可以全方位的了解公告信息、动物资讯、流浪动物、救助站点等的特点,根据自己的需求,选择最适合自己的方案。并且让整个电子信息时代都注入了新鲜的血液,且能更好的流向各个领域,各个行业,为电子信息时代继续发光发热。
1.2系统设计目的
为了适应电子信息时代和科技化时代的到来,并且应对今后可能越来越广泛的信息化的发展,需要做出了更加超前时代的功能应对。在这个高速发展的时代里,使用者对信息管理系统的要求也是越来越高,使用者都希望自己可以有拥有一款符合当今科技发展时代,且具有科技感,功能齐全的系统。希望可以只通过一个系统就可以轻松完成自己的需求,而不再因为信息的复杂而不知如何做出最佳选择。科技时代带给了人们轻松,立体的体验,而流浪动物救助系统就符合大家对科技时代的系统所拥有的期待,它可以提升用户的使用体验。
1.3系统设计思想
想要做一个完整的系统,就必须要为其制定一套详细并且规范的原则。这些原则定可以帮助我们在设计过程中能有一个更好的设计理念和设计方向,可以让系统变的更加立体,更加完美。变成更加符合使用者所希望的模样。所以为了能够更好的完成系统,对系统制定了一些原则:
(1)以人为本原则
这个流浪动物救助系统,它的本质是为人们服务。是希望其可以实现并满足广大使用者对科技时代下的流浪动物救助系统的憧憬与向往。如何解放需要人工才能完成的部分和提升使用者的使用观感是最为基础的也是最重要的。它的设计宗旨就是为使用者服务。明确使用者的想法和需求,设法让使用者可以真实的感受到科技时代的魅力是设计的初衷。流浪动物救助系统可以满足新时代使用者的需求,让使用者能够真实的感受到它的便捷。
(2)可修改原则
设计系统时并不能确保让所有的功能都达到使用者最理想的要求,在设计的过程中可能会有纰漏。所以在设计时要确保可以及时对不完整,不完美的部分进行修改和补充。同时,也要确保在系统发行后,在出现bug时可以在不影响使用者使用的情况下对系统进行线上维护。同时要确保在修复,更新,维护的同时可以保证使用者的体验。
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
2.1系统性能需求
(1)鉴于该系统是一款面向全体使用者的系统,管理者需要录入使用者的个人信息、给予使用者应有的权限,让使用者可以更加自由的使用系统。
(2)要给予用户更高的查询权限,让用户可以全方位的了解本课题,让用户可以查询到公告信息、动物资讯、流浪动物、救助站点等。
(3)要提升用户的使用效率,让用户可以更加快捷的查询自己想要查询的东西。同时,还要做到同步性,在用户查询信息或者修改信息的同时,系统可以及时反馈到数据库上,进行及时更新和修复。
2.2系统用例图
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套流浪动物救助系统,系统主要包括管理员模块和普通用户、会员用户、收容所用户模块的功能模块;
(1)管理员用例图如下所示:
图2-1管理员用例图
(2)普通用户用例图如下所示:
图2-2普通用户用例图
(3)会员用户例图如下所示:
图2-3会员用户例图
(4)收容所用户用例图如下所示:
图2-4收容所用户用例图
2.3可行性分析
2.3.1经济可行性
任何系统在开发之前,经济方面的问题都是最应该被考虑的,经济问题主要体现在两个方面。一方面是在开发时,现有可使用的设计资源能否满足系统的预计开发消耗;另一方面是在开发以后,系统的盈利能否保证系统的正常运行和日复一日的更新消耗。
开发方面,因为在开发系统时使用的开发工具基本都是免费的,只有一些少量的人工费。所以,开发工具上的经济消耗都是很少的,都是在可控范围内的。另外,可以在确保质量的前提下,尽可能的减少设计成本,可以为开发之后的工作留下更多的经济资源。
在最大限度降低开发成本的同时,也可以让使用者最大限度的从系统中获利,对双方来说都是一个可行的流浪动物救助系统。总结下来就是,该系统的各项开发费用都处于可控范围内。经过了种种分析和考虑后证明,该系统软件可以行得通的,经济方面的压力是在预料之内的。
2.3.2技术可行性
在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。
开发流浪动物救助系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了JAVA和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
2.3.3社会可行性
在社会可行性分析中,首先能结合国家经济和社会发展的实际情况,还需要能够让用户更加的便利,给使用者带来多方面的高效益,使得可以比较快速的发展以及应用,随着很多领域的发展,尤其是智能化的社会下,据统计许多的人都拥有属于自己的系统,这种情况下就带来很多的问题,比较突出的就是管理上的不足,从而出现低效率的原因。
在可行性分析中的收益分析,是比较清晰地发掘开发的系统带来的各种直接的有效的利益以及一些隐藏起来的好处,以便在后续的设计中更加的坚定和确信系统开发的意义。解决一些社会方面存在的问题,设计并开发系统肯定是要发现某类社会存在的问题,并且能够带来一定的社会价值。还有一些社会的影响力,是通过系统想优势和切实的好处来产生的,能够在一定的情况下提高效率,肯定会增加一些社会的进步和发展。社会上的可行性,包括法律上的可行性,也包括法律上的可能性,法律上的可行性,需要社会上的许多因素,可以来实现系统建设的现实性。如果所开发的系统与国家法律或政策等相关的因素不相符合,在某些信息化的邻域中使用的是一些加密的信息或者技术问题,还有不经过正常的操作使用其他的一些公开的信息等这些情况,这样的系统的开发在法律的范围中就是不能被允许的。
其中还有一个比较重要的用户使用可行性也是通过执行系统时的可行性,是从所有情况下用户的角度来考虑系统的可行性,由于设计开发相关的系统就是站在社会中广大的用户体验考虑的,所以在这个层面考虑也是符合的。
2.4系统开发技术
2.4.1 springboot框架
该框架拥有自己独特的配置方式,网站开发人员不需要再进行大量重复的样板 式的配置工作,开箱即用,不会生成额外代码量,不需要进行XML文件的配置。
2.4.2 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.4.3 MySQL介绍
MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。
2.4.4 Java介绍
Java 最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。
2.4.5 VUE简介
VUE是目前市场主流的前端开源框架之一,它主要用来开发前端的界面,是一种仅注重视图层,采用自底向上增量开发设计的渐进式开源框架。VUE开源框架提供了强大的API,通过它开发者能够实现数据绑定的功能,而且还能使用样式简洁、功能强大的组件库。VUE的特性:
轻量级:Vue.js非常轻量,文件大小小,加载速度快,使其易于集成到现有项目中。
简单易学: Vue.js的API和文档非常易于理解,新手可以迅速上手,但也提供了高级功能供有经验的开发人员使用。
双向数据绑定:Vue.js提供了双向数据绑定,使视图和模型之间的同步变得容易,减少了开发中的重复代码。
组件化:Vue.js采用组件化开发模式,允许开发人员构建可复用的组件,提高了代码的可维护性和可扩展性。
生态系统丰富:Vue.js有一个活跃的生态系统,包括许多第三方库和插件,可用于处理路由、状态管理、表单验证、图表等各种功能。
渐进式框架: 您可以逐步采用Vue.js,将其嵌入到现有项目中,而无需重写整个应用程序。
性能优化:Vue.js具有虚拟DOM和异步更新机制,可以提高应用程序的性能,确保只更新必要的部分。
2.5系统流程分析
(1)个人信息流程图
用户在成功进入系统以后,可以获得年龄、性别、手机等个人信息。获得个人信息的流程见图2-5所示。
图2-5个人信息流程图
用户进行登录操作的流程图如图2-6。
图2-6 用户登录界面流程图
用户进行注册操作的流程图如图2-7。
图2-7 用户注册流程图
系统设计要提出具体的软件功能及要求,是系统分析后进行的流程。它的主要目的是提供软件开发的思路和具体流程,是系统运行的根本保障。它要确定软件各个模块的功能,并形成相应的流程图,方便设计者思考。同时要将每个模块需要完成的任务详细的表达出来,并对每个模块进行具体化的设计分析,提供相当数量的设计方案,再通过设计者的详细分析和比对,选择出最佳的方案进行设计开发。并对相应的方案进行验证和拓展。
3.1系统功能结构
3.1.1系统结构图
系统结构图可以把杂乱无章的模块按照设计者的思维方式进行调整排序,可以让设计者在之后的添加,修改程序内容的过程中有一个很明显的思维方向。同时结构图还可以让设计者以外的其他人更直观的看出整个系统的设计理论和设计过程。让系统的设计变的更直观。该系统的功能架构图如图3-1所示:
图3-1 流浪动物救助系统功能结构图
3.2.1 数据库概念设计
从系统运行完整的角度出发,设置相应的实体,明确各实体之间的联系。下面列举整个系统中涉及核心功能的实体:
- 会员用户E-R图
图3-2会员用户E-R图
- 救助站点E-R图
图3-3救助站点E-R图
- 爱心募捐E-R图
图3-4爱心募捐E-R图
4、流浪动物E-R图
图3-5 流浪动物E-R图
5、流浪动物救助系统状态E-R图
图3-6流浪动物救助系统总体E-R图
3.2.2数据逻辑结构
在综合了以上对系统的设计,和对数据库的分析,同时结合了以往对数据库的使用经验后,构建了以下几张表,以下为每张表的内容:
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 用户编号: |
表3-2:adoption_information (领养信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | adoption_information_id | int | 10 | 0 | N | Y | 领养信息ID | |
2 | shelter | int | 10 | 0 | Y | N | 0 | 收容所 |
3 | name_of_the_shelter | varchar | 64 | 0 | Y | N | 收容所名称 | |
4 | animal_number | varchar | 64 | 0 | N | N | 动物编号 | |
5 | animal_names | varchar | 64 | 0 | Y | N | 动物名称 | |
6 | animal_types | varchar | 64 | 0 | Y | N | 动物类型 | |
7 | animal_species | varchar | 64 | 0 | Y | N | 动物品种 | |
8 | animal_gender | varchar | 64 | 0 | Y | N | 动物性别 | |
9 | animal_weight | varchar | 64 | 0 | Y | N | 动物体重 | |
10 | member_users | int | 10 | 0 | Y | N | 0 | 会员用户 |
11 | member_name | varchar | 64 | 0 | Y | N | 会员姓名 | |
12 | adoption_date | date | 10 | 0 | Y | N | 领养日期 | |
13 | shipping_method | varchar | 64 | 0 | Y | N | 邮寄方式 | |
14 | mailing_address | varchar | 64 | 0 | Y | N | 邮寄地点 | |
15 | reason_for_adoption | text | 65535 | 0 | Y | N | 领养原因 | |
16 | mailing_fees | varchar | 64 | 0 | Y | N | 邮寄费用 | |
17 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
18 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
19 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
20 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
21 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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_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 | 更新时间: |
表3-6:classification_of_animals (动物分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | classification_of_animals_id | int | 10 | 0 | N | Y | 动物分类ID | |
2 | animal_types | 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 | 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_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 | 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 | love_fundraising_id | int | 10 | 0 | N | Y | 爱心募捐ID | |
2 | shelter_users | int | 10 | 0 | Y | N | 0 | 收容所用户 |
3 | name_of_the_shelter | varchar | 64 | 0 | Y | N | 收容所名称 | |
4 | shelter_address | varchar | 64 | 0 | Y | N | 收容所地址 | |
5 | date_of_incorporation | date | 10 | 0 | Y | N | 成立日期 | |
6 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
7 | member_users | int | 10 | 0 | Y | N | 0 | 会员用户 |
8 | member_name | varchar | 64 | 0 | Y | N | 会员姓名 | |
9 | donation_name | varchar | 64 | 0 | Y | N | 捐赠名称 | |
10 | donation_method | varchar | 64 | 0 | Y | N | 捐赠方式 | |
11 | donation_amount | varchar | 64 | 0 | Y | N | 捐赠金额 | |
12 | donor_information | text | 65535 | 0 | Y | N | 捐赠人信息 | |
13 | donation_description | text | 65535 | 0 | Y | N | 捐赠说明 | |
14 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
15 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | member_users_id | int | 10 | 0 | N | Y | 会员用户ID | |
2 | member_name | varchar | 64 | 0 | Y | N | 会员姓名 | |
3 | member_gender | varchar | 64 | 0 | Y | N | 会员性别 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表3-12:message (留言板)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | message_id | int | 10 | 0 | N | Y | 留言板ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
3 | title | varchar | 64 | 0 | Y | N | 标题: | |
4 | content | longtext | 2147483647 | 0 | N | N | 内容: | |
5 | nickname | varchar | 32 | 0 | N | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像: | |
7 | | varchar | 125 | 0 | Y | N | 留言者邮箱 | |
8 | phone | varchar | 11 | 0 | Y | N | 留言者手机号码 | |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
11 | reply | longtext | 2147483647 | 0 | Y | N | 回复 | |
12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 更新时间: |
表3-14:personal_information (个人信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | personal_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 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
5 | date_of_birth | date | 10 | 0 | Y | N | 出生日期 | |
6 | user_age | varchar | 64 | 0 | Y | N | 用户年龄 | |
7 | users_native_place | varchar | 64 | 0 | Y | N | 用户籍贯 | |
8 | users_mobile_phone | varchar | 16 | 0 | Y | N | 用户手机 | |
9 | id_number | varchar | 255 | 0 | Y | N | 身份证号 | |
10 | home_address | varchar | 64 | 0 | Y | N | 家庭住址 | |
11 | marital_status | varchar | 64 | 0 | Y | N | 婚姻状况 | |
12 | user_belief | varchar | 64 | 0 | Y | N | 用户信仰 | |
13 | career_name | varchar | 64 | 0 | Y | N | 职业名称 | |
14 | user_income | varchar | 64 | 0 | Y | N | 用户收入 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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_id | int | 10 | 0 | N | Y | 普通用户ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_no | varchar | 64 | 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 | rescue_stations_id | int | 10 | 0 | N | Y | 救助站点ID | |
2 | shelter_users | int | 10 | 0 | Y | N | 0 | 收容所用户 |
3 | name_of_the_shelter | varchar | 64 | 0 | Y | N | 收容所名称 | |
4 | shelter_address | varchar | 64 | 0 | Y | N | 收容所地址 | |
5 | date_of_incorporation | date | 10 | 0 | Y | N | 成立日期 | |
6 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
7 | shelter_pictures | varchar | 255 | 0 | Y | N | 收容所图片 | |
8 | number_of_people_in_the_shelter | varchar | 64 | 0 | Y | N | 收容所人数 | |
9 | scale_of_shelter | text | 65535 | 0 | Y | N | 收容所规模 | |
10 | medical_equipment | text | 65535 | 0 | Y | N | 医疗设备 | |
11 | composition_personnel | text | 65535 | 0 | Y | N | 组成人员 | |
12 | rescue_cases | longtext | 2147483647 | 0 | Y | N | 救助案例 | |
13 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
14 | praise_len | 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 | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | shelter_users_id | int | 10 | 0 | N | Y | 收容所用户ID | |
2 | shelter_number | varchar | 64 | 0 | N | N | 收容所编号 | |
3 | name_of_the_shelter | varchar | 64 | 0 | Y | N | 收容所名称 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
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 | 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_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 | | 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 | 会员折扣 |
表3-12: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 | 更新时间: |
表3-13:wandering_animals (流浪动物)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | wandering_animals_id | int | 10 | 0 | N | Y | 流浪动物ID | |
2 | shelter | int | 10 | 0 | Y | N | 0 | 收容所 |
3 | name_of_the_shelter | varchar | 64 | 0 | Y | N | 收容所名称 | |
4 | animal_number | varchar | 64 | 0 | Y | N | 动物编号 | |
5 | animal_names | varchar | 64 | 0 | Y | N | 动物名称 | |
6 | animal_types | varchar | 64 | 0 | Y | N | 动物类型 | |
7 | animal_species | varchar | 64 | 0 | Y | N | 动物品种 | |
8 | animal_gender | varchar | 64 | 0 | Y | N | 动物性别 | |
9 | animal_photos | varchar | 255 | 0 | Y | N | 动物照片 | |
10 | animal_age | varchar | 64 | 0 | Y | N | 动物年龄 | |
11 | animal_weight | varchar | 64 | 0 | Y | N | 动物体重 | |
12 | health_status | varchar | 64 | 0 | Y | N | 健康状态 | |
13 | is_there_a_master | varchar | 64 | 0 | Y | N | 是否有主人 | |
14 | whether_to_seek_medical_treatment | varchar | 64 | 0 | Y | N | 是否就医 | |
15 | sterilization_or_not | varchar | 64 | 0 | Y | N | 是否绝育 | |
16 | is_it_a_vaccine | varchar | 64 | 0 | Y | N | 是否疫苗 | |
17 | residential_address | varchar | 64 | 0 | Y | N | 居住地址 | |
18 | shelter_address | varchar | 64 | 0 | Y | N | 收容所地址 | |
19 | storage_address | varchar | 64 | 0 | Y | N | 寄存地址 | |
20 | animal_personality | text | 65535 | 0 | Y | N | 动物性格 | |
21 | health_condition | text | 65535 | 0 | Y | N | 健康状况 | |
22 | matters_needing_attention | text | 65535 | 0 | Y | N | 注意事项 | |
23 | adoption_process | text | 65535 | 0 | Y | N | 领养流程 | |
24 | adoption_responsibility_letter | varchar | 255 | 0 | Y | N | 领养责任书 | |
25 | animal_details | longtext | 2147483647 | 0 | Y | N | 动物详情 | |
26 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
27 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
28 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
29 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4.1登录模块设计
这个功能模块用来让工作人员进行后端登录。管理人员通过网站。在输入自己的用户名和密码、角色进行登录,登录后管理人员就可以对后台的信息相关的操作。
首先,设计后端管理的登陆页面。对页面的各个板块进行详细的设计,规划它们的字体大小,背景颜色,字体颜色和板块大小等。还要加上图片,让页面被设计的更加美观。以便让以后需要登陆的管理员可以直观的使用。
4.2 前台普通用户功能模块
当普通用户打开系统的网址后,首先看到的就是首页界面。在这里,学生能够看到流浪动物救助系统的导航条显示页、公告信息、动物资讯、留言板、流浪动物、救助站点等。系统首页界面如图4-1所示:
图4-1系统首页界面
当普通用户进入前台系统进行相关操作前必须先注册登录,在注册页面填写姓名、密码、确认密码、性别、电话、头像等信息,前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知普通用户完成注册。这个过程实现了新普通用户的数据收集、验证和存储。如图4-2所示。
图4-2普通用户注册界面图
普通用户登录,普通用户在登录页面通过填写账号、密码,完成登录,在登录流程中,普通用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端生成一个令牌(如JWT)并返回给前端,允许普通用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图4-3所示。
图4-3普通用户登录界面图
普通用户点击流浪动物;在流浪动物详情页面可以查看收容所、收容所名称、动物编号、动物名称、动物类型、动物品种、动物性别、动物照片、动物体重、是否领养等信息,如有需要可以点赞或收藏等操作;如图4-4所示。
图4-4流浪动物界面图
普通用户点击救助站点;在救助站点页面可以查看收容所用户、收容所名称、收容所地址、成立日期、联系方式、收容收图片、收容所人数等信息,并可以点赞或收藏等操作;如图4-5所示。
图4-5救助站点界面图
在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对个人首页、收藏进行详细操作,如图4-6所示:
图4-6个人中心界面
4.3前台会员用户功能模块
会员用户点击登录,会员用户通过登录页面输入详细信息,并点击登录操作,如图4-7所示。
图4-7会员用户登录界面图
在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对个人首页、领养信息、爱心募捐、收藏进行详细操作,如图4-8所示:
图4-8个人中心界面
会员用户点击流浪动物;在流浪动物详情页面可以查看收容所、收容所名称、动物编号、动物名称、动物类型、动物品种、动物性别、动物照片、动物体重、是否领养等信息,如有需要可以在线领养、点赞或收藏等操作;如图4-9所示。
图4-9流浪动物界面图
4.4前台收容所用户功能模块
收容所用户点击登录,收容所用户通过登录页面输入详细信息,并点击登录操作,如图4-10所示。
图4-10收容所用户登录界面图
在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对个人首页、流浪动物、领养信息、救助站点、爱心募捐、收藏进行详细操作,如图4-11所示:
图4-11个人中心界面图
4.5后台管理员功能模块
管理员通过登录页面填写用户名和密码进行登录,如图4-12所示。
图4-12管理员登录页面
管理员登录进入流浪动物救助系统的实现可以查看首页、系统用户、动物分类管理、流浪动物管理、领养信息管理、救助站点管理、爱心募捐管理、系统管理、留言管理、公告信息管理、资源管理、权限管理等信息,如图4-13所示。
图4-13管理员功能界面图
普通用户功能在视图层(view层)进行交互,比如点击“添加普通用户”按钮或填写普通用户信息表单。这些普通用户信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除普通用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便普通用户功能可以看到最新的信息或相应的操作反馈。管理员点击普通用户;在普通用户页面对昵称、用户名、用户姓名、用户性别等信息,进行查询、添加或删除普通用户信息等操作;如图4-14所示。
图4-14普通用户界面图
收容所用户功能在视图层(view层)进行交互,比如点击“添加收容所用户”按钮或填写收容所用户信息表单。这些收容所用户信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、新增、更新或删除收容所用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便收容所用户功能可以看到最新的信息或相应的操作反馈。管理员点击收容所用户;在收容所用户页面对昵称、用户名、收容所编号、收容所名称号等信息,进行查询、添加或删除收容所用户信息等操作;如图4-15所示。
图4-15收容所用户界面图
管理员点击会员用户;在会员用户页面对昵称、用户名、会员姓名、会员性别等信息,进行查询、添加或删除会员用户信息等操作;如图4-16所示。
图4-16会员用户界面图
管理员点击流浪动物管理;在流浪动物页面对收容所、收容所名称、动物编号、动物名称、动物类型、动物品种、动物性别、动物照片、动物体重、是否领养、动物现状、健康状况、领养流程、动物详情等信息,进行查看、添加或删除流浪动物等操作;如图4-17所示。
图4-17流浪动物界面图
管理员点击领养信息管理;在领养信息页面对收容所、收容所名称、动物编号、动物名称、动物类型、动物品种、动物性别、动物体重、会员用户、会员姓名、领养日期、领养原因、审核状态、审核回复等信息,进行查看或删除活领养信息等操作;如图4-18所示。
图4-18领养信息界面图
管理员点击救助站点管理;在救助站点情况页面对收容所用户、收容所名称、收容所地址、成立日期、联系方式、收容收图片、收容所人数、收容所规模、医疗设备、组成人员、救助案例等信息,进行查询、添加或删除救助站点等操作;如图4-19所示。
图4-19救助站点界面图
管理员点击爱心募捐管理;在爱心募捐页面对收容所用户、收容所名称、收容所地址、成立日期、联系方式、会员用户、会员姓名、捐赠名称、捐赠形式、捐赠金额、捐赠说明等信息,进行查询或删除爱心募捐等操作;如图4-20所示。
图4-20爱心募捐界面图
管理员点击公告信息管理;在公告信息页面对标题等信息,进行查询、添加或删除公告信息等操作;如图4-21所示。
图4-21公告信息界面图
管理员点击资源管理;在动物资讯页面可以对标题、封面图、文章分类、标签等信息,进行查询、删除或添加等操作;如图4-22所示。
图4-22资源管理界面图
5 软件测试
软件测试(Software Testing)是指在设计基本完成后对软件的各项功能进行测试,检测其能否达到在系统设计之初对其的预期情况。预估系统上线后的情况,对出现问题的地方进行及时修改。软件测试作为系统设计的最终阶段,它的准确性往往影响了系统的最终使用感。因为软件是由数据、文档以及程序代码组成的,所以软件测试的对象就不仅仅是程序的本身,还有包括软件设计过程中形成的数据、文档等。但软件测试也存在着问题,软件测试注重的是软件设计的最终结果,其并没有关心整个系统在开发过程中发生的问题。软件测试必须假设和考虑在设计过程中发生的问题。并对软件测试中发现的问题进行回归测试。要更好的通过软件测试检测系统以更好的找出问题来提高系统的质量。软件测试要以最少的人力和经济消耗来完成系统的设计结尾工作。而且所有的测试都要以人为本,任何的测试都要考虑到用户使用的实际体验感,要确保用户有一个好的使用体验。要确保整个软件测试过程都按照原定的规则进行,以确保最终设计的系统的完整性和实用性。
编筐编篓,重在收口。软件测试的完成效果直接影响到整个系统的使用效果。对于软件测试来说,如果能早点发现系统的漏洞,就能及时修改,可以让设计的成本减少。进行软件测试的时候,测试员们需要制定自己的测试脚本,让这个脚本尽可能多的覆盖系统需要测试的各个路径,避免系统疏漏。同时,在软件测试的过程中,要检测程序有没有进行与系统预期功能要求无关的代码运行。避免多余的程序运行对系统产生破坏,降低效率,增加成本。同时在测试后,还要尽量保留所有测试用例,这样可以帮助日后想要修改时可以及时找到原先的用例,可以再直接进行测试。以下是总结下来比较重要的一些软件测试原则:
(1)要尽可能早的进行软件测试。
随着系统的设计进行,设计过程中每一个阶段发生的错误都有可能导致在后续的开发设计的时候连续出错,如果等到软件设计工作基本全都完成再进行测试,可能会导致大量的错误同时出现,而且很难找到它们出错的源头。因为开发设计的每一步都与后续程序紧密相连,如果不及时找出错误,可能会因一处错误导致后续整个程序瘫痪。所以要坚持尽早进行软件测试的原则,一来可以减少牵一发而动全身的错误,二来可以降低成本。
(2)软件测试证明软件存在缺陷。
通过软件测试可以检测系统设计时是否存在错误和缺陷,但并不能说明系统是不存在任何缺陷的。软件测试的目的是辅助软件开发,让程序员可以尽可能早的发现错误,提高质量。软件开发的过程或多或少都会产生一些错误,软件测试就是尽可能地发现错误和缺陷,尽可能优化程序。
(3)缺陷集群效应原则。
一个软件核心的地方可能就只有那么小的一部分,但就是那一小部分,却能引发软件大规模的损坏。当我们进行软件测试的时候要特别注意那一小部分,也就是核心的部分,因为它们几乎控制了整个软件的稳定性,它们是最容易出现错误的,控制好它们几乎就控制了软件的八成稳定性。但我们也不能只仅限于这小部分模块的检查,也要对剩余的地方进行适当的测试。
(4)以人为本原则。
流浪动物救助系统设计的目的就是为人服务,任何的缺陷和错误的修改方向都要在使用者的角度去进行。要做到尽可能贴近使用者的日常模式,从使用者的角度去出发,去修改。
(5)经常更新测试方式。
测试人员应该尽量避免对系统所有的部分都使用同一种测试方式。一些测试方式只能检测特定的模块,并不能对整个系统都进行有效的测试,甚至无法发现一处错误。所以,为了能更好的发挥软件测试的作用,软件测试的时候应该经常更新测试方法,让测试的质量最大化。
表 5-1 测试用例表
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
进行登录实验。需要管理员输入相应的信息验证,看能否进入 | 录入信息验证通过, 转入管理员界面 | 登陆成功, 成功跳转页面 | 测试成功 |
对用户的登录进行测试。管理员就录入特定的信息,看能否成功登录 | 录入特定信息, 可以登录,可以在数据后台找到信息 | 可以登录,在后台找到了对应信息 | 测试成功 |
测试登录功能是否符合规定。测试员要输入错误的登录信息,检查能否登录 | 在输入错误的信息后,系统会发现错误,禁止测试人员登录 | 输入错误信息后,系统禁止登录 | 测试成功 |
对兼容性进行测试,让软件在不同的电子类产品上进行登录测试 | 都可以成功打开软件,正常运行 | 可以在不同的设备上和其他软件共存 | 测试成功 |
续表5-1
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
安装测试,在试验机上登录软件,检测能否按预期正常运行 | 登录后可以进行正常操作,可以发行 | 在试验机上可以正常运行,没有卡顿 | 测试成功 |
流浪动物救助系统通过 springboot框架、JAVA语言等技术完成的。系统可以完成用户的基本需求,并且在测试中系统运行情况良好,没有出现异常。但是,还是有许多我需要学习和完善的地方。
流浪动物救助系统实现了模块化连接,对应不同的平台可以进行针对性部署,可以进行全方位的覆盖。它实现了跨终端无缝协同体验。但碍于流浪动物救助系统刚进入市场发行不久,它的各项数据,功能还没有达到完美的地步。需要进一步的实际运行来完善有缺陷的地方。在这个信息化的时代大家都希望手里的任何一个电子设备都可以完成平时的常见功能,通过流浪动物救助系统的开发可以实现这一目标。流浪动物救助系统作为国产系统,它的发展前途十分明亮,未来也会拥有很广泛的市场,通过未来的长时间发展,流浪动物救助系统的软件开发一定会成为一种趋势,让中国的操作系统发展得到进一步的提升。
- 张荣超.鸿蒙应用开发实战[M].人民邮电出版社.2021(1):34-70.
- 董昱.HarmonyOS鸿蒙应用程序开发[M].清华大学出版社.2021:30-45.
- HarmonyOSIoT设备开发实战[M].人民邮电出版社,2021(1):40-56.
- 鸿蒙操作系统开发入门经典[M].人民邮电出版社,2021(1)60-75.
- 武延军.鸿蒙第三方组件库应用开发实战[M].人民邮电出版社,2021(12):40-78.
- 华为软件技术有限公司.移动应用开发[M].清华大学出版社,2021:15-25.
- 李亚玲, 韩奥, 鲁建丽, 张航.软件测试初探[J]. 数码世界, 2020: 68-69.
- 郑明秋, 蒙连超, 赵海侠. MySQL数据库实用教程[M].北京理工大学出版社, 2019: 4.
- 胡巧儿.MySQL数据库原理与应用项目化教程微课版[M].电子工业出版社.2021:74-79.
- 周小娟.基于springboot框架与XML技术的工业锅炉智能化监控系统设计[J].工业加热,2020,49(12):31-34.
- 沈蕴梅. 电子商务网站建设springboot+MySQL项目开发教程[M]. 北京:北京理工大学出版社, 2019:95-102.
- 向桂玲.XML数据库强制访问控制策略探讨[J].信息与电脑,2021,34(04):186-188.
- Vanier Eric, Malepati Tejaswi, Shah Birju. Advanced MySQL 8[M]. Packt Publishing, 2019: 89-95.
- Kromann. springboot and MySQL Recipes[M]. Apress, 2020:20-36.
- AlDwairi Mahmoud,Shatnawi Ahmed S.,AlKhaleel Osama,AlDuwairi Basheer. Ransomware-Resilient Self-Healing XML Documents[J]. Future Interspringboot,2021,14(4).
时光飞逝,转眼间四年的大学就要过去了。当我做到了大学里最后任务的最后一个模块时,我意识到自己将要毕业了,将离开陪伴了自己四年快乐时光的校园。回想起在学校的四年,让我有很深的感触。回想起在学校的点点滴滴,让我有太多无法忘记的人和事。学校的室友,同学,朋友,老师,图书馆,教学楼等,当这些东西在我脑里闪过的时候,我的心里很不是滋味。
首先,我要感谢我的亲人。他们无论何时都是我最亲近的人,无论我对他们怎么发脾气,他们都不会生我的气。每次当我因为某些事而无法承受的时候,他们总是会第一时间来关心我,来给我出主意,帮我度过难关。今后,我也会努力前进,回报我的亲人们对我的支持。
当然,还要感谢我的毕设指导老师。他是一位发自内心希望我们以后能功成名的老师。他陪伴了我几乎整个大学时光,他每次上课的时候都会向我们分享他所做过的程序。将他自己的实战经验授予我们。他会将自己觉的最有用的东西交给我们,还会向我们分享他觉得非常实用的软件,如果我们无法下载,他也会帮我们下载软件。记得在大四上学期的时候,他还帮助我们重装系统,给我们安装最实用的软件。他也是一个非常有责任感的老师,他会经常询问我们的论文情况,如果我们有问题,他都会在第一时间给我们解答。或许对于一位老师来讲,学生学有所成是他的期望。
还要感谢我的室友们。虽然这几年的生活会有磕磕绊绊,但是每次我有困难或者不开心的时候,他们都会给我建议,让我不在难过。每当我过生日的时候,他们都会不约而同的为我庆祝。每当我有困难的时候,他们总是站在我这一边,为我考虑。而在和他们沟通后,我都会从坏心情里走出来,变的愉悦。所以,我也很感谢他们这四年的陪伴。
时光飞逝,四年大学生活转眼间就要过去了。这一刻,四年里的时光又在我的脑海里进行了一遍。我的室友,同学,老师,这一刻,我已止不住自己的泪水。我有太多的回忆永远的刻在了脑子里,我不会忘记他们,不会忘记和他们的点点滴滴。于此同时,我会积极备战考研,吸取第一次的失败经验,争取再二战中取得一个好的成绩,考上心目中理想的学校。我一定会加油的!