本科生毕业论文(设计)
题 目宠物店管理系统
学 院 XXXXX
专业班级 XXXXX
学生姓名 XXXX
指导宠物 XXXX
撰写日期:2023年4月
目 录
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对宠物店管理系统等问题,对如何通过计算机宠物店管理系统进行研究分析,然后开发设计出宠物店管理系统已解决问题。
宠物店管理系统主要功能模块包括宠物类型、宠物医生、普通挂号、会员挂号、宠物护理、护理订单、提醒信息、会员提醒、护理订单(会员)等信息维护,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用Java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对宠物店管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现宠物店管理系统和部署运行使用它。
关键词:Java技术;MYSQL;宠物店管理系统
Abstract
In the information society, there is a need for targeted information acquisition channels, but the expansion of channels is basically the direction of people's efforts. Due to the deviation in perspective, people often can obtain different types of information, which is also the most difficult topic for technology to overcome. Research and analyze how to use a computer pet store management system to address issues such as pet store management systems, and then develop and design a pet store management system to address these issues.
The main functional modules of the pet store management system include pet type, pet doctor, regular registration, member registration, pet care, care orders, reminder information, member reminders, care orders (members), and other information maintenance. The object-oriented development model is adopted for software development and hardware installation, which can well meet the actual needs of use and improve the corresponding software installation and program coding work, Adopting MySQL as the main storage unit for backend data, and using Java and Ajax technologies for business system coding and development, all functions of this system have been achieved. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. Analyze the various requirements and technical issues of the pet store management system, prove the necessity and technical feasibility of the system, and then provide a basic introduction to the technical software and design ideas required for designing the system. Finally, implement the pet store management system and deploy it for operation.
Keywords:Java technology; MYSQL; Pet Shop Management System
1 绪论
1.1 背景及意义
随着当今社会的快速发展,老龄化现象越来越严重,单身群体数量与日俱增,在物质条件满足的状态下,追求另一种心灵陪伴需求越来越多,很多单身青年和家庭都会选择以喂养宠物的方式来进行情感弥补,宠物经济开始了爆发时增长。宠物店,宠物医院,宠物游乐园等如雨后春笋般出现在人们的视野中,其中宠物店作为养宠的重要来源之一,它面临这宠物种类, 数量不断增多,宣传力度不足等课题,信息化管理需求也越来越高,因此,有必要设计开发一个宠物店管理系统。
本系统从用户的实际需要出发,以提高工作效率、节约时间为目标,设计开发了一个基于Springboot的宠物店管理系统,宠物店管理系统围绕系统管理员、普通用户,VIP用户三种角色,主要包括首页,轮播图管理,公告信息管理,资源管理,交流管理、商城管理(宠物商城,分类列表,订单列表),系统用户,模块管理(宠物类型、宠物医生、普通挂号、会员挂号、宠物护理、护理订单、提醒信息、会员提醒、护理订单(会员))等功能模块。论文首先介绍了本系统的相关技术,并进行了需求分析,分别给出了系统Web服务器端和移动终端的概要设计、数据库设计和详细设计,实现完成的系统经测试上线,运行效果良好。
1.2研究现状
随着计算机网络的不断渗透,人们的生活与工作、获取信息的方式也在慢慢发生变化。传统的宠物相关信息管理方式一般都采取人工的方式,信息的获取、整理、修改、存储等工作还停留在人工阶段。这种方式一方面需要花费大量的人力、物力和金钱,交互起来比较困难,而且会浪费时间;另一方面对用户等信息的管理,特别是随着用户数量的递增,查询、修改起来特别困难;最后由于用户等其他信息的不断增加,信息的存储也成为了难题。
一些发达国家,网络发展比较快,已经很大程度上完成了从人工到计算机管理的转变。我国计算机应用起步比较晚,而且发展区域不平衡,还有很多地区或学校使用传统的方式进行管理,但是目前计算机发展较快,包括网络也已经普及,很多用户也开始慢慢接触各类网络交流平台。纵观这些系统主要有以下几个特点:
(1)先进性:实现网络化管理。
(2)通用性:同一行业基本都能使用。
(3)方便性:通过网络就能完成管理工作。
(4)及时性:信息更新及时。
(5)可扩展性:可根据需要进行模块的增加。
(6)安全性:对企业、用户等信息进行加密。
截至如今,互联网已经深入人们的生活,智能手机、笔记本电脑等已经是人们获取信息的主要工具,这是一个沟通无限的时代,因此,利用网络来进行宠物店管理也成为大势所趋,所以,开发一个宠物店管理系统是有充分需求的。
1.3springboot框架介绍
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
2 宠物店管理系统系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
2.1 可行性分析
(1)技术可行性分析
该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用JavaScript框架Vue.js,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
硬件可行性分析
宠物店管理系统及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
(2)经济可行性分析
在宠物店管理系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于宠物店管理系统的开发在经济上是完全可行的,没有任何费用支出的。
2.2 系统流程分析
2.2.1 数据流程
宠物店管理系统主要的目的就是实现对宠物医生的挂号,图2-1就是系统的数据流图。
![](https://i-blog.csdnimg.cn/blog_migrate/d6c8d48978afca8538acf77571b56769.png)
图2-1宠物医生挂号操作展开图
3.3.2 业务流程
分析完系统的数据流,接下来我们来看系统的业务流程,图2-2就是业务流程图:
![](https://i-blog.csdnimg.cn/blog_migrate/0c328c8908aa652825ae6134e9270e41.png)
图2-2业务流程图
按照宠物店管理系统的角色,我划分为了普通用户管理模块、VIP用户管理模块和管理员管理模块这三大部分。
普通用户端:
(1)用户注册登录:用户注册为用户并登录宠物店管理系统 ;用户对个人信息的增删改查,比如个人资料,密码修改。
(2)用户查看商品:用户进行商品信息的阅览,通过发现喜欢的商品后可以购买+评论+收藏。
(3)宠物知识:用户点击“宠物知识”菜单显示所有的宠物知识信息,可以按照条件进行宠物知识的筛选或者输入关键词进行局部搜索,点击可以进入宠物知识详细展示界面,在此界面用户可以收藏、点赞和评论。
(4)商品购买:用户对喜欢的商品可以加购,在购物车里面,当用户确定提交完毕后,将其提交给服务器后台系统,并生成订单。
(5)公告信息:用户点击“公告信息”菜单显示管理员在后台发布的所有的公告信息信息,可以查看公告信息详情。
(6)我的订单:用户在提交订单后,可以对提交的订单进行管理。
(7)留言板:用户点击“留言板”菜单显示所有的留言板信息,可以按照分类查看帖子信息,或者输入关键词进行局部搜索,点击可以进入帖子的详细展示界面,在此界面用户可以点赞、收藏、评论,也可以点击“发布内容”输入帖子信息进行发帖。
(8)宠物医生:当用户点击“宠物医生”这一菜单按钮,会显示管理员在后台发布的所有的宠物医生信息,支持通过关键词对宠物医生进行搜索,选择需要的宠物医生点击可以进入到宠物医生详细的介绍界面,在详细界面可以查看到宠物医生的医生姓名、宠物类型、医生标签、普通挂费、会员挂费、擅长等信息,同时可以进行挂号、收藏操作;
(9)挂号:当用户在宠物医生详情界面想要进行挂号,点击下方的“挂号”按钮,就会跳转到挂号信息填写界面,根据界面提示输入挂号信息,点击“提交”按钮,挂号就完成了;
管理员管理模块:
(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。
(2)轮播图:管理员点击“轮播图”菜单可以对首页展示的轮播图进行增删改查。
(3)公告信息:管理员点击“公告信息”菜单可以查看到系统中的所有公告信息,对已经存在的公告信息,管理员可以修改,也可以添加新的公告信息或者删除公告信息。
(4)资源管理:管理员点击“资源管理”菜单能够对其下子菜单宠物知识和知识的分类进行增删改查。
(5)交流管理:管理员点击“交流管理”菜单可以对其下留言板和留言的分类进行增删改查。
(6)系统用户:管理员点击“系统用户”菜单可以对系统中存在的用户进行管理,包含了管理员用户、VIP用户和普通用户。
(7)模块管理:在“模块管理”这一菜单下可以对系统当中的用户和VIP用户操作的所有信息进行管理,包含了宠物类型、宠物医生、普通挂号、会员挂号、宠物护理、护理订单、提醒信息、会员提醒、护理订单(会员)。
宠物店管理系统的非功能性需求比如宠物店管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1宠物店管理系统非功能需求表
安全性 |
主要指宠物店管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 |
可靠性是指宠物店管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 |
性能是影响宠物店管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 |
比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 |
用户只要跟着宠物店管理系统的页面展示内容进行操作,就可以了。 |
可维护性 |
宠物店管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
2.4 系统用例分析
通过2.3功能的分析,得出了本宠物店管理系统的用例图:
普通用户角色用例如图2-3所示。
![](https://i-blog.csdnimg.cn/blog_migrate/656ed07f1c41a5ba61649e5137d1acfc.png)
图2-3 宠物店管理系统用户角色用例图
web后台管理上的管理员是维护整个宠物店管理系统中所有数据信息的。管理员角色用例如图2-4所示。
![](https://i-blog.csdnimg.cn/blog_migrate/643452edfa77583d40c69a618960f308.png)
本章主要通过对宠物店管理系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个宠物店管理系统要实现的功能。同时也为宠物店管理系统的代码实现和测试提供了标准。
本章主要讨论的内容包括宠物店管理系统的功能模块设计、数据库系统设计。
3.1 系统架构设计
本宠物店管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
![](https://i-blog.csdnimg.cn/blog_migrate/fdd979380bb6257c9e39dd68c5ed096a.png)
图3-1宠物店管理系统系统架构设计图
表现层(UI):又称UI层,主要完成本宠物店管理系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本宠物店管理系统时的舒适度。UI的界面设计也要适应不同版本的宠物店管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本宠物店管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本宠物店管理系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本宠物店管理系统的数据存储和管理功能。
3.2 系统功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本宠物店管理系统中的用例。那么接下来就要开始对本宠物店管理系统的架构、主要功能和数据库开始进行设计。宠物店管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。
![](https://i-blog.csdnimg.cn/blog_migrate/6deb6002cb0f0458ac51fbdf8ba5432c.png)
图3-2 宠物店管理系统功能模块图
3.2.2用户模块设计
后台管理者能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/fb9cd74a2512a1d53ef049410a51cbfe.png)
图3-3系统用户模块结构图
3.2.3 评论管理模块设计
宠物店管理系统是一个交流性质的公开平台,系统用户可以在平台上交流,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的评论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/eb0f7fdb23bf2f31ce31c84c1722389f.png)
图3-4评论模块结构图
3.2.4商城管理模块设计
宠物店管理系统是中需要存储不少商品信息,其模块功能结构,具体的结构图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f3c76983c0b675af6029f848abeac5b7.png)
图3-5商城模块结构图
3.2.5订单管理模块设计
宠物店管理系统最重要的一个功能就是购买,其模块功能结构,具体的结构图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/239cedd0b220c96f1025cf20e6ed367c.png)
图3-5订单模块结构图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
下面是整个宠物店管理系统中主要的数据库表总E-R实体关系图。
![](https://i-blog.csdnimg.cn/blog_migrate/f53298b948e9695f0177a8b5c8cad9ea.png)
图3-6 宠物店管理系统总E-R关系图
通过上一小节中宠物店管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表address (收货地址:)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
address_id |
int |
10 |
0 |
N |
Y |
收货地址: |
|
2 |
name |
varchar |
32 |
0 |
Y |
N |
姓名: |
|
3 |
phone |
varchar |
13 |
0 |
Y |
N |
手机: |
|
4 |
postcode |
varchar |
8 |
0 |
Y |
N |
邮编: |
|
5 |
address |
varchar |
255 |
0 |
N |
N |
地址: |
|
6 |
user_id |
mediumint |
8 |
0 |
N |
N |
用户ID:[0,8388607]用户获取其他与用户相关的数据 |
|
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
9 |
default |
bit |
1 |
0 |
N |
N |
0 |
默认判断 |
表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 |