SpringBoot精华:打造高效美容院管理系统

第一章 绪论

1.1 选题背景

如今的信息时代,对信息的共享性,信息的流通性有着较高要求,尽管身边每时每刻都在产生大量信息,这些信息也都会在短时间内得到处理,并迅速传播。因为很多时候,管理层决策需要大量信息作为参考依据,也有些时候,各大企业或学校也需要使用工具宣传自身的文化理念等等,所以信息能够得到迅速传播并带给人们一定的参考价值,充分发挥信息本身的作用是很有必要的,而这些恰恰是传统模式所不能相比的。因此,借助工具让信息系统化,流程化,规范化是最终的发展结果,而这个工具则是计算机软件。本次设计实现的计算机软件美容院管理系统,让其遵循实际操作流程的情况下,对美容院信息实施规范化处理,让美容院信息通过电子的方式进行保存,无论是管理人员检索美容院信息,维护美容院信息都可以便利化操作,真正缩短信息处理时间,节省人力和信息管理的成本。

1.2 选题意义

为了让美容院信息的管理模式进行升级,也为了更好的维护美容院信息,美容院管理系统的开发运用就显得很有必要,因为它不仅可以让美容院信息的管理人员统一完成信息管理,而且还会在保证美容院信息处于安全状态的情况下,让美容院信息的处理流程缩短,让信息的管理工作量减少,让美容院信息的录入和后期维护缩短时间,以及节省管理美容院信息需要投入的精力与资金。由于美容院管理系统运用的技术比较成熟,所以它本身就具备了稳定的性能,连续24小时运行都毫无压力。而且还可以保证数据处理的质量。另外,美容院管理系统为了满足易用性的用户需求,特意在页面的设计上合理布局各元素,让重要内容和导航功能在关键区域展示,让操作系统的用户可以毫不费力的完成系统的操作。总的说来,美容院管理系统实现了信息资源的共享,让信息可以以更好的方式进行传播,让管理员的管理水平得到提升的同时,也让美容院信息计算机化。

1.3 研究内容

根据美容院管理系统设计与实现的流程来对整个系统进行说明。本文将从下述6个部分介绍系统。

第一部分:介绍选题的动因,包括介绍课题背景和意义等。

第二部分:介绍本系统选用的开发手段,包括编程语言,后台支持的数据库,开发类技术等。

第三部分:介绍系统的分析内容,包括投资决策必须的可行性研究,用户对功能的要求,系统运行的性能要求等知识。

第四部分:介绍系统的设计。包括对系统功能结构的设计,数据表结构设计等。

第五部分:介绍系统的实现。包括各模块实现的具体运行效果。

第六部分:介绍系统测试。包括检查系统功能,测试知识点的介绍等。

第四章 系统设计

设计一个系统不单单是设计系统的页面,可以说系统设计其本质是一个结合了众多设计过程的比较复杂的系统工程。一般来说,在完成系统设计时,需要了解和掌握很多设计的知识,有界面布局技术的知识,页面采用的字体和颜色的运用,还有页面空白的规范使用等,如何将这些元素进行组合,让页面可以直观表达信息内容的同时,也能维持页面整体的美观。

4.1 系统设计思想

系统开发必然需要统一设计思想。根据这个设计思想指导系统的开发,可以加快系统开发进程。根据目前用户对美容院管理系统的需求,确定下述原则即为本系统的设计思想。

(1)实用性:本系统依照用户需求设计功能,遵循用户使用方便的原则,把用户在实际工作中的各个操作细节也充分考虑进来,让使用者在没有系统操作说明书的情况下,也能很容易的完成系统的操作。

(2)先进性:为了让本系统具备高性能,设计时,需要把目前的各种成熟技术加以考虑,比如软件开发技术也要考虑进去,比如计算机技术也需要进行考虑。对于系统结构的选择,本系统将毫不犹豫的选择成熟先进的B/S结构,方便开发的同时,对于后期的维护也提供了便利。

(3)高安全性:设计本系统时,对于一些系统的关键数据要严加看管,比如管理员本人的账号和密码,一定要加密保存在数据库里面。除此以外,也需要充分使用安全措施对用户的共享资源进行保护。

(4)可维护性:设计时,要提前考虑本系统的可维护性,因为一个便于维护的系统在后期产生的维护成本将会大大降低。维护一般包括软硬件的维护还有对于网络的维护等。

(5)可扩展性:重新开发一个新系统相比在原有系统上升级,会花费大量的资金和精力,由此,一个好的系统必定具备良好的可扩展性。在用户需求变动的情况下,可以通过系统的更新和升级来持续满足用户需求,这样的系统就具备了可扩展性。

4.2功能结构设计

这部分内容使用结构图这样的工具,显示设计结果,设计的管理员功能见下图。管理员管理美容用品,美容项目,美容部位,管理技师预约,管理订单,统计美容用品销量。

图4-1 管理员功能结构图

这部分内容使用结构图这样的工具,显示设计结果,设计的技师功能见下图。技师统计美容用品库存,管理美容项目,审核会员预约信息。

图4-2 技师功能结构图

这部分内容使用结构图这样的工具,显示设计结果,设计的前台功能见下图。前台负责普通用户与会员的管理,审核会员预约信息。

图4-3 前台功能结构图

这部分内容使用结构图这样的工具,显示设计结果,设计的普通用户功能见下图。普通用户购买美容用品,管理购买订单,管理收货地址。

图4-4 普通用户功能结构图

这部分内容使用结构图这样的工具,显示设计结果,设计的会员功能见下图。会员购买美容用品,预约美容项目,管理预约信息以及购买订单。

图4-5 会员功能结构图

4.3数据库设计

现如今,关系数据库已经广泛占据了市场。其具有坚实的理论基础,并且它可以很好的支持SQL这样的查询语言。所以,大部分程序的后台数据库几乎都是关系数据库。它们被用于长期对程序数据进行保存,采用的方式就是正确使用SQL语句在数据库中完成数据的插入,修改,删除等操作。

4.3.1 数据库E-R图

系统设计的内容不仅仅是对功能进行模块设计,它也包括了对数据库进行设计。功能设计这部分内容已经完成了,接下来进行的数据库设计也要根据规定的流程进行。

数据库设计这部分内容也需要参照用户的需求来完成。同时为了方便展示数据库中存在的各种关系,需要使用到E-R图,并运用E-R图中常见的符号来表示用户需求中的数据内容。所以,在建立E-R模型前,需要把用户需求的数据信息进行拆分并分析,并确定实体,实体特征,还有它们之间的关联,然后选择某个绘制E-R模型的工具比如Visio,亿图,Navicat等,用规定的符号去表示这些数据。这些常用的符号分别是矩形,菱形,椭圆,它们表示的内容分别是实体,关系,属性。

(1)设计的美容项目实体,还有其属性见下图。

图4-3 美容项目实体属性图

(2)设计的会员实体,还有其属性见下图。

图4-4 会员实体属性图

(3)设计的美容用品实体,还有其属性见下图。

图4-5 美容用品实体属性图

(4)设计的管理员实体,还有其属性见下图。

图4-6 管理员实体属性图

(5)设计上述实体间关系见下图。

图4-7 实体间关系E-R图

4.3.2 数据库表结构

很多时候,在进行数据表的存储结构的设计时,都会遇到一些困扰,比如每张数据表如何命名,如何设计每张数据表里面的字段,如何为各个字段进行命名,以及如何设置字段的取值范围等信息。很多初学者,在进行表结构设计时,无论是对表进行命名,还是对字段进行命名,都是采用中文的方式,导致在编码阶段,在对数据进行操作时,总是报错,影响编码人员的开发速度,而且一旦数据表结构建立之后,后期进行修改也比较麻烦。因为设计数据表的结构,就意味着程序中需要长期保存的数据都是根据这样的结构进行保存的,在后面的使用中,无论是程序数据往数据表中写入,还是需要编辑或删除数据,都是按照这个规则进行。如此说来,设计数据库也是非常重要的任务,它关系到后面程序的开发,也关系到程序的运行使用。

通常在设计数据表结构时,会把前面设计的E-R图进行表结构的转化。把实体用来代表数据表,把其属性,也就是椭圆形代表的内容用来表示数据表中的字段,然后根据程序对于数据的存储要求,设计字段的类型和长度。比如用户的年龄可以用int(整数型),设置其长度为4或者6等。总之,数据表结构一旦建立,就可以往里面填充数据了。

表4.1 地址信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

userid bigint(20) 否 用户id

address varchar(200) 否 地址

name varchar(200) 否 收货人

phone varchar(200) 否 电话

isdefault varchar(200) 否 是否默认地址[是/否]

表4.2 购物车信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

tablename varchar(200) 是 meirongyongpin 商品表名

userid bigint(20) 否 用户id

goodid bigint(20) 否 商品id

goodname varchar(200) 是 NULL 商品名称

picture varchar(200) 是 NULL 图片

buynumber int(11) 否 购买数量

price float 是 NULL 单价

discountprice float 是 NULL 会员价

表4.3 会员信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

huiyuanzhanghao varchar(200) 否 会员账号

mima varchar(200) 否 密码

huiyuanxingming varchar(200) 否 会员姓名

xingbie varchar(200) 是 NULL 性别

nianling int(11) 是 NULL 年龄

shouji varchar(200) 是 NULL 手机

shenfenzheng varchar(200) 是 NULL 身份证

touxiang varchar(200) 是 NULL 头像

money float 是 0 余额

表4.4 技师信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

jishigonghao varchar(200) 否 技师工号

mima varchar(200) 否 密码

jishixingming varchar(200) 否 技师姓名

xingbie varchar(200) 是 NULL 性别

nianling int(11) 是 NULL 年龄

lianxidianhua varchar(200) 是 NULL 联系电话

shenfenzheng varchar(200) 是 NULL 身份证

zhaopian varchar(200) 是 NULL 照片

money float 是 0 余额

表4.5 美容部位信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

meirongbuwei varchar(200) 是 NULL 美容部位

表4.6 美容项目信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xiangmumingcheng varchar(200) 是 NULL 项目名称

xiangmutupian varchar(200) 是 NULL 项目图片

meirongbuwei varchar(200) 是 NULL 美容部位

shiyongnianling varchar(200) 是 NULL 适用年龄

xiangqing longtext 是 NULL 详情

kaishishijian date 是 NULL 开始时间

jishigonghao varchar(200) 是 NULL 技师工号

jishixingming varchar(200) 是 NULL 技师姓名

lianxidianhua varchar(200) 是 NULL 联系电话

表4.7 美容用品信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

meirongpinming varchar(200) 是 NULL 美容品名

tupian varchar(200) 是 NULL 图片

leixing varchar(200) 是 NULL 类型

kucun int(11) 是 NULL 库存

shiyongfangfa longtext 是 NULL 使用方法

shiyongnianling varchar(200) 是 NULL 适用年龄

meirongbuwei varchar(200) 是 NULL 美容部位

meironggongxiao longtext 是 NULL 美容功效

price float 否 价格

表4.8 订单信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

orderid varchar(200) 否 订单编号

tablename varchar(200) 是 meirongyongpin 商品表名

userid bigint(20) 否 用户id

goodid bigint(20) 否 商品id

goodname varchar(200) 是 NULL 商品名称

picture varchar(200) 是 NULL 商品图片

buynumber int(11) 否 购买数量

price float 否 0 价格/积分

discountprice float 是 0 折扣价格

total float 否 0 总价格/总积分

discounttotal float 是 0 折扣总价格

type int(11) 是 1 支付类型

status varchar(200) 是 NULL 状态

address varchar(200) 是 NULL 地址

tel varchar(200) 是 NULL 电话

consignee varchar(200) 是 NULL 收货人

表4.9 普通用户信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

zhanghao varchar(200) 否 账号

mima varchar(200) 否 密码

xingming varchar(200) 否 姓名

xingbie varchar(200) 是 NULL 性别

nianling int(11) 是 NULL 年龄

shouji varchar(200) 是 NULL 手机

shenfenzheng varchar(200) 是 NULL 身份证

zhaopian varchar(200) 是 NULL 照片

money float 是 0 余额

表4.10 前台信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

qiantaizhanghao varchar(200) 否 前台账号

mima varchar(200) 否 密码

qiantaixingming varchar(200) 否 前台姓名

xingbie varchar(200) 是 NULL 性别

nianling int(11) 是 NULL 年龄

shouji varchar(200) 是 NULL 手机

zhaopian varchar(200) 是 NULL 照片

money float 是 0 余额

表4.11 管理员信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

username varchar(100) 否 用户名

password varchar(100) 否 密码

role varchar(100) 是 管理员 角色

addtime timestamp 否 CURRENT_TIMESTAMP 新增时间

表4.12 销量信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

meirongpinming varchar(200) 是 NULL 美容品名

xiaoshoushizhang varchar(200) 是 NULL 销售时长

xiaoshouliang int(11) 是 NULL 销售量

leixing varchar(200) 是 NULL 类型

zhaopian varchar(200) 是 NULL 照片

表4.13 预约信息表

字段 类型 空 默认 注释

id (主键) bigint(20) 否 主键

addtime timestamp 否 CURRENT_TIMESTAMP 创建时间

xiangmumingcheng varchar(200) 是 NULL 项目名称

huiyuanzhanghao varchar(200) 是 NULL 会员账号

huiyuanxingming varchar(200) 是 NULL 会员姓名

shouji varchar(200) 是 NULL 手机

zhaopian varchar(200) 是 NULL 照片

yuyueshijian datetime 是 NULL 预约时间

yuyuexiangqing varchar(200) 是 NULL 预约详情

zhidingjishi varchar(200) 是 NULL 指定技师

sfsh varchar(200) 是 否 是否审核

shhf longtext 是 NULL 审核回复

userid bigint(20) 是 NULL 用户id

相关推荐
迷雾漫步者1 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-1 小时前
验证码机制
前端·后端
xlsw_1 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹2 小时前
基于java的改良版超级玛丽小游戏
java
燃先生._.2 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭2 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫3 小时前
泛型(2)
java
超爱吃士力架3 小时前
邀请逻辑
java·linux·后端
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论