摘 要
如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于宠物领养信息管理方面的不规范,容错率低,管理人员处理数据费工费时,采用新开发的宠物领养系统可以从根源上规范整个数据处理流程的正规性和合法性。
宠物领养系统能够实现用户管理,宠物领养管理,宠物认领管理,教学视频管理,感谢信管理,公告管理,宠物领养审核管理,宠物认领审核管理等功能。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。
宠物领养系统可以提高宠物领养信息管理问题的解决效率,优化宠物领养信息处理流程,并且能够保证存储数据的安全,它是一个非常可靠,非常安全的应用程序。
****关键词:****宠物领养系统;Mysql数据库;Java语言
目 录
[第1章 绪论](#第1章 绪论)
[1.1 课题背景](#1.1 课题背景)
[1.2 课题意义](#1.2 课题意义)
[1.3 研究内容](#1.3 研究内容)
[第2章 开发环境与技术](#第2章 开发环境与技术)
[2.1 Java语言](#2.1 Java语言)
[2.2 MYSQL数据库](#2.2 MYSQL数据库)
[2.3 MyEclipse开发工具](#2.3 MyEclipse开发工具)
[2.4 Spring Boot框架](#2.4 Spring Boot框架)
[第3章 系统分析](#第3章 系统分析)
[3.1 可行性分析](#3.1 可行性分析)
[3.1.1 技术可行性](#3.1.1 技术可行性)
[3.1.2 经济可行性](#3.1.2 经济可行性)
[3.1.3 操作可行性](#3.1.3 操作可行性)
[3.2 系统流程](#3.2 系统流程)
[3.2.1 操作流程](#3.2.1 操作流程)
[3.2.2 登录流程](#3.2.2 登录流程)
[3.2.3 删除信息流程](#3.2.3 删除信息流程)
[3.2.4 添加信息流程](#3.2.4 添加信息流程)
[3.3 性能需求](#3.3 性能需求)
[3.4 功能需求](#3.4 功能需求)
[第4章 系统设计](#第4章 系统设计)
[4.1 功能结构设计](#4.1 功能结构设计)
[4.2 数据库设计](#4.2 数据库设计)
[4.2.1 数据库概念设计](#4.2.1 数据库概念设计)
[4.2.2 数据库物理设计](#4.2.2 数据库物理设计)
[第5章 系统实现](#第5章 系统实现)
[5.1 管理员功能实现](#5.1 管理员功能实现)
[5.1.1 宠物领养管理](#5.1.1 宠物领养管理)
[5.1.2 宠物领养审核管理](#5.1.2 宠物领养审核管理)
[5.1.3 宠物认领管理](#5.1.3 宠物认领管理)
[5.1.4 宠物认领审核管理](#5.1.4 宠物认领审核管理)
[5.1.5 教学视频管理](#5.1.5 教学视频管理)
[5.2 用户功能实现](#5.2 用户功能实现)
[5.2.1 宠物领养](#5.2.1 宠物领养)
[5.2.2 宠物认领](#5.2.2 宠物认领)
[5.2.3 教学视频](#5.2.3 教学视频)
[5.2.4 感谢信管理](#5.2.4 感谢信管理)
[第6章 系统测试](#第6章 系统测试)
[6.1 功能测试](#6.1 功能测试)
[6.1.1 登录功能测试](#6.1.1 登录功能测试)
[6.1.2 修改密码功能测试](#6.1.2 修改密码功能测试)
[6.2 系统测试结果](#6.2 系统测试结果)
[结 论](#结 论)
[致 谢](#致 谢)
第 1 章 绪论
1.1 课题 背景
二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。时代进步的标志,就是让人们过上更好的生活。在互联网诞生之前,地域位置往往是人们思想上不可跨域的鸿沟,信息的传播速度极慢,信息处理的速度和要求还是通过人们骑马或者是信鸽传递,这些信息传递都是不可控制的,中间很有可能丢失,信息的传递水平决定了人们生活的水平。现如今,大家都在用互联网来实现自己的目的,从内部管理设置计算机管理,提高内部信息管理水平,从外部市场也可以用计算机获取相关数据进行处理,如今各行各业已经严重依赖于计算机了。
本课题研究和开发宠物领养系统,让安装在计算机上的该系统变成管理人员的小帮手,提高宠物领养信息处理速度,规范宠物领养信息处理流程,让管理人员的产出效益更高。
3.4 功能需求
宠物领养系统根据使用权限的角度进行功能分析,并运用用例图来展示各个权限需要操作的功能。
图3.5即为管理员用例图,管理员权限操作的功能包括对注册用户信息的管理,对宠物领养,宠物认领,教学视频,感谢信以及公告进行管理,审核宠物领养以及认领的信息。
图3.6即为用户用例图,用户权限操作的功能包括申请领养宠物,申请认领宠物,查看申请的宠物领养或申请的宠物认领的审核状态,发布感谢信,查看或对教学视频进行收藏以及留言。
4. 1 功能 结构设计
图4.1即为设计的管理员功能结构,管理员权限操作的功能包括对注册用户信息的管理,对宠物领养,宠物认领,教学视频,感谢信以及公告进行管理,审核宠物领养以及认领的信息。
图4.2即为设计的用户功能结构,用户权限操作的功能包括申请领养宠物,申请认领宠物,查看申请的宠物领养或申请的宠物认领的审核状态,发布感谢信,查看或对教学视频进行收藏以及留言。
4. 2 .2 数据库物理设计
本小节主要任务即是根据上述内容进行数据存储结构的设计,也就是在数据库中设计存放本系统的数据的数据表,设计数据表时,需要对各个字段进行确定,通常来说,一个实体与一张数据表相对应,实体的属性就用来表示字段名称,不同的字段表示的数据类型以及取值都不相同,这里需要根据系统实际数据的情况进行设置,同时也需要在具体表中确定该表的主键,以及该表各个字段是否能够保持空等进行说明,设计完成一张数据表的结构之后,在保存时同样要命名,尽量选择英文名称进行命名并保存,方便今后系统对数据表进行数据存储访问时,在提高数据存储效率的同时,还不容易导致系统出错。接下来就对设计的数据表进行展示。
表4.1 宠物领养表
|-------------------------|-------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| chongwulingyang_name | 标题 | √ | varchar(200) |
| chongwulingyang_types | 类型 | √ | int(11) |
| chongwulingyang_photo | 宠物图片 | √ | varchar(200) |
| jieshu_types | 是否被认领 | √ | int(11) |
| chongwulingyang_content | 宠物详情 | √ | text |
| create_time | 创建时间 | √ | timestamp |
表4.2 管理员表
|----------|------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | bigint(20) |
| username | 用户名 | × | varchar(100) |
| password | 密码 | × | varchar(100) |
| role | 角色 | √ | varchar(100) |
| addtime | 新增时间 | × | timestamp |
表4.3 宠物认领审核表
|----------------------------------|------|---|-----------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| chongwurenling_id | 宠物认领 | √ | int(11) |
| yonghu_id | 认领用户 | √ | int(11) |
| chongwurenlingshenhe_text | 认领凭据 | √ | text |
| chongwurenlingshenhe_yesno_types | 申请状态 | √ | int(11) |
| create_time | 创建时间 | √ | timestamp |
表4.4 宠物认领表
|------------------------|--------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| chongwurenling_name | 标题 | √ | varchar(200) |
| chongwulingyang_types | 类型 | √ | int(11) |
| chongwurenling_photo | 宠物图片 | √ | varchar(200) |
| yonghu_id | 发布用户 | √ | int(11) |
| jieshu_types | 是否找到主人 | √ | int(11) |
| chongwurenling_content | 宠物详情 | √ | text |
| create_time | 创建时间 | √ | timestamp |
表4.5 宠物领养审核表
|-----------------------------------|------|---|-----------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| chongwulingyang_id | 宠物领养 | √ | int(11) |
| yonghu_id | 领养用户 | √ | int(11) |
| chongwurenlingshenhe_text | 认领凭据 | √ | text |
| chongwulingyangshenhe_yesno_types | 申请状态 | √ | int(11) |
| create_time | 创建时间 | √ | timestamp |
表4.6 感谢信表
|-------------------|------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| ganxiexin_name | 标题 | √ | varchar(200) |
| yonghu_id | 发布用户 | √ | int(11) |
| ganxiexin_content | 内容 | √ | text |
| create_time | 创建时间 | √ | timestamp |
表4.7 视频收藏表
|--------------------------------|------|---|-----------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| jiaoxueshipin_id | 视频 | √ | int(11) |
| yonghu_id | 用户 | √ | int(11) |
| jiaoxueshipin_collection_types | 类型 | √ | int(11) |
| insert_time | 收藏时间 | √ | timestamp |
| create_time | 创建时间 | √ | timestamp |
表4.8 视频留言表
|---------------------------|------|---|-----------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| jiaoxueshipin_id | 视频 | √ | int(11) |
| yonghu_id | 用户 | √ | int(11) |
| jiaoxueshipin_liuyan_text | 留言内容 | √ | text |
| reply_text | 回复内容 | √ | text |
| insert_time | 留言时间 | √ | timestamp |
| update_time | 回复时间 | √ | timestamp |
| create_time | 创建时间 | √ | timestamp |
表4.9 教学视频表
|-----------------------|------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| jiaoxueshipin_name | 视频标题 | √ | varchar(200) |
| jiaoxueshipin_types | 视频类型 | √ | int(11) |
| jiaoxueshipin_photo | 封面 | √ | varchar(200) |
| jiaoxueshipin_video | 视频 | √ | varchar(200) |
| zan_number | 赞 | √ | int(111) |
| cai_number | 踩 | √ | int(111) |
| jiaoxueshipin_content | 详情 | √ | text |
| create_time | 创建时间 | √ | timestamp |
表4.10 公告表
|--------------|------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| news_name | 公告名称 | √ | varchar(200) |
| news_types | 公告类型 | √ | int(11) |
| news_photo | 公告图片 | √ | varchar(200) |
| insert_time | 公告时间 | √ | timestamp |
| news_content | 公告详情 | √ | text |
| create_time | 创建时间 | √ | timestamp |
表4.11 用户表
|------------------|------|---|--------------|
| 字段 | 注释 | 空 | 类型 |
| id (主键) | 主键 | × | int(11) |
| username | 账户 | √ | varchar(200) |
| password | 密码 | √ | varchar(200) |
| yonghu_name | 用户姓名 | √ | varchar(200) |
| sex_types | 性别 | √ | int(11) |
| yonghu_id_number | 身份证号 | √ | varchar(200) |
| yonghu_phone | 手机号 | √ | varchar(200) |
| yonghu_address | 个人地址 | √ | varchar(200) |
| yonghu_photo | 照片 | √ | varchar(200) |
| create_time | 创建时间 | √ | timestamp |
5.1.1 宠物领养管理
图5.1 即为编码实现的宠物领养管理界面,管理员在该界面中发布需要领养的宠物的资料,可以对宠物领养的信息进行更改,查询,删除。
5.1.2 宠物领养审核管理
图5.2 即为编码实现的宠物领养审核管理界面,管理员在该界面中对用户申请领养的宠物进行线上审核,管理员对宠物领养的信息审核通过之后,该宠物的领养状态就是被领养的状态了。
5.1.3 宠物认领管理
图5.3 即为编码实现的宠物认领管理界面,管理员在该界面中发布宠物的认领信息,其中包括宠物的图片,宠物的类型等信息,管理员对宠物的认领信息也能更改,查询,删除。
5.1.4 宠物认领审核管理
图5.4 即为编码实现的宠物认领审核管理界面,管理员在该界面中对用户申请认领的宠物信息进行线上审核,审核后的宠物认领信息只能进行查看和查询。
5.1.5 教学视频管理
图5.5 即为编码实现的教学视频管理界面,管理员在该界面中主要是上传教学视频,对教学视频信息包括视频文件,视频标题等资料进行更改,查询,或删除,可以查看已发布教学视频的用户点赞数等信息。
5.2.1 宠物领养
图5.6 即为编码实现的宠物领养界面,用户在该界面中查看宠物领养的介绍信息,只能对未被领养的宠物进行申请领养,已经被领养的宠物只能查看其介绍信息。
5.2.2 宠物认领
图5.7 即为编码实现的宠物认领界面,用户在该界面中查看宠物认领信息,已经找到主人的宠物不支持认领。还没有找到主人的宠物才能进行申请认领。
结 论
由于本人学习的是计算机方面的专业,对于计算机软件方面的相关知识也进行过课堂上的学习以及课后的实际操作练习,因此,对于开发一款已经确定了课题的宠物领养系统,从功能需求,功能模块划分,数据库的选择,数据库的设计,编程语言的确定,系统界面的布局和设计等知识,我都有个大致的思路。所以,在参照软件设计思想以及设计流程的基础上,我运用已经具备的理论知识,加上后期从网络渠道获取的相关技术知识,我能够根据制定的系统开发时间安排完成各个阶段性的开发任务。并能够在系统完成开发后期,编写相应的系统文档。
宠物领养系统制作期间,我也遇到过一些难题,在最开始的时候,我并不知道该系统具体要设计几个功能模块,以及数据表需要设计几张表,还有对于开发技术的深度理论学习还不充分等,值得庆幸的是,我在面临这些困难时,我能够通过网络或者通过学院提供的图书馆寻求解决办法。比如在不知道具体功能的情况下,我从网上下载了很多的与宠物领养系统相关的程序,分析了它们的功能之后,我再结合即将开发的宠物领养系统进行综合分析,选取了适合宠物领养系统的功能部分,再结合实际情况以及使用者的需求确定本系统功能。对于数据表的设计,我先是在图书馆借阅了一本数据库方面的书籍进行查看,然后查看相似系统对于数据表的结构设计等知识,然后在本系统功能确定的情况下,结合本系统设计了配套的数据表,对于难度最大的开发技术部分,我花费了很多的时间研究网络上的相似系统的功能模块上的代码,一般都是对基础数据的增加,更新,查询或修改方面的代码,然后把本系统能够运用的代码部分在简单更改后进行使用,在完成了一个功能模块以及又一个功能模块之后,又经过了简单的测试工作,最终呈现出一个完整的能够解决用户实际问题的宠物领养系统。该系统唯一不足的就是代码方面还有很多重复的部分,不够精简,还有用户操作本系统,对于用户的误操作行为,本系统还不能及时反馈,这也是一大缺点。
宠物领养系统完成了,其相应的配套文档也需要进行编写,该文档主要描述宠物领养系统是如何进行分析,设计以及实现的,让其他阅读本文档的人增加对该系统的了解,编写文档过程中,由于自己平时对于办公软件的操作不是很频繁,根据学院要求的文档排版格式进行编辑也花了很多时间,在不断学习排版技巧以及对本系统配套文档的反复修改之后,最终在学院规定的时间内进行了文档定稿。
毕业项目各个工作进行到此,我也是收获颇丰,正因为自己努力学习知识,积极寻求解决办法,才让我能够提交一个完整的作品。制作毕业项目让我又得到了成长,不仅是专业知识的增加,也包括解决问题的能力得到了提高,很感谢学院给的制作毕业项目的机会。