2. 开发思路
## 说明
## 1. 模块清单
首先,基于我们的需求分析,我们将系统拆分成如下几大模块:
* 用户模块
* 商品模块
* 订单模块
* 支付模块
* 优惠券模块
* 管理模块
## 2. 依赖关系
有了模块清单,接下来我们需要思考,他们之间的依赖关系是怎样的。在上面的功能清单中,『订单模块』依赖于『用户模块』和『商品模块』,『支付模块』和『优惠券模块』又依赖于『订单模块』。各个模块之间的依赖关系可以用下图来表示:

上层的模块依赖于下层的模块,因此在开发过程中我们会优先构建下层的模块。
## 3. 开发顺序
所以我们各个模块开发的顺序如下:
1. 用户模块
2. 商品模块
3. 订单模块
4. 支付模块
5. 优惠券模块
『管理模块』是一个特殊的模块,既包含本身的逻辑(管理后台的权限控制等),又与其他业务模块都有关联,因此在开发过程中会与其他模块穿插开发。
## 4. MVP 产品 (热门产品)
电商产品是一个用户购买商品的地方,产品存在的核心价值是『用户购买商品』,那首先需要用户、然后需要商品、购买需要付款。所以在我们的电商项目里,用户、商品、订单和支付模块都是必不可少的。
> 优惠券功能并不是购物流程中必备的一环,属于附加的功能,锦上添花的东西。我们在设计和开发项目时,应优先完成基础的功能,让流程能尽快跑起来,尽早交付,快速迭代。