javaWeb宠物领养系统

news2024/11/25 12:57:37

一、引言

1.1 系统背景

计算机网络的发展,促进了社会各行业的进步,带来了经济快速增长。管理员通过流浪宠物的信息,在平台上和领养人进行实时的交流,达成领养协议。用户登录后,把想要领养的宠物向本平台发起申请,提高了效率,减少了时间成本,确保宠物领养系统流程规范,避免纠纷,使得双方安全性得到了保障。宠物领养系统为宠物的交流带来了便利,节省了双方的时间。

1.2问题定义

所谓的宠物领养系统是一个利用计算机软件和硬件资源,分析、计划、控制和决策模型以及数据库人机系统。它能提供信息支持团体的运行、管理和决策功能。这个定义全面地说明了管理信息系统的目标、功能和组成,而且反映了宠物领养系统在目前地水平。

1.3 文档说明

本文档描述了“宠物领养系统”的系统需求。主要用于对所构建系统的说明和方向指导,明确所要开发的软件应具有的功能、性能与界面,是系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步完成后续设计与开发工作。

二、可行性研究的前提

2.1项目基本要求

宠物领养系统应便于根据宠物信息进行分类和管理,提高工作效率,便于操作,能有效地对数据进行更新、查询,并能在一定程度上实现自动化。

1.主要功能

宠物领养系统的主要功能为:数据更新、数据查询、密码管理。
数据更新功能分为三部分:数据添加、数据删除和数据修改。
数据添加功能包括:1、新增用户的功能,将用户信息存入数据库。2、新增管理员的功能,将管理员信息存入数据库。3、新增宠物的功能。将宠物信息存入数据库。4、用户评论的功能。将评论信息存入数据库。
数据删除功能包括: 1、管理员删除用户的功能。2、管理员删除宠物的功能。3、管理员删除评论的功能。
数据修改功能包括: 1、用户信息修改功能。2、宠物信息修改功能。3、管理员信息修改功能。
数据查询功能包括:1、用户根据模糊度或id等方式查询宠物信息的功能。2、管理员查询用户信息的功能。3、管理员查询宠物信息的功能。
密码管理功能允许用户对密码进行修改。

2.性能要求

操作简单方便:对于该系统应便于管理员的使用,系统不应太复杂和繁琐,因此要求系统的操作尽可能简单易行。
实时性:为了展示实时性这一特点,宠物领养系统采用精确的时间,信息及时更新等。
针对性:本系统是针对宠物领养系统,操作简单,具有一定的针对性。

3.系统的输入输出

输入:领养人信息、宠物信息。
输出:宠物信息。

4.安全和保密要求

用户都必须注册、登录才能进入系统。
用户信息只有用户自己和管理员有可见与修改的权力。

5.项目与其他软件系统的关系

本项目采用客户机/服务器体系结构,客户端的是建立在Windows10 系统上,以idea为开发工具的应用程序,服务器端采用Windows操作系统,数据库服务器为mysql。

2.2 项目基本目标

基本目标: 规范宠物领养流程。系统实现后,应该做到:

1.方便流浪宠物信息申报

领养人可以直接在本单位计算机上通过宠物领养系统申报,这不仅减少了沟通成本,还提高了工作效率。

2.方便管理员的审查审核

管理员对用户申请领养宠物的信息和申报流浪宠物的信息进行审核,减少了时间成本。

3.方便用户领养

用户发布领养请求后,待管理人员同意,可直接领养。

2.3 项目开发条件、假定和限制

1.所建议系统运行寿命的最小值
系统运行寿命的最小值应达五年。
2.进行系统方案选择比较的时间
系统方案选择比较的时间为15天。
3.经费、投资方面的来源
自费
4.硬件环境
运行时内存要求:30MB;
安装所需硬盘:60MB;
5.软件环境
Windows操作系统;
mysql数据库;
Tomcat服务器;
6.可利用的信息和资源
各个城市的流浪动物救助站,动物保护协会。
7.系统投入使用的最迟时间
系统投入使用的最迟时间为2022年2月。
8.进行可行性研究的方法
可行性研究采用的方法如下:客户调查、专家咨询、同类系统调查,系统进行评价时所使用的主要尺度为各项功能的优先次序、开发时间的长短及使用中的难易程度。

三、现有系统概况(包括人工系统)

3.1现有系统处理流程

在这里插入图片描述

图3-1 宠物领养系统流程图

图3-1为宠物领养系统的大致系统流程,每个矩形框表示一个模块,从最顶层开始,首先用户通过客户端选择想要领养的宠物,待审核后,方可领养,还可以评论一些有关宠物的信息给想要领养的人。

3.2现有系统简明情况

目前,中国的流浪宠物保护措施不完善,基本上都是通过社交媒体平台发布领养宠物的信息,效率低下,导致流浪动物没有办法被有效收养,缺少一个整合流浪动物信息的平台。

四、所建议系统概况

4.1所建议系统概述

宠物领养系统采用java等语言技术,在登录本系统后,用户可以对想要领养的宠物向本平台发起申请,待管理员审核后,方可领养。管理员可对流浪宠物信息进行展览,方便用户根据自己和喜好领养自己想要的宠物,还可以对用户信息进行删除等操作。

4.2所建议系统的系统流程图和数据流图

在这里插入图片描述

图4-1 宠物领养系统流程图
在这里插入图片描述

图4-2 宠物领养系统数据流图

4.3所建议系统对现有系统的改进、影响和局限性

1.与现有系统比较的优越性
宠物领养系统有利数据的集中、有效管理。占据空间小,易更新,易备份。
宠物领养系统增强了系统的灵活性。当原始数据发生变动时,应用程序可以对数据库稍作修改即可使用数据及时反映最新情况。
宠物领养系统能够较好地保证数据库的安全。建立用户并为之分配密码和操作权限,这样,任何用户只能在他的权限范围内对数据库进行操作。
2.采用建议系统可能带来的影响
(1)对设备的影响
基本无影响
(2)对软件的影响
必须保证操作系统在Windows7以上版本的电脑上运行,以适应宠物领养系统的需求。
(3)对开发的影响
用户需进行的工作:输入用户个人信息;
为了建立一个数据库所要求的数据资源:使用idea完成对数据库的建设、更新、查询与删除工作;
为了开发和测验所建议系统而需要的计算机资源:系统打包,能够异地发布,完成在系统Windows7以上的电脑上进行测试工作;
所涉及的保密与安全问题:系统对管理员权限进行相应的设置,防止非法登录。
(4)对经费开支的影响
软件的开发成本并不大,其他的投入也只是电脑。所运行已经达到了要求,无需重新开发建设,所以系统开发、运行所需的费用是比较低的。

五、可行性分析

5.1 技术条件可行性分析

本系统采取的是目前应用最广泛的程序进行技术的支持,主要的技术支持是java语言,他作为一个相当成熟的语言程序,在众多的软件开发中起着很大作用。而且用java语言编辑出来程序可以直接运行,不需要借助其他的翻译器进行翻译。所以在技术方面是完全可以行的。

5.2经济可行性分析

本项目开发的初衷就是为了节约,因为系统开发的所有过程都是我自己开发的,而且在开发过程使用到的技术也都是市面上常见的容易操作的,所以不需要请专业的人士花资金来进行系统的开发,而且在项目开发的过程中我也学到了更多的知识。开发的这个软件可以在网络中进行免费的下载,对计算机的软硬件没有很高的要求,因此这个项目是非常实惠的,在经济方面是完全可性的。

5.3社会因素方面的可行性分析

1.法律方面的可行性
本系统作为软件工程这门课程的课程设计,没有签订任何合同,不存在合同责任。所用的东西都是自己的或者公共的,也没有挪用别人的成果,不存在侵犯专利权版权等问题。
2.使用方面的可行性
使用可行性来看,所设计的宠物领养系统可以应用,对此,我们认为,该系统具有相当的可行性,大大方便了登记、查询等操作。宠物主人、宠物管理人员都可以使用,软件界面简洁,清晰明了。

六、可行性分析结论

结论意见:经上述可行性分析,宠物领养系统的研制和开发可以立即开始进行。

七、项目截图

首页设计

在这里插入图片描述
首页设计采用了轮播图的设计效果,上面展示了导航栏,方便用户查询相关信息

管理员登录界面图

在这里插入图片描述

用户登录注册图

在这里插入图片描述

宠物领养中心图

在这里插入图片描述

宠物知识图

在这里插入图片描述

						图2-6

宠物信息管理

在这里插入图片描述

管理员信息管理

在这里插入图片描述

领养管理

在这里插入图片描述

用户管理

在这里插入图片描述

用户评论管理

在这里插入图片描述

宠物展示图

在这里插入图片描述

八、数据库设计

数据库设计
根据数据库概念结构设计转换为数据库逻辑结构设计的转换规则(即由ER图演化为数据库逻辑结构),可得如下关系模式。
5.1数据库逻辑结构
管理员(账号,密码,真实姓名,电话,邮箱,生日,性别,照片,个人简介)
领养信息(用户id,宠物id,申请时间,领养状态)
评论回复(用户id,评论序号,评论id,回复时间,回复内容)
志愿者(用户名称,邮箱,年龄,电话,申请理由,申请时间,申请状态)
团队活动(日期,地址,活动人员,活动内容,活动名称)
评论(用户id,管理员id,宠物id,评论日期,评论内容)
宠物(名字,品种,性别,生日,图片,评价,领养状态)
用户(用户id,用户名称,密码,性别,年龄,电话,邮箱,地址,头像,领养经历)
5.2表
表5-1 管理员表结构
结构名称 管理员表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 管理员序号 Id Int 11
2 姓名 adminName Varchar 20
3 密码 adminPwd Varchar 20
4 真实姓名 realName Varchar 20
5 电话 telephone Varchar 20
6 邮箱 Email Varchar 20
7 生日 birthday Date 0
8 性别 sex Varchar 3
9 照片 pic Varchar 100
10 个人简介 remark Varchar 255

表5-2 领养信息表结构
结构名称 领养信息表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 信息序号 id int 11
2 用户id userId int 11
3 宠物id petId int 11
4 申请时间 adoptTime date 0
5 领养状态 state int 11

表5-3 评论回复表结构
结构名称 评论回复表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 序号 id int 11
2 用户id userId int 11
3 评论序号 replayId int 11
4 评论id commentId int 11
5 回复时间 answerTime date 0
6 回复内容 content varchar 255

表5-4 志愿者信息表结构
结构名称 志愿者信息表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 用户名称 id int 11
2 姓名 name varchar 10
3 邮箱 email varchar 20
4 年龄 age int 11
5 电话 telephone varchar 12
6 申请理由 message varchar 100
7 申请时间 applyTime date 0
8 申请状态 state int 11

表5-5 团队活动表结构
结构名称 团队活动表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 序号 id int 11
2 日期 actionTime date 0
3 地址 address varchar 100
4 活动人员 peoples varchar 100
5 活动内容 event varchar 100
6 活动名称 title varchar 20

表5-6 评论表结构
结构名称 评论表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 序号 id int 11
2 用户id userId int 11
3 管理员id adminsId int 11
4 宠物id petId int 11
5 评论时间 commentTime date 0
6 评论内容 content varchar 200

表5-7 宠物表结构
结构名称 宠物表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 序号 id int 11
2 名字 petName varchar 20
3 品种 petType varchar 20
4 性别 sex varchar 3
5 生日 birthday date 0
6 图片 pic varchar 100
7 领养状态 state int 11
8 评价 remark varchar 100
表5-8 用户表结构
结构名称 用户表 结构类型 记录
数据项组成
序号 名称 标识符 类型 长度 备注
1 用户id id int 11
2 用户名称 userName varchar 20
3 密码 password varchar 30
4 性别 sex varchar 2
5 年龄 age int 11
6 电话 telephone varchar 20
7 邮箱 Email varchar 30
8 地址 address varchar 50
9 头像 pic varchar 100
10 领养经历 state int 11

九、联系与交流

q:969060742 完整报告、代码、sql、程序资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1071038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件安全测试的含义是什么?

早在信息行业发展的初期,就有互联网公司意识到了保护软件产品安全的重要性,可时至今日,我们总能够从报道中瞥见某某公司遭黑客入侵导致信息泄露的新闻,其中甚至不乏Facebook这些以用户通讯、身份信息为支柱产业的大厂。 信息安全事…

【全网最详细的OSPF原理总结,看这篇就够了!】

OSPF是一种基于链路状态的路由协议,也是专为 IP 开发的路由协议,直接运行在 IP 层上面。它从设计上保证了无路由环路。除此之外,IS-IS也是很常见的链路状态协议。 为什么会出现OSPF? 作为目前主流的IGP协议,OSPF主要…

vs code拉取代码到本地汉字乱码--解决

首先,默认情况下,我们使用VS Code打开一个utf-8编码的文件和一个gb2312编码的文件,期中gb2312文件乱码了。 VSCode通常默认UTF-8编码。 解决方法: 点击右下角的编码按钮(图中为UTF-8),然后选…

46 二叉树展开为链表

二叉树展开为链表 理解题意:前序遍历的N种写法题解1 前序遍历题解2 反前序遍历(代码简洁)题解3 类似旋转的方法题解4 迭代题解5 同时遍历改左右子树 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNo…

判断当日是否为当月第一个交易日——时间相关函数3

本文介绍的函数用于判断当前交易日是否为当月的第一个交易日。 在某些策略中,可能会在每月的第一个交易日进行调仓换股。这时,就可以使用本文介绍的函数判断当日是否为当月的第一个交易日。 源码 def is_first_trading_day_of_month():""&q…

老虎证券当前股价已严重背离基本面,下半年收入将下滑

来源:猛兽财经 作者:猛兽财经 老虎证券近期股价表现优异 在过去的一个月里,老虎证券(TIGR)的股价表现令人惊叹,其估值也大幅上升。 在过去一个月里,老虎证券的股价上涨了45.0%,而同期以标普500指数为代表的…

VMWare Vcenter Server克隆虚拟机所用端口

Vcenter server 管理ESXi主机时需要用到的端口主要有443和902端口,很多文档都要求双向通信,实际上可以通过查看ESXI主机的防火墙配置了解相关端口。 1. ESXi 对外提供的端口 主要是有 vsphere Web client 服务的入站端口: TCP 902 和 TCP 4…

Javascript之Object、Array

Object.keys 对象的键转化为数组 Object.values 对象的属性值转化为数组 Object.assign 对象的合并 Array.from() 伪数组对象的属性值转化为数组。类似Object.values Array. reduce(function(prev, currentValue, currentIndex, arr), initialValue) 数组多个元素的值合并减为单…

平板第三方电容笔怎么样?便宜的ipad触控笔推荐

苹果原装的电容笔与国产的平替电容笔最大的区别在于,平替电容笔只有一个斜面压力感应,而苹果电容笔既有斜面压力感应,又有重力压力感应。但是,如果你不经常使用它来进行绘画的话,你也不必买选择这款苹果电容笔&#xf…

Acwing.800 数组元素的目标和

题目 给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i]Bi]x的数对(i, j)。 数据保证有唯一解。 输入格式 第一行包含三个整数n,m,x,分别表示A的长度,B的长度以及目标值x。第二行…

awk 命令

语法格式: awk [选项参数] ‘/pattern1/{action1} /pattern2/{action2}...’ filename pattern:表示 awk 在数据中查找的内容,就是匹配模式 action:在找到匹配内容时所执行的一系列命令awk常见参数选项: awk常见内置变…

❋JQuery的快速入门2 jq鼠标滚轮

onmousewheelscript当鼠标滚轮正在被滚动时运行的脚本。 主要是利用top与left进行上下移动和左右移动 【使用获取的角度正值还是负值,判断是向上还是上下滚动】 $(element).on("mousewheel", function(event){var de event.originalEvent.deltaY; //需要…

机器学习之旅-从Python 开始

你想知道如何开始机器学习吗?在这篇文章中,我将简要概括一下使用 Python 来开始机器学习的一些步骤。Python 是一门流行的开源程序设计语言,也是在人工智能及其它相关科学领域中最常用的语言之一。机器学习简称 ML,是人工智能的一…

Swift SwiftUI CoreData 过滤数据 2

预览 Code import SwiftUI import CoreDatastruct HomeSearchView: View {Environment(\.dismiss) var dismissState private var search_value ""FetchRequest(entity: Bill.entity(),sortDescriptors: [NSSortDescriptor(keyPath: \Bill.c_at, ascending: false)…

redis(4)-hiredis-API函数的调用

1.下载安装编译 windowslinuxredis下载 redis-plus-plus-master.zip文件的下载 http://download.redis.io/releases/redis-7.2.0.tar.gz tar -zxvf redis-7.2.0.tar.gz //-z:gzip属性 ;-x:解压;-v:显示;-f:文件 make make install //m…

华为2023鲲鹏应用创新大赛,实在智能“信创RPA”再获殊荣

近期,面向全球开发者的顶级赛事鲲鹏应用创新大赛2023成功举办,旨在鼓励广大开发者基于鲲鹏全栈根技术,围绕产业真实难题,共同打造基础软/硬件解决方案,吸引了1400多支团队同台竞技,贡献了一场精彩纷呈的创新…

Java小白找工作必须领悟的修仙秘籍(一)

当我们走出校园,步入社会,必须得找工作,那么作为it小白你必须拥有过硬的基础应用知识,才能慢慢的适应工作的节奏,以下内容则都是基础中的基础,需要全部进行掌握,因为这里可能有你面试时需要回答…

极坐标系下的交换积分次序

极坐标系下的交换积分次序 我把极坐标系下的交换积分次序总结为动静与静动之间的转换,下面通过一个例子感受一下 ρ 1 、 ρ 1 cos ⁡ θ \rho1、\rho1\cos\theta ρ1、ρ1cosθ ∫ 0 π / 2 d θ ∫ 1 1 cos ⁡ θ f ( ρ cos ⁡ θ , ρ sin ⁡ θ ) ρ d…

openAI发布基于ChatGPT的AI绘画模型DALL·E3,话说stable-diffusion还香吗?

前期的文章,我们介绍过stable-diffusion的相关操作,stable diffusion模型是Stability AI开源的一个text-to-image的扩散模型,其模型在速度与质量上面有了质的突破,玩家们可以在自己消费级GPU上面来运行此模型,本模型基…

2023年能跨平台同步的笔记软件

对于当今的职场人士来说,记录和管理大量的信息已经成为了日常工作中不可或缺的一部分。无论是会议笔记、读书笔记、重要工作任务还是工作注意事项,如何高效地记录和管理这些内容,成为了职场人士关注的焦点。 如何记录这些笔记内容更加简单方…