电商项目实战1

1.1 目标

根据需求,完成一个互联网电商系统。

电商系统:以淘宝、京东为代表的网购平台。

1.2 电商涉及的技术要点

电商系统涉及的技术非常全面,包括SSM核心框架、linux、redis、solr、mq等全部的框架和技术。能掌握如何利用我们所需的知识,在工作中开发项目。

1.3 电商系统流程:

(1)确定需求

(2)画出原型,制作静态页面。

(3)根据静态页面,画出E-R图,创建数据库。

(4)确定系统架构

(5)确定技术选型

(6)项目组分配任务

(7)确定开发环境,统一版本

(8)开发功能模块

(9)测试

(10)预发布

(11)上线

(12)运维

2.开发流程

2.1 确定需求

互联网电商系统的需求,一般从两个方面考虑:并发能力+功能需求。

2.1.1 并发能力

所谓的并发,就是单位时间内,同时访问服务器的总次数。

本系统并发需求800-1000次/(实际开发中由甲方客户确定)

2.1.2  功能需求

核心功能:

(1)用户访问门户系统,可以搜索、浏览商品,并将商品添加到购物车。

(2)用户通过身份认证之后,可以下订单、支付。

(3)要完成身份认证,必须实现注册登陆功能。

(4)后台系统中,可以实现对商品、订单等的管理。

(5)CMS系统管理门户系统中的内容(商品、广告、链接等)。

2.2  画出原型,制作静态页面

2.2.1 后台系统页面

2.2.1.1    主界面

2.2.1.2    商品模块

(1)商品列表

 

 

(2)商品规格参数列表

 

 

(3)新增商品

    --主界面

 

 

--商品类目

 

2.2.1.3   CMS系统(Content Manager System

--内容分类管理

--内容列表

 

2.2.2 门户系统

 

(1)用户登陆

 

(2)用户注册

(3)搜索页面

(4)购物车

(5)订单页面

 

2.3   画出E-R图,创建数据库

(1)既然是购物平台,肯定有一张商品表

(2)每一个商品对应一个分类,需要一张商品分类表

(3)每一类商品,都对应一个规格参数的模板。需要一张参数模板表

(4)每一个商品的规格参数值都是不一样的,所以需要一张规格参数值表。

(5)每一个商品都对应有一个详细的描述信息,所以需要一张描述信息表。

     目的:将大文本的描述信息抽出来,减小商品表的体积,从而提供商品表的检索效率。

(6)CMS需要一张内容分类表

(7)每一个内容分类,都有一组具体的内容,所以需要一张内容表。

(8)用户要登陆,需要一张用户表

(9)用户下单,需要一张订单表

(10)一个订单中,可以有多个商品,所以需要一张订单项表。

(11)每一个订单都有一个收件地址,需要需要一张收件人表。

注意:本项目中,数据库已经设计好,将sql文件导入本地数据库即可。

2.4  选择系统架构

2.4.1    单一系统架构

 整个项目只有一个应用,不同的功能模块以包为单位,写在同一个系统中。

  

单一系统架构

 

2.4.12       分布式架构

分布式指的是将一个系统拆分成多个不同的子系统,部署到不同的服务器上,系统之间通过接口的形式,相互调用。

分布式架构

好处:

(1)各系统之间相互独立,以接口相互调用,代码入侵少,耦合度低。

(2)拓展性能好,新增一个功能模块时,只需要将该子系统接入即可。

(3)可以进行灵活的分布式部署和负载均衡实现。

(4)项目组分小组开发子系统,沟通成本低。

劣势:

调用接口的时候,必须开发接口,意味着增加工作量。

2.4.3      确定选型后的架构图

图1-5 易购商城系统架构

 

 

核心系统描述:

 

后台管理系统:

管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。

前台系统:

用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。

会员系统:

用户可以在该系统中查询已下的订单、收藏商品、我的优惠券、团购等信息。

订单系统:

提供下单、查询订单、修改订单状态、定时处理订单。

搜索系统:

提供商品的搜索功能。

单点登录系统:

为多个系统之间提供用户登录凭证以及查询登录用户的信息。

2.5   技术选型(主要技术)

l  Spring、SpringMVC、Mybatis-Plus

l  JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV

l  Redis(缓存服务器)

l  Solr(搜索)

l  Activemq(消息推送)

l  Httpclient、jsonp(调用系统服务,系统之间相互调用)

l  Mysql

l  tenginx(web服务器)

l  Linux(项目最终部署的地方)

 

 

posted @ 2019-07-24 11:50  vietaKo  阅读(1207)  评论(0编辑  收藏  举报