EasyShopping运动商城的设计与实现文档格式.docx
- 文档编号:22188016
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:33
- 大小:2.21MB
EasyShopping运动商城的设计与实现文档格式.docx
《EasyShopping运动商城的设计与实现文档格式.docx》由会员分享,可在线阅读,更多相关《EasyShopping运动商城的设计与实现文档格式.docx(33页珍藏版)》请在冰豆网上搜索。
前台页面实现了商品列表,商品搜索购物车模块功能。
而后台的页面则集成了角色管理模块、身份认证模块、商品管理模块等功能。
1.3运行环境和开发技术
1.3.1运行环境
软件环境:
MySQL5.5、Elasticsearch6.1
硬件环境:
操作系统:
CentOSrelease6.5(Final)
最低配置:
CPU:
PentiumD1.6G以上
内存:
8G内存
硬盘:
500G空间
推荐配置:
intelPentium42.66GHz以上
内存:
8GB内存
硬盘:
500G空间
1.3.2开发技术
EasyShopping运动商城系统在后端开发过程中需要使用IDEA软件、MySQL、ElasticSearch,技术框架用到的有SpringBoot、Spring、SpringMVC、Mybatis、SpringSecurity等。
在前端开发过程中使用到的技术框架有Bootstrap、jQuery、等等。
MySQL是一种开源免费的、支持百万级别数据、支持分布式数据库管理系统(主从系统),同时也类似于linux系统一般,支持多用户、多线程的关系型数据库管理系统。
其中主要使用的是Innodb引擎,其主要的有点是支持实务,在复杂的业务处理过程往往会涉及到多个数据持久化,如果仅仅因为其中一个持久化处理而需要回滚其他持久化,会增加代码的复杂度,而Innodb实务恰恰可以解决这个问题。
MyBatis是一款持久层框架,底层对JDBC进行封装,同时也支持数据缓存,数据连接池缓存,减少了程序访问网络的IO次数,同时也支持定制化SQL,动态SQL,简化SQL的过程。
除了以上SQL外,还支持原生SQL,是一种半面向对象的开发框架。
JSONWebToken(JWT)是目前是目前大部分公司流行使用的无状态登录跨域校验身份的解决方案。
涉及的有跨域身份验证、门票生成算法、有效时间等。
其中跨域身份认证解决无状态的请求以及身份缓存,保证了其会话的一直性,是目前大部分企业主流的跨域验证解决方案。
JWT通过特点的算法生成门票前面,且算法也是可逆的,把生成的令牌保存在客户端,每次服务器只需解析客户端发送的令牌是正确即可校验身份的准确性。
第2章系统需求分析
2.1系统的需求
一个运动品牌商店在营业中必定在产生大量的数据(收购、贮存、运输、销售和结算等环节),用户在种类繁多的商品内找到适合的商品往往需要过滤大部分不需要用到的信息。
除了用户需要花费时间去寻找合适的商品外,管理员还需要在统计商品种类,数量也是一个很耗费时间、精力的工作。
传统的运动品牌门店,往往需要花费更多的人员来管理商品分类,统计。
用时人流量、商品价格计算、结算等环节加大了工作复杂度,办公的效率也是大大减小,其中花费的人力、物力不言而喻。
因此需要有一个高效率,智能化的商城系统是十分有必要的。
由于计算机软件技术可以充分利用计算机的运算能力,以及web技术。
可以实现商品的搜索,商品分类统计等功能,大大的提高了企业的工作效率,减少了工作的复杂度。
同时也提高了客户在购买需求的准确度,减少了客户带来不必要的问题,如商品用途不准确、误差等。
2.2系统的功能需求
根据EasyShopping运动商城系统的要求,EasyShopping运动商城系统的功能模块主要包括角色管理、身份认证管理、商品管理、购物车管理、商品检索、订单管理六个模块,系统的功能模块结构图如图2-1所示:
图2-1系统的功能模块结构图
身份认证管理主要是对登录的用户生成标识,每次用户请求可根据用户带有的身份令牌判断请求是否合理。
其中包括的功能有:
jwt生成标识令牌,jwt解析请求令牌。
对于所有请求都经过身份认证可以降低产品的风险,防止黑客破坏正常的程序。
权限管理主要是对通过对角色的控制,只有具有最高权限的用户可以新建角色并给角色权限,同时也可以删除所创建的角色。
包括的功能有:
角色新增、角色删除以及角色权限。
在本系统中,只设置了超级管理员拥有改模块的的权限控制。
商品管理主要是管理员对产品的分类,产品的详情信息进行管理。
包括的功能有:
商品类别的新增,商品类别的删除,商品新增,商品删除。
商品检索管理主要是用户在搜索商品时更好定位用户自身需求,其中包括的功能有:
价格范围查询,关键字查询,类别查询。
购物车管理主要是用户把需要购买的商品进行预处理,先集中在购物车上面,并且可以对商品数量及删除不需要的商品,包括的功能有:
添加购物车、修改数量、删除购物车。
订单管理主要是对购物车上所有商品进行统计,并且生成订单,其主要的功能包括:
计算价格、添加订单。
2.3UML系统建模
1.用户功能用例关系图
在EasyShopping运动商城系统中,用户可以先登录,查询用户需要的商品,然后添加到购物车,防止回头需要重新找一次之前已经找到的商品,通过购物车对商品的数量进行加减,在下订单前如果觉得商品不适合,可以通过删除购物车,再统一下订单。
用户的功能用例关系图如图2-2所示:
图2-2用户的用例关系图
2.管理员功能用例关系图
在EasyShopping运动商城系统中,管理员不仅可以在首页上对商品进行审查,同时在对于库存已清空或者下架的商品进行删除,也可以对新产品进行上架,以及对商品的分配管理。
管理员的功能用例关系图如图2-3所示:
<
uses>
>
图2-3管理员的功能用例关系图
3.超级管理员功能用例关系图
图2-4超级管理人员的功能用例关系图
2.4数据流图
1.商品上架数据流图
商品上架数据流的过程是后台管理员通过手工的方式将商品的基本信息上架,然后系统处理后将信息写入到数据库库存表中,最后将操作的结果返回给后台管理员。
商品上架数据流图如图2-5所示:
图2-5商品上架数据流图
2.商品下架数据流图
商品下架数据流的过程:
第一步是管理员手工输入商品编号或商品名称,然后经过系统处理后的查询结果返回给用户;
第二步是设备管理员根据查询返回的结果,选取要下架的商品,选择下架;
最后将操作的结果返回给设备管理员。
商品下架如图2-6所示:
图2-6商品下架数据流图
3.添加商品类型数据流图
添加商品数据流的过程:
第一步是管理员进入添加商品类型管理页面;
第二步是操作点击新增按钮,输入类型名称、类型描述等信息,确定提交;
最后服务器将操作的结果响应到操作管理员管理员。
添加商品类型如图2-7所示:
图2-7添加商品数据流
4.添加购物车数据流图
购物车管理主要是方便用户预采购的过程,和超时买商品时推的购物车性质一样,其数据流过程为:
第一步是用户进入商城首页面,获取所有商品信息;
第二步是点击对应的商品,进入详情页面;
第三步点击购物车图标,把商品放入购物车;
最后将操作的结果返回给用户。
添加购物车数据流如图2-8所示:
图2-8添加购物车数据流
5.用户登陆数据流图
用户登陆数据流过程为:
第一步是用户进入登陆页面输入用户账号和密码;
第二步是系统对用户登陆信息进行验证;
第三步就是验证通过后根据用户的信息查询该用户所拥有的角色;
第三步是根据角色查询它具有的权限;
最后根据用户角色拥有的权限,且在前端判断权限,展示出页面,返回给用户。
用户登陆数据流如图2-9所示:
图2-9用户登陆数据流
6.角色授权数据流图
商品后台需要具备一定权限才能对商品的属性进行操作。
角色授权数据流的过程:
首先是超级管理员进入角色授权页面,选择需要授权的用户,对应改用户选择权限,最后系统根据超级管理员的操作返回提示给超级管理员。
角色授权DFD如图2-10所示:
图2-10角色授权DFD
7.提交订单数据流图
提交订单数据流展示了用户购买结算的过程,其步骤如下:
第一步是用户购物车页面,选择需要购买的商品;
第二步是用户选择购买发货地址;
第三步点击提交订单,把订单信息写入订单表中;
提交订单数据流如图2-11所示:
图2-11.提交订单数据流
2.5本章小结
本章对EasyShopping运动商城系统进行了需求分析,并且进行了系统的功能设计。
根据学EasyShopping运动商城系统,EasyShopping运动商城系统功能的设计主要包括商品类型操作、商品查询、商品上下架操作、角色授权、安全管理等六个模块。
另外,本章从超级管理员、管理员、用户等几个重要角色的角度对系统进行了UML建模,给出了各自的功能用例关系图。
最后,文中给出商品上架、商品下架、添加商品类型、添加购物车、用户登陆、角色授权、添加订单的数据流图,并作了详细说明。
第3章系统设计与实现
3.1系统设计
系统的总体设计阶段的任务就是如何组件与实现这个系统,运动商城信息数据实现计算机在线管理,就需要一套管理系统来对商品信息、用户信息、购物车信息、订单信息等信息组合起来。
在之前已经合理的对需求分析进行了设计,这部分就是总体设计阶段。
总体需要实现角色管理、身份认证管理、商品管理、购物车管理、商品检索、订单管理六个模块,目的是把个个模块组成,同时也解析各个模块,把系统的每个模块都进行描述,这对提高系统的效率和质量是一个关键保证。
3.2系统总体设计思想
本系统开发主要实现该六个模块,并且需要对模块进行分析。
需要考虑以下几个方面:
身份认证的设计:
主要是通过登录校验身份返回的请求头,该请求头是一个身份令牌,需要在用户每次请求时带上该令牌。
角色管理的设计:
本系统中超级管理员专门展示的页面,超级管理员进入后台后,查看角色管理,可以对角色授权。
购物车的设计:
本套系统中对用户的购物车信息做了专门的页面展示,登陆后可点击购物车,查看购物车信息,对订购的商品进行结算等操作。
商品管理的的设计:
本套系统中对于管理员使用专门展示的页面,管理员登陆进入后台,查看商品分配管理以及商品管理,可以对商品类型、商品进行操作。
商品检索的的设计:
本套系统中对用户的商品搜索信息做了专门的页面展示,用户进入商城主界面,可以根据商品类型、关键字搜索,进入分类商品列表时支持价格范围搜索。
订单管理的的设计:
本套系统中对用户的订单信息做了专门的页面展示,用户进入商城主界面,可以根据购买物品进行下单,查看订单等。
3.3系统架构
系统的总体架构。
其模式如图3-1所示。
图3-1商城系统总体架构
数据持久层采用的是MySQL数据库,数据持久化采用Mybatis框架和Durid数据源负责数据信息的存储。
服务层采用SpringBoot框架为基础的模式,项目前后端分离,前后端采用json数据格式进行数据交换。
前端采用Bootstrap+jQuery,更好地实现项目的前后端分离,方便项目的部署。
3.4系统的功能结构图设计
系统的功能结构图的设计要考虑到整个系统要实现的具体功能,根据用户需求,要实现用户系统和管理后台系统两部分。
其中,用户系统的功能包括商品检索,购物车管理,地址管理,订单管理。
后台管理系统的功能则包括商品分类,商品管理,角色授权,地址信息,用户信息。
具体情况如图3-2所示。
图3-2系统功能模块图
3.5系统数据库架构设计
根据第二章的系统需求分析,系统需要建立一些数据库表来保存一些相关的信息,如用户信息、角色信息、商品类型信息、收货信息、商品信息、订单信息等一些数据库,图3-3是对上述一些主要数据库表的ER图设计:
图3-3系统全局E-R图
地址表和用户表关系如图3-4所示:
图3-4地址用户E-R图
角色表和用户表关系如图3-5所示:
图3-5角色用户E-R图
用户表和订单表关系如图3-6所示:
图3-6用户订单E-R图
订单表和商品表关系如图3-7所示:
图3-7订单商品E-R图
商品类型表和商品表关系如图3-8所示:
图3-8商品和商品类型E-R图
(1)User(用户信息)表
表3-1给出了存放用户信息的数据库表结构
表3-1User
列名
数据类型
可为空
注释
ID
INT(11)
NOTNULL
用户Id
USERNAME
VARCHAR(255)
用户名
PASSWORD
密码
SALT
NULL
hash盐
PHONE
手机号码
ROLE_ID
角色id
CREATE_TIME
DATATIME
创建时间
UPDATE_TIME
更新时间
STATE
TINYINT
(1)
状态
(2)role(角色表)表
该表为角色表,用于角色信息、角色描述等信息。
主键为ID,表结构如表3-2所示:
表3-2role
id
ROLE_NAME
角色名
ROME_REMAKE
描述
(3)type(商品类型表)表
该表为商品类型表,用于记录商品类型,方便于分类商品。
表结构如表3-3所示:
表3-3type
TYPE_NAME
类型名称
REMAEK
(4)commodity(商品表)表
表结构如上表3-4所示,该表为商品信息表,用于记录商品信息(如类型ID、商品名称、商品数量、商品价格、上架时间、更新时间、商品描述、商品状态、等)
表3-4commodity
TYPE_ID
类型id
NUMBER
商品数量
PRICE
DECIMAL(10,2)
商品单价
NAME
商品名称
DETAIL
商品描述
PICTRUE_URL
图片URL
TINGYINT
(1)
状态1上架/0下架
(5)address(收货信息表)表
该表为收货信息表,收货时确认收货地址信息等,表结构:
(如ID、用户ID、收货地址、手机号码、创建时间、是否默认地址信息等),表结构如表3-5所示:
表3-5Address
USER_ID
用户ID
ADDRESS
收货地址
VARCHAR2(20)
pk
是否默认地址信息
(6)ordering(订单表)表
该表为订单表,用户购买商品订单信息,表结构:
(如ID、收货地址表ID、商品描述【JSON结构】等),表结构如表3-6所示:
表3-6ordering
ADDRESS_ID
收货地址表ID
COMMODITY
商品详情
TOTAL_PRICE
总价
订单状态
3.6系统模块的设计
根据需求分析,EasyShopping运动商城系统的实现主要包括角色管理、身份认证管理、商品管理、购物车管理、商品检索、订单管理六个模块的实现,本小节不在此对所有的模块的实现进行介绍,主要介绍系统中角色管理、身份认证管理、商品管理、购物车管理、商品检索、订单管理模块的设计。
1.角色管理模块
角色管理模块是超级管理员赋予user是否能操作商品后台的权限控制,超级管理员要访问EasyShopping运动商城后台系统首先必须要进行身份验证,只有验证通过的user才能访问本系统。
因此,首先要打开用户登陆页面,输入账号密码,登录成功后,进入角色授权页面,选中用户,赋予用户角色,点击确定,提交信息,系统返回提示用户。
其具体的流程图如下图3-9所示:
图3-9角色管理模块流程图
2.身份认证管理模块
身份认证主要是识别请求是否带头token,并且能够识别token。
用户发送请求到服务端,服务端获取token,如果token信息是空,则返回提示非法的请求操作。
如果token不为空,则通过JWT提供的Base64URL算法解析token,如果token令牌失效则返回游览器提示实现,反正正常进入请求。
根据上面的分析,用户提交请求,后台解析请求是否带有token。
失败则提示401权限不足,反正放行该请求。
其具体的流程图如下图3-10所示:
图3-10身份认证流程图
3.商品管理模块
将商品上下架是商城系统运行数据的来源,管理员登陆成功后,在主操作页面的功能菜单栏点击商品管理,在该页面可添加新的商品。
根据上面的分析,商品管理的流程为管理员先打开用户登陆页面,输入自己的用户名和密码进行登陆,登陆成功后将返回主操作页面给设备管理员,设备管理员进入商品管理页面即可添加商品,其具体的流程图如下图3-11所示:
图3-11商品管理的流程图
4.购物车管理模块
购物车管理是用户在浏览商品时,筛选到合适的商品,提交添加到购物车,方便统一结算。
下面是对购物车管理模块的设计与实现情况。
购物车管理的流程为用户先打开用户登陆页面,输入自己的用户名和密码进行登陆,登陆成功后将返回商城界面给用户,用户筛选商品并单击该商品,进入商品详情页面,点击添加商品。
其具体的流程图如下图3-12所示:
图3-12设备库存查询流程图
5.商品检索模块
商品检索主要是方便用户根据关键字、价格等信息查询商品,找到符合的商品。
商品检索的流程为进入商城页面,点击输入搜索关键字,获取关键字匹配的的商品,点击该商品,进入商品详情页。
其具体的流程图如下图3-13所示:
图3-13商品检索流程图
6.订单管理模块
订单管理主要对购物车的商品进行结算,并且生成订单。
其过程用户先打开用户登陆页面,输入自己的用户名和密码进行登陆,登陆成功后将返回商城界面给用户,用户进入购物车页面,点击选择购买的商品、数量,收货地址信息,下单。
其具体的流程图如下图3-14所示:
图3-14订单管理流程图
3.7系统实现
根据上一节的系统模块的设计,本节给出了它们的实现。
下面分别是它们实现的界面效果。
3.7.1角色管理模块的实现
下图3-15是角色管理模块实现的界面图,超级管理登陆成功后自动跳转后台界面,默认进入的是用户管理界面,界面包括用户名,密码,密码hash盐,手机号码等多种属性,在对应的一列的末尾有修改权限操作。
图3-15用户管理界面
如图3-16所示,点击权限操作,进入角色角色授权
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EasyShopping 运动 商城 设计 实现