电商开发相关

包含三大块内容:电商平台需求分析、架构设计、前后端配合方式及数据接口定义

一、电商平台需求分析


1.电商平台有什么

购买:展示、购物车、下单、支付、订单中心
用户:账号体系、会员、用户行为、等级体系 、用户信息、地址
运营: 用户管理、订单管理、 商品管理、 财务管理、 客服系统 、推荐系统 、广告系统
统计:访问情况 、 成单率、 成交量、用户增长、推广效果、 转化率
市场:优惠折扣 、SEM、 SEO、代理 、推广
......

2.提炼核心需求

用户端: 展示 、购物车 、 下单  、支付 、订单  、用户
后台管理: 商品管理 、品类管理 、订单管理 、管理员登录

3.电商功能拆分

a.用户端
    商品:  首页、商品列表、商品详情

    购物车:购物车数量、添加删除商品、购物车提交

    订单:订单确认(地址管理)、订单提交、订单列表、订单详情

    支付:支付

    用户: 登录、注册、个人信息、找回密码、修改密码

b.管理后台
    商品管理:添加/编辑商品、查看商品、下架

    品类管理:添加品类、查看品类

    订单管理:订单列表、订单详情、发货

    权限:管理员登录

二、架构设计


1.分层架构

    定义: 把功能相似、抽象级别相近的实现进行分层隔离
    优势:松散耦合(易维护、易复用、易扩展)
    常见分层方式:MVC、MVVM

2.模块化

    定义:解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程
    意义:解耦、可并行开发
    模块化方案

  1.  AMD--------- require.js在推广过程中的规范化产出
  2.  CMD---------CJ.js在推广过程中的规范化产出  
  3.  CommonJS---------模块化语法较少,和业务是分开的(电商推荐使用)      
  4.  ES6---------类似commonjs,但是对旧版本浏览器不太友好,所以可以考虑在对兼容性要求不高的情况下使用

3.架构设计
      

4.技术选型

①.软件过程模型(选择瀑布模型?螺旋模型?还是敏捷开发?)

  意义: 软件过程的不同会导致开发的流程也不同

  • 瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
  • 螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。
  • 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

 敏捷开发(推荐使用) 使用的最多,因为互联网公司的项目都有一个特点,善变,而敏捷开发最大的优势就是特别适合变化较多的项目
  定义:以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发(是一种迭代的意识和方法,而不是概念和工具)
  优点:能够应对满足不断变化的需求
  不足:对团队成员的能力要求比较高

 

 

 ②.前后端的分离方式

 意义:分离方式的不同会影响到前后端的开发效率

  • 不分离
  1. 前后端共用同一项目目录,甚至页面内嵌js、css
  2. 本地开发环境搭建成本高
  3. 共同维护成本高
  4. 发布风险高      
  • 部分分离
  1. 后端负责页面模板(JSP/Velocity/Freemarker)
  2. 本地开发环境搭建成本较高
  3. 更新页面模板仍需后端协助,效率不够高
  4. 需要前后端同时发布
  • 完全分离1
  1. 方案1-----------velocity,发布的时候同步到后端 
  2. 优点: 完全分离,能直接生成动态的模板,利于SEO
  3.  缺点: 系统复杂度高、需要前后端同时发布
  • 完全分离2推荐使用)
  1. 方案2: 纯静态html、完全通过接口做数据交互
  2. 优点: 完全脱离后端模板,系统复杂度低
  3. 缺点: 不太利于SEO
  4. 优化方案: Server Render/蜘蛛定制页面

        

  
 ③.框架的选择

    主流框架:jQuery、Angular、Avalon、Vue、React 、CSS 、Less、Sass
    我们的选型:要兼容ie8且方便SEO
    选用jQueryCSS(前端)
                ReactSass(后台)

 

 

 ④.构建工具选择        

   主流的

  • Grunt(太过庞大和复杂)         
  • Gulp
  • Webpack(天生支持commonjs)

          

     
 ⑤.版本控制

  •  SVN
  •  Git

 

 ⑥.发布上线的方案

     发布过程

  1.  从git拉取待发布的代码
  2.  把代码进行编译打包
  3.  把生成的文件发布到线上机器

  域名分布

 

三、前后端配合方式及数据接口定义


1.前后端职责范围

 后端

  1. 数据存储
  2. 文件服务
  3. 数据接口

 前端

  1.  数据请求
  2.  数据处理
  3.  页面展示

2.接口文档规范

 格式


 请求和响应


 

接口文档示例

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值