SSM流浪动物助养系统-计算机毕业设计源码81499

摘 要

随着社会的发展和城市化进程的加速,流浪动物问题逐渐成为社会关注的热点。流浪动物救助管理不仅关系到动物福利,也体现了社会的文明程度。然而,现有的流浪动物救养管理方式往往面临诸多挑战,如信息不对称、资源分配不均、管理效率低下等。SSM框架以其高效、稳定和易于维护的特点,广泛应用于企业级应用开发。在流浪动物救养管理领域,SSM框架的应用可实现系统的模块化、可扩展性和可维护性,从而提高系统的运行效率和稳定性。因此,借助先进的信息技术,开发一款SSM的流浪动物助养系统,对于提升助养管理水平具有重要意义。

本文提出的SSM的流浪动物助养系统是采用基于Java语言、B/S结构、MySQL数据库、 SSM 框架为基础进行开发。通过系统可以更及时准确地发布助养信息、动物信息等相关信息,提高公众对流浪动物救助工作的关注和参与度,促进流浪动物的救助和领养工作,改善社会对待流浪动物的态度,有助于提高流浪动物的生存力。

关键词流浪动物助养系统;SSM框架;Java编程语言;MySQL数据库

Design and implementation of a stray animal support system based on SSM

Abstract

With the development of society and the acceleration of urbanization, the issue of stray animals has gradually become a hot topic of social concern. The rescue and management of stray animals not only relates to animal welfare, but also reflects the level of social civilization. However, the existing management methods for rescuing stray animals often face many challenges, such as information asymmetry, uneven resource allocation, and low management efficiency. The SSM framework is widely used in enterprise level application development due to its high efficiency, stability, and ease of maintenance. In the field of stray animal rescue and management, the application of SSM framework can achieve modularity, scalability, and maintainability of the system, thereby improving the operational efficiency and stability of the system. Therefore, with the help of advanced information technology, developing an SSM stray animal support system is of great significance for improving the level of support management.

The SSM stray animal support system proposed in this article is developed based on Java language, B/S structure, MySQL database, and SSM framework. Through the system, it is possible to release more timely and accurate information on support and animal care, increase public attention and participation in the rescue of stray animals, promote the rescue and adoption of stray animals, improve social attitudes towards stray animals, and help improve the survival of stray animals.

Keywords: Stray animal support system; SSM framework; Java programming language; MySQL database

目  录

第1章 绪论

1.1 选题背景和意义

1.2 研究开发现状分析

1.3 论文章节安排

第2章 相关技术简介

2.1 B/S结构

2.2 MySQL数据库

2.3 SSM框架

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 需求分析

普通用户功能分析

3.2.2 管理员功能分析

3.3 性能需求分析

3.4 系统业务流程分析

第4章 系统设计

4.1 系统功能结构

4.2 功能模块设计

4.3 数据库设计

4.3.1 数据库概念模型设计

4.3.2 逻辑结构设计

第5章 系统实现

5.1 登录模块的实现

5.2 普通用户子系统模块的实现

5.2.1 用户首页模块

5.2.2 助养动物模块

5.2.3 募捐信息模块

5.3 管理员子系统模块的实现

5.3.1 登录模块

5.3.2 系统用户管理模块

5.3.3 动物类型管理模块

5.3.4 流浪动物管理模块

第6章 系统测试

6.1 测试过程

6.2 测试用例 

6.3 测试结果

第7章 结论

参考文献

致谢

  1. 绪论
    1. 选题背景和意义

近年来,随着城市化进程的加快,人们生活节奏加快,对于宠物的照顾和管理渐渐疏忽。导致大量的流浪动物出现在城市街头。据估计,全球每年约有 1.5 亿只无家可归的宠物,其中大部分被遗弃在街头或公共场所。这些流浪动物中,许多患有疾病或伤势严重,得不到及时的救助和治疗。流浪动物问题已经成为一个备受关注的社会问题,大量的流浪动物得不到有效的救助和治疗,面临着生存困境。SSM框架以其高效、稳定和易于维护的特点,广泛应用于企业级应用开发。借助先进的信息技术,开发一款流浪动物助养系统,有助于提升流浪动物救助管理水平。

随着城市化的不断发展和人类对动物的关注度不断提高,流浪动物问题已经成为一个备受关注的社会问题。研究并设计一个流浪动物助养系统具有重要的意义。

首先,通过系统发布动物信息,通过救助站和用户的救助领养,可以帮助更多的流浪动物重新找到一个温暖的家,从而减少流浪动物的数量。其次,通过系统,可以更好地记录流浪动物信息、促进领养和跟踪等,提高流浪动物的领养率和生存力,减少流浪动物对社会的负面影响,构建人与动物和谐共处的生活环境。再次,有利于公共卫生安全,流浪动物可能会传播疾病,对公共卫生安全造成威胁。通过建立流浪动物助养系统,对流浪动物进行领养或救助,可以有效降低疾病传播的风险,保障公共卫生安全。

    1. 研究开发现状分析

在国内,流浪动物问题日益凸显,流浪动物数量不断增长,给社会带来诸多挑战。这些挑战包括公共卫生问题、社会安全隐患以及生态环境压力等。因此,流浪动物救助管理成为了一个备受关注的社会议题。

近年来,我国在流浪动物救助管理方面的研究逐渐深入。学者们对于流浪动物救助的模式、方法以及技术手段进行了广泛探讨,涉及的管理理论涵盖了社会学、管理学、动物学等多个学科。同时,对于流浪动物的心理和生理健康问题也有了更深入的了解。在技术方面,目前国内流浪动物救助仍面临识别、追踪、数据分析等方面的技术瓶颈。在政策与法律法规方面,尽管我国已有相关的动物保护法律,但在具体执行过程中仍存在诸多困难,如处罚力度不够、执行不力等。此外,社会对于流浪动物的认识和态度也是一大挑战,提高公众意识是解决这一问题的关键。

目前已有一些智能技术和产品应用于流浪动物救助管理,如智能项圈、宠物定位器等。这些技术可以帮助追踪和管理流浪动物,提高救助效率。此外,一些非政府组织和社会团体也在积极参与到流浪动物救助的行动中,提供了很多切实可行的解决方案。同时,越来越多的组织和人士开始关注和参与到流浪动物救助的行动中。例如,一些公益组织定期开展流浪动物绝育、疫苗接种等活动,降低流浪动物数量。同时,也有不少企业和个人通过捐款捐物、领养等方式为流浪动物提供帮助。这些努力已经在一定程度上改善了流浪动物的生活状况。

在国外,自20世纪中期以来,许多西方国家开始重视流浪动物问题,纷纷建立起相应的救助管理系统。这些系统通常包括收容所、救援组织、兽医诊所和领养机构等,形成了一个庞大的社会网络。目前,许多国家已经形成了较为完善的救助体系,为流浪动物提供了更好的生活条件和更多的被领养的机会。在美国,流浪动物救助系统十分发达,民间组织众多,政府也提供了相应的支持。特色在于重视动物福利和权益保护,同时鼓励领养和坚决反对安乐死。在英国,流浪动物救助系统强调教育和宣传,鼓励人们负责任地对待动物,同时还开展了广泛的社区支持项目。在德国,流浪动物救助系统以政府为主导,设立了大量的动物收容所,同时重视对虐待动物行为的法律制裁。

近年来,国外的研究机构对流浪动物救助管理问题进行了深入研究,涉及社会学、心理学、经济学和法学等多个领域。这些研究不仅提供了理论支持,还为实践提供了实证依据,推动了救助系统的发展和完善。

    1. 论文章节安排

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

第二章研究了流浪动物助养系统的所采用的开发技术和开发工具。

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

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

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

  1. 相关技术简介
    1. B/S结构

流浪动物助养系统通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问[1]。

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互[4]。

HTML语言

在校期间所接触最多的页面布局技术就是关于HTML,利用相关的软件进行HTML语言的编码,能够直接进行效果呈现,而这种快捷的对照操作不论是对于资深的还是入门的编程者而言都是十分的方便。而且该语言所涉及的原则问题较为简单,能够轻易的上手操作,尤其是在小型项目的使用更是深受大家的喜欢。

从开发环境的角度上看,HTML技术所能够使用的环境是开源环境,在这种环境下能够在不同的软件中进行HTML的编写开发,而且又能够保证编码的正确性。

从使用软件的角度上看,HTML技术所运用到的软件是完全免费的,而且相应的安装过程完全不收费。

从功能性的角度上看,运用HTML技术进行编码,不仅在系统内存使用方面只占一小部分,其在使用过程的运行速度也是十分的迅速,而且在编写的过程中能够进行效果的呈现是十分的方便,而开发者在软件功能设计的过程中能够在任意时刻进行效果对比,同时发现问题并解决问题。

从市场角度上看,HTML技术无论是其学习成本还是使用软件来说都是免费的,而这对于开发人员而言是十分的便利,不用仅限于有限的收费软件进行HTML页面的设计。

    1. MySQL数据库

无论是在个人学习中还是在企业办公中,MySQL数据库一直都是一种具有强大扩展性,强大功能的数据信息管理工具和处理工具。由于MySQL数据库的存在,将Windows系统所拥有的优点展现的淋漓尽致,而且能够对Win进行图形化的管理,使得使用者在操作系统的过程中对项目能够做到一目了然;而其强大的储存功能更是为系统工程运作提供了保障。MySQL不仅仅是一种优秀的数据信息处理工具,更是一个拥有独立的,完整的数据库语言的管理平台。

    1. SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集是两个开源框架Spring和MyBatis的集成(SpringMVC是Spring的一部分)。通常用作具有相对简单的数据源的Web项目的框架。

1.6.1 Spring

Spring就像一个在整个项目中组装Bean的大工厂,可以在配置文件中指定特定的参数来调用实体类的构造方法来实例化对象。它也可以被称为项目中的粘合剂。

Spring的核心思想是IoC(控制反转),即程序员不再需要显示‘新建’一个对象,而是让Spring框架帮助我们完成所有这些工作。

1.6.2 SpringMVC

SpringMVC拦截项目中的用户请求,其核心是由Servlet Dispatcher Servlet负责调解或前端,通过HandlerMap将用户请求与控制器进行对应匹配,这也是对相应请求执行的具体操作。SpringMVC相当于SSH框架中的Struts。

1.6.3 mybatis

Mybatis是JDBC的封装,它使数据库的底层操作变得更加透明。Mybatis的操作围绕着一个sqlSessionFactory实例。Mybatis通过配置文件,与每个实体类的映射器文件相关联,配置文件配置每个类到数据库所需的SQL语句映射。在每次与数据库交互时,通过sqlSessionFactory获取一个sqlSession并执行SQL命令。

页面向控制器发送请求,控制器调用业务层来处理逻辑。逻辑层再将请求发送到持久层,持久层与数据库交互,并将结果返回给业务层。业务层将处理逻辑发送到控制器,然后控制器调用视图来显示数据。

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

技术上使用ssm+Java+MySQL+Apache的架构实现,从技术本身的角度上讲已经相当成熟,不需要考虑其本身的问题,从服务器流量以及并发的角度上讲,由于系统面向的群体为社会人员,用户群体适中,根据服务器和计算能力的发展现状来看不会成为系统不利因素。再者就是开发人员本身的水平问题,笔者在实习期间已经经历过3~5个项目,也独立完成过项目,因此在技术上还是比较有信心,加上有指导老师的协助指导,相信技术上不存在问题。

      1. 经济可行性分析

本系统功能模块相对来说不是很复杂,整个设计和开发过程投入成本较低,在实际使用中,只需要一台能上网的计算机登录浏览器即可访问。操作简单,业务流程很清晰,且运维也比较轻松,所以说该系统在经济上是完全可行的。

      1. 操作可行性分析

系统开发采用的B/S架构是最常见的Web项目架构,常用于简单Web系统项目的开发。基于B/S架构实现的系统,免去了客户端频繁更新换代的成本和麻烦,只需要一台能上网的计算机登录浏览器即可享受足不出户的快捷。系统操作便捷,可兼容到不同操作系统和不同浏览器,只需要简单熟悉系统的核心业务逻辑和步骤,任何人都能快速上手。前台与后台的分离使得业务逻辑十分清晰,超强的界面友善性同样给用户体验加分。所以,该系统具备超强的功能逻辑和快速上手的优势,可以说该系统在操作上是可行的。

    1. 需求分析
      1. 普通用户功能分析

注册登录: 允许用户注册账号并提供必要信息,以及通过账号密码登录系统,确保用户身份的合法性和安全性。

首页: 展示系统概况、最新的网站公告、动物资讯等内容,方便用户浏览和获取相关信息。

网站公告: 提供系统发布的重要公告信息,确保用户及时获取系统消息。

动物资讯: 提供关于流浪动物领域的最新资讯和信息,包括救助活动、领养信息等,帮助用户了解动物保护动态。

流浪动物: 展示流浪动物的相关信息和图片,方便用户浏览和了解可领养的动物情况。

我的账户: 允许用户管理自己的账户信息,包括个人资料、头像、密码等。

个人首页: 展示用户个人信息和相关记录。

流浪动物: 提供用户查看和申请领养流浪动物的功能。

助养动物: 提供用户查看和参与动物助养计划的功能。

募捐信息: 提供用户查看和参与动物救助募捐活动的功能。

收藏: 允许用户收藏感兴趣的内容,包括动物信息、募捐活动等,方便下次快速查看和使用。

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

图3-1 普通用户用例图

      1. 管理员功能分析

登录: 提供安全的管理员登录功能,确保只有授权的管理员可以访问系统。

公共管理(轮播图、网站公告): 管理系统首页的轮播图内容,包括添加、编辑、删除轮播图图片和相关链接,以及发布网站公告信息。

用户管理: 管理系统用户,包括添加新用户、编辑用户信息、冻结用户、删除用户等操作,以确保系统安全性。

资讯管理(动物资讯、新闻分类列表): 管理动物资讯和新闻分类,包括添加、编辑、删除资讯,以及管理资讯分类信息。

动物类型: 管理流浪动物的类型信息,包括添加、编辑、删除类型等操作,方便用户查找和浏览。

流浪动物: 管理流浪动物的相关信息和状态,包括添加新动物、编辑动物信息、删除动物、审核领养申请等操作。

助养动物: 管理助养计划,包括添加新计划、编辑计划信息、查看助养记录等操作。

募捐信息: 管理募捐活动,包括添加新活动、编辑活动信息、查看捐款记录等操作。

退出: 提供管理员退出系统的功能,保障系统安全性。

管理员用例图如下所示。

图3-2 管理员用例图

    1. 性能需求分析

基于上面功能性需求,非功能需求也是项目设计中一项必定考虑进去的工作。首先是安全性的需求,其次是界面必须整洁干净等的需求,再次就是可扩展的需求。除此之外,还有性能、可靠性的需求,具体可以表示在如下表所示。

表3-1 系统非功能需求表

安全性

只有在登录的情况下才能进行相应功能的操作,尤其是管理员功能,防止后台管理端被侵入。

可靠性

系统的功能明确,操作一个功能,不会产生额外的功能影响,操作功能的时候,页面也不会造成额外的跳动。

性能

响应时间尽量控制在1s之内

可扩展性

后台采用自顶向下的开发,利于开发与维护。

易用性

在用户使用上,尽可能使用更多的图标进行功能暗示,提供系统的可阅读性和友好性。

可维护性

前台和后台注意按照模块化开发的原则,对于组件和方法的保存和包的建立需要遵照一般开发原则,以利于维护。

    1. 系统业务流程分析

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

用户权限下的工作流程主要为:用户通过管理员添加的登录信息功能,在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

流浪动物助养系统的业务流程如下图所示。

图3-3 系统业务流程图

  1. 系统设计
    1. 系统功能结构

流浪动物助养系统主要是为用户所服务的,该系统是因他们而存在,要为他们服务,因此,在系统设计时要将他们的需求放在第一位,并且要充分考虑他们的意见。

流浪动物助养系统的用户角色有两种,包括管理员,用户。管理员在流浪动物助养系统中管理公共管理、用户管理、资讯管理、动物类型、流浪动物、助养动物、募捐信息。用户所能实现的功能有:修改自己的密码等个人信息,管理流浪动物、助养动物、募捐信息。

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

图4-1 系统功能结构图

    1. 功能模块设计

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

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

公告管理模块:如果登录当前管理员有公告管理的权限即可以进行公告的查询、新增、删除、修改信息的操作。

助养申请管理模块:审核和处理用户提交的助养申请,确保领养程序的合法性和合理性。

动物类型管理模块:对不同种类的动物进行分类和管理,便于用户浏览和搜索。

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

下面是整个SSM流浪动物助养系统中主要的数据库表总E-R实体关系图。

图4-2 SSM流浪动物助养系统总E-R关系图

      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

用户编号:

表animal_types (动物类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

animal_types_id

int

10

0

N

Y

动物类型ID

2

classification_of_animals

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

更新时间

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

表fundraising_information (募捐信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

fundraising_information_id

int

10

0

N

Y

募捐信息ID

2

pet_name

varchar

64

0

Y

N

宠物名称

3

pet_type

varchar

64

0

Y

N

宠物类型

4

user_account

int

10

0

Y

N

0

用户账号

5

item_name

varchar

64

0

Y

N

物品名称

6

quantity_of_items

int

10

0

Y

N

0

物品数量

7

item_images

varchar

255

0

Y

N

物品图片

8

situation_description

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

更新时间

表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

更新时间:

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

表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

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

更新时间

表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

更新时间:

表supporting_animals (助养动物)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

supporting_animals_id

int

10

0

N

Y

助养动物ID

2

user_account

int

10

0

Y

N

0

用户账号

3

contact_information

varchar

64

0

Y

N

联系方式

4

pet_name

varchar

64

0

Y

N

宠物名称

5

pet_type

varchar

64

0

Y

N

宠物类型

6

pet_pictures

varchar

64

0

Y

N

宠物图片

7

application_time

datetime

19

0

Y

N

申请时间

8

reason_for_application

text

65535

0

Y

N

申请缘由

9

current_address

text

65535

0

Y

N

目前住址

10

examine_state

varchar

16

0

N

N

未审核

审核状态

11

examine_reply

varchar

16

0

Y

N

审核回复

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

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

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表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

更新时间:

表wandering_animals (流浪动物)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

wandering_animals_id

int

10

0

N

Y

流浪动物ID

2

pet_name

varchar

64

0

Y

N

宠物名称

3

pet_type

varchar

64

0

Y

N

宠物类型

4

pet_pictures

varchar

255

0

Y

N

宠物图片

5

situation_description

text

65535

0

Y

N

情况说明

6

rescue_time

datetime

19

0

Y

N

救助时间

7

hits

int

10

0

N

N

0

点击数

8

praise_len

int

10

0

N

N

0

点赞数

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

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

将首页的左边的功能设计为用户登录的位置,所以在进行登录的地方就会显示首页。在登录后就是大众较为熟悉的位置,也就是让用户进行账号以及密码输入的样式。

当用户输入完信息并点击登录按钮时,Struts就会将用户输入的信息传递进表单并装入相应的对象之中,然后再转到相应位置进行校验。若用户名和密码框都是空的,那么系统就会不可将账号密码均设置为空值。

系统的底层设置要求账号密码不可以都是空值,将这些信息传递给相关的类中的对象方法并调用相关的信息,对于用户输入的数据进行检验。若检验结果正确会自动转到系统首页欢迎页面,如果不正确系统就会返回用户登录界面。

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

5-1 用户登录流程

系统登录界面如下图所示。

图5-2 系统登录界面

    1. 普通用户子系统模块的实现
      1. 用户首页模块

首页主要分别展示各个模块的最新动态,浏览者可以很清楚地看到不同模块的最新更新内容。并且系统首页每个部分可以跳转到相对应的模块,方便浏览者选择感兴趣的地方。

首页载入流程图如下所示。

5-3 首页载入流程

首页如下图所示。

图5-4 首页界面

      1. 助养动物模块

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

助养动物流程如下图所示。

图5-5助养动物流程

助养动物添加界面如下图所示。

图5-6 助养动物添加界面

      1. 募捐信息模块

用户通过登录系统后点击“募捐信息”,便可以对募捐信息进行确认。

募捐信息流程如下图所示。

图5-7 募捐信息流程

募捐信息界面如下图所示。

图5-8 募捐信息界面

    1. 管理员子系统模块的实现
      1. 登录模块

管理员登录,通过填写注册时输入的用户名、密码权限进行登录。

登录界面如下图所示。

图5-9管理员登录界面图

      1. 系统用户管理模块

通过使用sql语句,用户可以访问yhzhgl中的用户信息,并且可以通过PageManager.getPages (url, 4, sql, request)获取一个ArrayList对象,以便更好地管理和分析用户表。通过for循环,我们可以从ArrayList中提取出所有数据,然后将其转换为键值对,从而在Python页面上进行解析。

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

图5-10 用户管理流程图

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

图5-11系统用户管理界面

      1. 动物类型管理模块

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

动物类型添加流程如下图所示。

图5-12动物类型添加流程

动物类型界面如下图所示。

图5-13动物类型界面图

      1. 流浪动物管理模块

在添加、删除或修改流浪动物管理时,系统会根据流浪动物的状态来决定是否允许使用。如果允许,系统会提供相应的链接,以便用户访问。如果不允许,系统将会在后台查询流浪动物的状态,并决定是否允许使用。当您点击更改链接按钮时,您将会进入一个更改信息的页面。在完成数据填写之后,您将会将其提交到后台,并对数据库中的记录进行更新。

当添加流浪动物时,系统将会弹出一个页面,用户可以根据自己填写的流浪动物来查询编号是否已经存在。一旦填写完成,系统将会将其提交至后台,并调用相应的服务,将其插入到数据库中。

流浪动物流程图如下图所示。

图5-14流浪动物添加流程图

流浪动物界面如下图所示。

图5-15流浪动物界面

  1. 系统测试
    1. 测试过程

对每个用源码进行的单元检测,以验证每个单元能否正常地执行预先设定的函数。在进行单元代码编写的过程中,采用了详细的编程指导,并通过关键的数据界面和路线的检测来检测模块中的缺陷。该试验使用了每个由源码所完成的程序,并按照程序的内部构造来进行测试,以检验各个程序的功能。

集成测试是对单位试验的延伸。装配好的试验组件,并对相关的设计进行软件体系结构的检测。其具体实施方法为:将两个以上的单元模块合并为一个部件进行试验,并进行界面的调试。针对具体的试验,采用了不同的模块整合方法。而将模组转换为体系的方式有两种:一次整合与一次繁殖整合。

    1. 测试用例 

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

表6-1 登录测试用例

操作描述

数据

期望结果

实际结果

测试状态

选择管理员登录,输入用户姓名,按登陆按钮。

用户姓名:admin

密码为空

显示警告信息“请填写密码!

显示警告信息“请填写密码!

与期望结果相同

选择管理员登录,输入密码,按登陆按钮。

用户姓名为空,密码:123456

显示警告信息“请填写用户名”

显示警告信息“请填写用户名”

与期望结果相同

选择管理员登录,输入用户姓名和密码,按登陆按钮。

用户姓名:1234

密  码:1234

显示警告信息“该用户名不存在!

显示警告信息“该用户名不存在”

与期望结果相同

选择管理员登录,输入用户姓名和密码,按登陆按钮。

用户名:admin,密  码:admin

正确登入到后台页

正确登入到后台页

与期望结果相同

个人信息管理测试用例如下表所示。

表6-1 个人信息管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

选择个人信息,清空用户名,按“保存”按钮。

用户姓名为空

显示警告信息“用户名不能为空!”

显示警告信息“用户名不能为空!

与期望结果相同

选择个人信息,清空邮箱,按“保存”按钮。

用户邮箱为空

显示警告信息“邮箱不能为空!”

显示警告信息“邮箱不能为空!”

与期望结果相同

选择个人信息,清空联系方式,按“保存”按钮。

用户联系方式为空

显示警告信息“联系方式不能为空!”

显示警告信息“联系方式是不能为空!”

与期望结果相同

选择个人信息,按“上传头像”按钮,上传头像文件大小超过1Mb。

头像文件大小超过1Mb

显示警告信息“图片大小不能超过1Mb!”

显示警告信息“图片大小不能超过1Mb!”

与期望结果相同

公告管理测试用例如下表所示。

表6-1 公告管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

用户点击“公告发布”,填写相关数据后点击“确定”。

在必填项输入测试数据

提示“发布成功”

提示“发布成功”

与期望结果相同

用户选择公告点击“修改”后点击“确定”。

在必填项修改测试数据

提示“修改成功”

提示“修改成功”

与期望结果相同

动物类型管理测试用例如下表所示。

表6-1 动物类型管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

用户点击“动物类型添加”,填写相关数据后点击“确定”。

在必填项输入测试数据

提示“添加成功”

提示“添加成功”

与期望结果相同

用户选择动物类型点击“修改”后点击“确定”。

在必填项修改测试数据

提示“修改成功”

提示“修改成功”

与期望结果相同

助养动物管理测试用例如下表所示。

表6-1 助养动物管理测试用例

操作描述

数据

期望结果

实际结果

测试状态

用户点击“助养动物发布”,填写相关数据后点击“确定”。

在必填项输入测试数据

提示“发布成功”

提示“发布成功”

与期望结果相同

用户选择助养动物点击“修改”后点击“确定”。

在必填项修改测试数据

提示“修改成功”

提示“修改成功”

与期望结果相同

    1. 测试结果

SSM流浪动物助养系统的测试已经完成,没有出现错误,能够成功运行。因为系统比较简单,一些功能还急需完善,但已经能够满足用户和管理者的需求,给予用户足够的帮助。

经过测试,得到测试结果如下表所示。

表5-1 测试结果

测试项目

测试结果

登录

成功

注册

成功

用户管理

成功

公告管理

成功

动物类型管理

成功

助养动物管理

成功

  1. 结论

在本次系统设计的过程中,我们将深入探讨流浪动物助养系统,从研究背景、目标到实施方案,并详细阐述每一章的内容,以及该系统的硬件和软件环境。其中包含了:需求分析+功能需求+用例图,以此表示系统的功能的流程、模块的处理过程。绘制总体各个结构+流程图,并根据功能细致设计的需要,再来设计数据库的表结构,并绘制E-R图,实现程序接口,然后完成调试。最后,本文进行了总结,并提出了下一步的发展方向。

这个系统使用MySQL数据,Java语言,采用ssm框架。系统基本实现:首页、公共管理、用户管理、资讯管理、动物类型、流浪动物、助养动物、募捐信息等功能模块。系统功能流畅、模块清晰,易于更改后期版本的程序细节,实现了效率高与界面友好还有操作方便。

在这次设计中,我通过不断地探索和学习,掌握了Java技术和ssm框架,并创建了一个流浪动物助养系统,这让我对编写系统的必要性和运行环境有了更深入的了解。为了更好地完成这个项目,我花费了大量的时间,不仅丰富了自己的知识面,并且学习并积累了许多宝贵经验。系统刚开始时,我对ssm框架这个技术只是稍微有些了解,但是通过这次基于ssm框架的流浪动物助养系统设计,让我更加深入地去探讨了,ssm框架运转的原理,从中学到了如何去配置服务器环境和连接数据库。在基于ssm框架的流浪动物助养系统设计的过程中,我还学会了使用dreamweaver来建设一个简单的页面,这样可以极大程度提高我的实际操作能力,也因此激发了我对这个领域的浓烈兴趣。

系统的这一次发展提升了我自己的能力,也学到了框架如何实现基本功能。同时在编程代码各方面也做了的很多尝试,从关注代码错误到做一些小的修改,都有了很大的提高。同时,在撰写论文时,还查阅了大量的参考资料,对论文的结构和文献资料进行了总结和分析。已作出努力,尽量减少错误和走弯路,从一开始的系统功能概念化到逐一实施,并进行了广泛的研究报告。也许后续操作过程中还有很多实现不完美的功能,但我依然会继续学习,努力在以后的软件开发、编号代码中吸取教训,总结不完美之处,努力的在软件开发越来越强。以上是我在本次设计中的总结,希望在未来取得更好的成绩。

参考文献

[1]单厚信,刘舒心,程文远等.基于SSM架构的图书资料管理系统设计与实现[J].现代信息科技,2023,7(23):46-51.DOI:10.19850/j.cnki.2096-4706.2023.23.010.

[2]杜朋轩,陈芳,曹梦川.基于Java Web的智慧农业信息采集系统的设计与实现[J].科技资讯,2023,21(23):162-165.DOI:10.16661/j.cnki.1672-3791.2307-5042-8177.

[3]闫凤琴,李汶洋.基于SSM的防诈骗警民协同防护平台的设计与实现[J].中国新通信,2023,25(23):140-142.

[4]袁爱平,陈畅,孙士兵等.基于SSM框架的高校学生信息管理系统设计与实现[J].工业控制计算机,2023,36(12):127-129.

[5]袁琳琳.计算机软件Java编程特点及技术分析[J].数字通信世界,2023,(12):87-89.

[6]马庆.计算机软件开发中JAVA编程语言的应用[J].山西电子技术,2023,(06):84-86+98.

[7]苏婉怡,揣小龙,刘美瑜等.基于Java技术的实验室管理系统设计与实现[J].无线互联科技,2023,20(23):58-60.

[8]宋晓燕,杨芬.Java程序设计语言的分层教学实践[J].电子技术,2023,52(11):182-183.

[9]Tyson M .Project Loom: Understand the new Java concurrency model[J].InfoWorld.com,2023,

[10]Ernoiz A ,Agustono ,Wuri S A , et al.Consumers’ willingness to pay for local rice: Empirical evidence from Central Java, Indonesia[J].Journal of Agriculture and Food Research,2023,14

[11]Yang Q C ,Yao M S ,Xiu Y W , et al.Slow-Exploring Java Sparrows Lonchura oryzivora Hold Higher Reversal Learning Ability[J].Acta Ornithologica,2023,58(1):65-74.

[12]刘方磊.基于SSM框架的旅游大数据分析系统设计与实现[J].中国新技术新产品,2023,(21):22-25.DOI:10.13612/j.cnki.cntp.2023.21.002.

[13]Tyson M .Intro to virtual threads: A new approach to Java concurrency[J].InfoWorld.com,2023,

[14]Abdul K ,Fuad K M R ,Abdul M , et al.Nyai Sabirah’s folklore and sacred local heritage in Central Java[J].Cogent Arts  Humanities,2023,10(1):

[15]张国芳.Java编程语言在计算机软件开发中的应用方向分析[J].信息记录材料,2023,24(11):138-141.DOI:10.16009/j.cnki.cn13-1295/tq.2023.11.042.

[16]郭子傲,杨凯江.基于Java的在线音乐系统的设计与实现[J].工业控制计算机,2023,36(10):66-67+70.

[17]丁玉青,孙逸飞,朱敏.基于JAVA的共享蓝牙耳机小程序设计[J].科技与创新,2023,(20):152-154.DOI:10.15913/j.cnki.kjycx.2023.20.047.

[18]王敏.基于SSM的高校学生综合测评管理系统设计与实现[J].电脑知识与技术,2023,19(29):59-62+70.DOI:10.14004/j.cnki.ckt.2023.1530.

[19]姜苏.基于互联网平台解决社会流浪动物问题的可行性研究[D].山东农业大学,2020.DOI:10.27277/d.cnki.gsdnu.2020.001043.

[20]纪好.流浪动物救助公益服务设计研究[D].武汉理工大学,2018.

致谢

这篇文章的完成经历了多个日日夜夜的努力,终于在今天得以完成。这篇文章的创作过程实为不易,但在老师和同学的辛勤帮助下顺利渡过。让我在设计过程中举步维艰时,非常感谢我的导师不耐其烦的帮助我解决问题,给予了我许多指导意见。也感谢所有为我授业解惑的老师!

另外,本文的完成也参考借鉴了许多国内外在Java技术上的著作,如果没有著作原作的辛勤付出和科研成果,我也很难完成本论文。感谢在本论文中关联到的学者们!也感谢Google等公司,感谢他们强大的搜索引擎,让我的资料查阅省事简单。

感谢之余也还有几句话要说,虽大学学习四年,怎奈何本人才疏学浅,本文的完成已为尽力,但文中不免有些不当和错误之处,诚挚真切的请求各位老师对本文的批评改正,感谢百忙之中费心审阅我论文的老师。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值