基于 SpringCloud 的在线交易平台乐优商城的设计与实现
- 第3章 系统分析与设计
- 3.1 系统基本功能描述
- 3.2 可行性分析
- 3.3 系统需求分析
- 3.3.1 商家功能
- 3.3.2 消费者功能:
- 3.3.3 系统功能要求
- 3.3.4 系统运行环境
- 3.4 系统开发工具
- 3.4.1 IntellijIDEA
- 3.4.2 Mysql
- 3.4.3 Maven
- 3.4.4 Docker
- 3.5 系统架构设计
前面内容请移步
基于 SpringCloud 的在线交易平台乐优商城的设计与实现(一)
基于 SpringCloud 的在线交易平台乐优商城的设计与实现(二)
相关免费源码资源
乐优商城
第3章 系统分析与设计
3.1 系统基本功能描述
本系统的主要用途是供企业进行线上商品交易处理,用户分为后台管理员以及前台买家消费者。
本系统为管理者提供了方便统一的管理功能,包括:商品分类管理,品牌管理,商品规格参数管理,商品增删改查,以及商品的上下架管理等。用户可以实现的功能有,登录注册,商品搜索,搜索自动提示,加入购物车,下单,结算,支付等。
3.2 可行性分析
(1)技术可行性:本系统的配置在这种中小规模的情况下能够提供较快的数据访问,技术上可行。
(2)经济可行性:系统的配置,不需要昂贵的服务器,大部分软件都是可以免费获得,开发成本低。
(3)操作可行性:访问本系统后台的主要是企业的管理员。不需要太复杂的操作,只需通过界面提示的信息直接录入信息或者查询,修改,删除信息即可实现系统的完整、稳定的运行,不会造成系统的巨大压力,不需要太高的技术支持。前台系统对应的操作虽然会有高并发风险,但是我们对应的后台系统可以做异步,缓存及集群等优化部署,可以全方位保证系统安全可靠执行。
3.3 系统需求分析
通过对系统需求进行分析,我们可以确定系统中有两类用户:商家和消费者。两类用户的具体描述如下:
3.3.1 商家功能
管理商品分类,商品品牌,商品规格参数,商品的上下架,以及商品的增删改查,一键导入数据库的数据到索引库。
3.3.2 消费者功能:
实现商品搜索,登录注册,搜索智能提示 ,商品加入购物车,从购物车下单,下单后基于订单的支付
3.3.3 系统功能要求
商家后台管理功能:
- 商品分类管理:管理员在后台系统负责处理整个商城所售卖的商品分类信息,可以实现增删改查,如果当前分类下有商品则分类信息不允许删除。
- 商品品牌管理:管理员在后台系统负责处理整个商城所售卖的商品品牌信息,品牌需要和分类进行对应,可以实现增删改查,如果当前品牌下有商品,品牌不允许删除。
- 商品规格参数管理:管理员针对分类进行对应的商品信息规格进行增删改查,只要当前分类下有商品,规格参数不允许删除。
- 商品管理:管理员在商品系统对商品进行添加处理,上下架,修改,删除,查询。
- 索引库更新:当商品上下架以及新增后,搜索系统会跟随商品系统的商品变化而变化。
- 静态页缓存更新:使用 canal 监听数据库实现数据库表数据变更,对应缓存数据更新。
消费者购物功能:
- 用户登录注册:用户可以在系统中先注册再登录实现,注册需要用户名以及手机号唯一,注册时使用发短信验证码方式证验手机号是否真实有效。
- 用户搜索提示:当用户搜索时,不需要全部输入搜索内容,会根据现有搜索内容自动补全
- 用户实时搜索:当用户键入搜索信息时,会立即响应搜索,并进行高亮,用户可以对搜索结果进行排序,排序条件有上架时间,销量,以及价格等。
- 用户购物车:客户对感兴趣的商品可以加入购物车处理,并可以修改数量,以及删除。
- 用户下单处理:用户可以筛选购物车中的某个,或者所有商品进行下单处理,后台会生成订单并产生唯一的订单编号,生成订单同时对应会减库存。
- 用户支付:支付模块采用微信等第三方支付方式,采用二维码扫描方式识别,校验并完成付款操作。
- 支付回调:支付完成后,微信自动请求系统进行订单状态修改,从未支付改为已支付,为后续发货等操作做准备。
3.3.4 系统运行环境
- 浏览器版本:Google Chrome 45 或以上。
- 分辨率:最佳效果 1920*1080 像素。
- 操作系统:Windows8,Windows10
- 服务器:Tomcat 8.5 或以上
- 数据库:Mysql 5.7 或以上
- CPU:Intel G5950 3.5GHz
- 内存:8G 以上
3.4 系统开发工具
跟随 Java Web 开发主流,乐优商城设计与实现使用了 SpringCloud 微服务框架进行开发,使用的工具主要有 Intellij IDEA,Mysql,Maven,Docker等。
3.4.1 IntellijIDEA
IDEA 是一个被广泛使用的、基于 Java 的可扩展开发平台。IDEA 不仅可以当作 Java 集成开发环境来使用,还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 IDEA 的软件开发人员,因为它允许他们构建与 IDEA 环境无缝集成的工具。
乐优商城设计与实现开发中,正是使用了 IDEA 的这一特点,集成了VUE,Maven,做 Web 开发,方便快捷。
3.4.2 Mysql
Mysql 是一个基于关系型数据库模型建立的数据库管理系统软件(DBMS)。它帮助用户方使地得到所需信息,并提供强大的数据处理工具。它可以帮助用户组织和共享数据库信息,以便于根据数据库信息作出有效的决策。另外,仅有这样—个数据库管理系统软件(DBMS),则只能进行一些信息系统所需要的简单数据处理,且对操作者有较高的操作技能要求。因此,信息系统的开发者都是在某种数据库管理系统软件〔DBMS〕环境下编写相应的应川程序,以形成一个能够满足应用需求且操作尽可能简单的应用型信息系统,这被称之为二次开发。
3.4.3 Maven
Maven 翻译为“专家”、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。
3.4.4 Docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的app),更重要的是容器性能开销极低。
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
3.5 系统架构设计
系统架构设计在系统的开发中扮演着重要作用,它是对系统的整体规划和系统开发的前提,为整个开发过程服务。优秀的架构设计不但能够提高开发效率,缩短开发周期,而且可以降低后期维护成本。
由于该电商平台上线之后,可能会面临海量的并发访问,所以需要把系统结构设计成面向服务的分布式系统,分布式系统能够保证在高并发情况下系统运行 。本文设计的电商平台架构设计如图所示: