第1章 业务背景及需求分析

mini商城第1章 业务背景及需求分析

一、课题

业务背景及需求分析

二、安排

  • 前置 环境搭建汇总

  • 第1天 业务背景及需求分析

  • 第2天 架构设计及模块拆分

  • 第3天 表结构设计

  • 第4天 微服务框架主体搭建

  • 第5天 权限登录功能实现

  • 第6天 分布式文件存储

  • 第7天 高性能门户首页构建

  • 第8天 海量数据搜索实现

  • 第9天 详情页功能实现

  • 第10天 购物车、订单功能实现

  • 第11天 分布式事务解决方案

  • 第12天 微信支付

  • 第13天 商品秒杀功能实现

  • 第14天 热门数据实时收集

  • 第15天 秒杀商品隔离解决方案

  • 第16天 服务安全控制

  • 第17天 站点构建

  • 第18天 分布式日志系统

  • 第19天 服务链路追踪

  • 第20天 自动化运维

三、目标

1、电商知识学习

  • 了解电商前景

  • 掌握电商模式

2、掌握商城业务场景

  • 商城业务介绍

  • 商城业务功能学习

四、内容

第1节 前言

在正式开始我们的商场项目的实战之前,我们先要明确几个问题:

1、这个项目适合哪个阶段的程序员?

2、作为Java程序员的我们为什么要学习这个项目,从中能获得什么?

3、要怎么去学习该实战项目?

先来回答一下第1个问题,这个项目不管是初中高级Java开发工程师也好,还是初级架构也好,其实都是适用的,只不过不同层级的技术人员学习的侧重点不同。作者本身是一名高级偏初级架构的技术人员,所以后面着重介绍作者的亲身学习思路。这里先讲一下初中级Java开发工程师应该通过该项目获得什么能力吧。

初中级Java开发工程师通过本项目,侧重学习的点就在于各个技术组件的使用,包括:

1、熟练SpringBoot、Mybatis、Mysql的集成使用,实现各种业务逻辑的CRUD。会使用反向工程生成代码简化开发,会写复杂的SQL并对SQL进行优化。会使用SpringBoot集成Mybatis和Mysql。

2、熟练掌握微服务组件的使用,能够完成SpringBoot、SpringCloud集成各种组件包括Nacos、OpenFeign、Gateway、Sentinel等。

3、了解中间件Redis、MongoDB、MQ等集成SpringBoot的核心API的使用,了解该组件的作用。

初中级Java开发工程师的使用熟练度有所不同,根据个人的实际情况来学习。本套实战课程会将所有的代码给出,但是我们的视频课程毕竟是针对p6的同学,所以很多业务的CRUD,在文章中和视频中不会做过多的体现。

接下来,我们在来看高级开发和初级架构人员学习本套课程应该掌握什么:

1、首先,要站在整体的角度分析我们的商场项目的背景、业务需求,只有掌握了背景,明确了需求才能去考虑我们项目系统该如何设计,该如何选择。这是必须进行的过程。

2、根据我们分析的需求,明确好我们的用户角色,大体分为:后台管理人员、商品管理人员、用户端(C端),然后根据用户角色确定我们要做的系统有哪些?然后后台微服务为了支撑这些系统要提供哪些接口服务等。

3、根据需求分析进行架构搭建(包括测试环境、生产环境、各种不同组件的运用搭建)

4、系统搭建好,我们选择一条主流程进行功能开发(商城项目的一条主流程不就是商品数据生产、然后客户在前端搜索商品并进行添加购物车、下单付款操作吗)

5、考虑高可用安全性问题(缓存、MQ、搜索引擎、分布式文件存储、网关限流等)

6、高性能部署

7、自动化运维

OK,通过这个项目的学习,高开就真的存在了架构的经验了,这是你升级成架构的第一步,要明白,架构的考核不是说你能搭框架就完事了,搭框架只是基本功,真正的架构师必须是有解决各种问题难点的能力

废话不多说,我们接下来正式开启我们的实战旅程。

第2节 电商知识学习

这一节主要讲解电子商务行业前景,并且带大家了解一下天猫双十一的交易,然后带大家学习一下电商主流模式。学完后会对电商前景有个清晰的认识,能快速定位电商平台的模式。

1.1 主流电商模式

当前主流电商模式有B2B,C2C,O2O,B2B2C,我们对这些电商模式进行一个简单了解,方便以后大家做项目对项目的定位的一个清晰认知。

1、B2B:Business to Business,交易双方的身份都是商家,也就是商家将商品卖给商家,类似采购、批发类购物,国内代表性网站阿里巴巴批发网(1688)。

 2、C2C:Customer to Customer,交易双方都可以是个人,比如淘宝网。

 3、O2O:Online To Offline,线上线下模式,典型的代表饿了么,在线上支付了,在线下获取商品。

 4、B2B2C:大型的电商平台,允许商家入驻,允许会员在平台买卖商品,京东和天猫都属于这类型网站。

1.2 商城业务场景

这节内容主要从宏观层面学习商城的业务场景,有助于大家理解商城的业务结构。

1.2.1 业务学习

商城是基于SpringCloud Alibaba技术栈研发的B2C电商平台,平台拥有核心的电商业务功能。下面是核心的用户角色:

  • 运营商在后台管理商品

  • 前台能通过搜索引擎实时搜索到最新商品,用户注册后可以直接在平台购买商品,并通过微信支付实现线上支付。用户还能参与平台秒杀抢购,并实现线上支付秒杀商品。

根据用户角色分析,实际上我们的系统应该分为一个后台管理系统的前端页面、前端门户界面、后台微服务系统。

1.2.2 后台系统前端
1.2.2.1 登录页面

目前实现了VUE前端的登录拦截,没有token的不允许访问其他页面;同时VUE前端会根据用户名和密码访问后台的登录接口请求token,如果后台接口返回成功,则跳到主页,如果返回失败,给出相应的提示。

关于忘记密码和注册,后台接口已经实现好了,但是前端页面并没有完成,如果感兴趣的同学,可以自己去实现。对于没有前端基础的同学,这块可以放弃。

1.2.2.2 后台首页

主要提供一些统计数据的展示

1.2.2.3 商品管理

1、商品列表

提供后台商品的增删改查功能

2、添加商品

提供商品信息的修改和新增功能

3、商品分类

提供商品类别的增删改查功能,分类属于一级类别

4、商品类型

提供商品类型的增删改查,类型数据分类的下级类别

5、品牌管理

品牌方,这个没啥好说的,来个商家注册到你们平台,你就给他插入一条数据

1.2.2.4 订单管理

1、订单列表

订单的处理,订单数据来源是从商城门户,然后由C端插入进数据库的,在管理后台也能进行操作。这块,作者只做了后台管理人员对订单的操作,理论上应该是需要不同的商户对自己的订单的一些操作,这块逻辑后续也需要优化。

 2、订单设置

 3、退货申请处理

 4、退货原因设置

1.2.2.5 营销管理

1、秒杀活动列表

这块内容就是挣钱的东东了,由后台管理开启不同的秒杀活动,然后哪个商家给我们钱给的多,我就把它的商品设置进当前的秒杀活动,这是我们平台的理念,至于其他的电商平台是不是这么做的,我不关心了。

2、优惠券列表

优惠券的增删改查

3、品牌推荐

这块内容也是挣钱的,我在后台设置的这些品牌数据,然后在门户首页会展示这些品牌的,就是一个广告的效果,实现逻辑也比较简单,就相当于我从品牌表里面拿出数据插到新的推荐表,然后商城门户首页会从这个推荐表拿数据并且展示。

4、新品推荐

跟上面的逻辑差不多

5、人气推荐

还是跟上面逻辑差不多

 6、专题推荐

依然上面的逻辑差不多

 7、广告列表

还是跟上面的逻辑差不多,只不过这控制的是门户首页的轮播的内容以及一些其他的广告位。

1.2.2.6 权限管理

1、用户列表

用户的增删改查,可以加后台管理人员,也可以加商户管理人员,区别就在于后面的角色不同。

 2、角色列表

角色的增删改查,同时还会设置不同的角色的权限

 3、菜单列表

后台管理系统前端的这些菜单

 4、资源列表

后台Java代码的哪些接口的权限管理

1.2.3 商城首页

商城首页一般来说分为PC端、移动端(Android和IOS);这里对这两种情况稍作解释,因为很多同学可能对这块内容意识不是特别清晰。其实不管是什么端,都是给普通客户去用的,客户要怎么用呢?无非就是通过能看的到的页面去用,而这些页面要不然就是通过JSP去做的,要不然就是通过VUE,或者IOS、Android等去做的。

而PC端的页面,只能部署在我服务端自己的服务器上面,然后所有的客户端通过浏览器来访问,这个时候一旦浏览器的并发请求量过大,那针对每个请求的数据量我就得进行优化了,尽量减少静态资源的传输,同时保证后台数据也要有一些缓存等,我们现在的商城现阶段也只是完成了PC端的内容,所以要如何优化,后续会讲。

那移动端的话就简单方便多了,所有的静态资源,页面等都是部署在各自的手机啊、平板等移动端上的,不存在静态资源的请求了,那我就只需要考虑后台微服务给我们提供数据的时候的性能就好了。

这就是这两个端的问题,然后根据不同的端,去进行不同的问题解决。

好了,我们接下来看看我们PC端的页面:

1、首页

 2、搜索页

 3、商品详情页

 4、购物车页

 5、支付页

第3节 业务需求

需求文档是一个项目开始的起点,要想项目能完整的、顺利的落地,前期的需求文档要尽可能的做的详细和完善,针对我们商城的核心功能,同时也参考了很多的前人的资料,作者整理了一份需求设计文档,仅供大家参考,详情见资料/需求设计文档,资料下载地址见下一章末尾。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木_2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值