EasyShopping运动商城的设计与实现.docx

上传人:b****6 文档编号:9051900 上传时间:2023-02-03 格式:DOCX 页数:33 大小:2.21MB
下载 相关 举报
EasyShopping运动商城的设计与实现.docx_第1页
第1页 / 共33页
EasyShopping运动商城的设计与实现.docx_第2页
第2页 / 共33页
EasyShopping运动商城的设计与实现.docx_第3页
第3页 / 共33页
EasyShopping运动商城的设计与实现.docx_第4页
第4页 / 共33页
EasyShopping运动商城的设计与实现.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

EasyShopping运动商城的设计与实现.docx

《EasyShopping运动商城的设计与实现.docx》由会员分享,可在线阅读,更多相关《EasyShopping运动商城的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。

EasyShopping运动商城的设计与实现.docx

EasyShopping运动商城的设计与实现

EasyShopping运动商城的设计与实现

摘要:

随着科技的不断发展和创新,以及计算机的普及与应用,同时带来了高速的运算能力,数字统计能力,解决了人们日常所需要的搜索、计算等需求。

作为计算机应用的一部分,EasyShopping运动商城也提高了运动系列商品检索效率,商品的分类也使得群众更加方便的理解,同时也提供给更加稳定、便捷的服务给广大的运动爱好者,同时解决了购物复杂度以及提高效率等问题。

本系统设计并且实现了一套基于springboot、mybatis的运动商城购物系统。

系统基于JAVA语言开发,采用游览器和服务器架构模式(B/S)数据库设计采用MYSQL作为后台数据库系统,系统分为前后台两部分,前台包括登陆、商品搜索管理、商品详情管理、购物车管理等。

后台功能包括:

运动商品上下架管理、运动商品信息管理、权限配置管理等。

运动爱好者和管理员只需要在游览器访问本系统,即可实现商品检索、管理后台等操作。

关键词:

运动商城,JAVA,浏览器/服务器架构

第1章绪论

1.1系统开发的背景

"互联网+"时代给人类的健康发展带来了新的挑战,动商在这个背景下具有了新的价值:

第一,动商能够提高人掌控互联网技术的行为水平;第二,动商将成为改变人类体育锻炼意识的新理念;第三,动商是释放"互联网+"时代全民健身的原动力;第四,动商是发挥体育育人功能的最佳方法。

计算机管理运动商品等资源信息可以让检索更快速、管理更方便、可靠性更高,同时随着计算机硬盘的技术的提升,从21世纪00年代的MB容量到20年代TB容量,存储量更大了,硬件资源也更加便宜。

同时使用计算机软件技术能够极大地提高检索信息管理的效率,也使运动商品商城能够更加稳定的服务于广大运动爱好者。

为了能够更加高效、快捷、稳定地运动商品商城内所有使用过程中产生的大量数据信息,本文设计并实现了一套基于springboot、mybatis技术框架的搭建的运动商品管理系统。

系统基于JAVA语言进行开发,采用服务器游览器模型,即(Browser/Server架构),数据库系统使用MYSQL5.5版本。

EasyShopping系统分为前端html,以及后端JAVAWEB两个部分实现,其中实现了以下六个模块,包括角色管理、身份认证、商品管理、购物车、商品检索。

广大健身达人、运动爱好者可根据自己喜好以及搭配选择,通过浏览器登录访问本系统,即可购买对应的商品。

1.2系统开发的意义

尽管目前很多商店、连锁店有自己独立的商城管理系统,但是商品缺不能做到精确定位,而是各种复杂多样的产品,更新信息也落后,用于对广大的运动爱好等用户访问增加了复杂度,所以这样的商城管理系统根本没有发挥它能提供的最大的效能。

基于此问题,有建立一个运动商城系统有效的分类使得运动爱好者更加精确、有效定位到所需要的商品。

使得运动类商品能跟随时代主流同时提高销售数量,获取更大的利润空间。

本系统的设计主要通过互联网的访问以及计算机软件的利用率,实现资源的利用率最大化,使得用户通过浏览器访问互联网即可访问运动商城信息,以及运动商城近期发布的最新产品信息。

本系统总体上分为前台展示和后台管理。

前台页面实现了商品列表,商品搜索购物车模块功能。

而后台的页面则集成了角色管理模块、身份认证模块、商品管理模块等功能。

1.3运行环境和开发技术

1.3.1运行环境

软件环境:

MySQL5.5、Elasticsearch6.1

硬件环境:

操作系统:

CentOSrelease6.5(Final)

最低配置:

CPU:

PentiumD1.6G以上

内存:

8G内存

硬盘:

500G空间

推荐配置:

CPU:

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所示:

<>

<>

图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)

NOTNULL

用户名

PASSWORD

VARCHAR(255)

NOTNULL

密码

SALT

VARCHAR(255)

NULL

hash盐

PHONE

VARCHAR(255)

NOTNULL

手机号码

ROLE_ID

INT(11)

NULL

角色id

CREATE_TIME

DATATIME

NULL

创建时间

UPDATE_TIME

DATATIME

NULL

更新时间

STATE

TINYINT

(1)

NULL

状态

(2)role(角色表)表

该表为角色表,用于角色信息、角色描述等信息。

主键为ID,表结构如表3-2所示:

 

表3-2role

列名

数据类型

可为空

注释

ID

INT(11)

NOTNULL

id

ROLE_NAME

VARCHAR(255)

NOTNULL

角色名

ROME_REMAKE

VARCHAR(255)

NOTNULL

描述

CREATE_TIME

DATATIME

NULL

创建时间

UPDATE_TIME

DATATIME

NULL

更新时间

(3)type(商品类型表)表

该表为商品类型表,用于记录商品类型,方便于分类商品。

表结构如表3-3所示:

表3-3type

列名

数据类型

可为空

注释

ID

INT(11)

NOTNULL

id

TYPE_NAME

VARCHAR(255)

NOTNULL

类型名称

REMAEK

VARCHAR(255)

NOTNULL

描述

CREATE_TIME

DATATIME

NULL

创建时间

UPDATE_TIME

DATATIME

NULL

更新时间

(4)commodity(商品表)表

表结构如上表3-4所示,该表为商品信息表,用于记录商品信息(如类型ID、商品名称、商品数量、商品价格、上架时间、更新时间、商品描述、商品状态、等)

表3-4commodity

列名

数据类型

可为空

注释

ID

INT(11)

NOTNULL

id

TYPE_ID

VARCHAR(255)

NOTNULL

类型id

NUMBER

VARCHAR(255)

NOTNULL

商品数量

PRICE

DECIMAL(10,2)

NULL

商品单价

NAME

VARCHAR(255)

NULL

商品名称

DETAIL

VARCHAR(255)

NULL

商品描述

PICTRUE_URL

VARCHAR(255)

NULL

图片URL

CREATE_TIME

VARCHAR(255)

NULL

创建时间

UPDATE_TIME

VARCHAR(255)

NULL

更新时间

STATE

TINGYINT

(1)

NOTNULL

状态1上架/0下架

(5)address(收货信息表)表

该表为收货信息表,收货时确认收货地址信息等,表结构:

(如ID、用户ID、收货地址、手机号码、创建时间、是否默认地址信息等),表结构如表3-5所示:

表3-5Address

列名

数据类型

可为空

注释

ID

INT(11)

NOTNULL

id

USER_ID

INT(11)

NOTNULL

用户ID

ADDRESS

VARCHAR(255)

NOTNULL

收货地址

PHONE

VARCHAR2(20)

NULL

手机号码

CREATE_TIME

DATATIME

NULL

创建时间

pk

TINYINT

(1)

NULL

是否默认地址信息

(6)ordering(订单表)表

该表为订单表,用户购买商品订单信息,表结构:

(如ID、收货地址表ID、商品描述【JSON结构】等),表结构如表3-6所示:

表3-6ordering

列名

数据类型

可为空

注释

ID

INT(11)

NOTNULL

id

USER_ID

INT(11)

NOTNULL

用户ID

ADDRESS_ID

INT(11)

NOTNULL

收货地址表ID

COMMODITY

VARCHAR2(20)

NULL

商品详情

CREATE_TIME

DATATIME

NULL

创建时间

TOTAL_PRICE

DECIMAL(10,2)

NOTNULL

总价

STATE

TINGYINT

(1)

NOTNULL

订单状态

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所示,点击权限操作,进入角色角色授权

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1