购物车设计开发之二 —— 业务建模
2007-04-02 21:04
253 查看
第二章:购物车业务建模。
笔者在本文中将会采用 UML 对购物车进行建模。
对于我们的例子,涉及参与者( Actor )是顾客,业务实体则有 MiniCart 和 Shopping Cart 。
1 、术语解释。
购物车 /ShoppingCart :模拟现实的购物车,存放顾客选购的商品。
购物车元素 /ShoppingCartItem :表示每个加入购物车的商品, 1 个购物车元素对应一个商品。
迷你车 /MiniCart :购物车的微缩版,只显示最后(或者近几个)加入购物车商品,会附加一些促销的信息。
2 、用例( Use Case )
用例( Use Case )是顾客对购物车进行直接操作的事件。
经过分析,得出的用例如下图:
3 、业务实体。
描述如下:
1 ) ShoppingCart 和 ShoppingCartItem 是聚合关系,即 ShoppingCartItem 生命周期依赖于 ShoppingCart ;
2 ) MiniCart 和和 ShoppingCartItem 是组合关系,一个 MiniCart 可以呈现多个 ShoppingCartItem ,
ShoppingCartItem 生命周期和 MiniCart 没有直接关系;
3 ) MiniCart 对 ShoppingCart 有依赖关系,如果还没有为顾客分配 ShoppingCart ,则 MiniCart 也为空。
4 、时序图。
描述顾客和购物车之间的交互关系,并表述对象之间的时间顺序可以用时序图表达,但限于篇幅,
笔者只对其中的【将商品加入购物车】进行设计。
4.1 基本流如下:
流程描述如下:
顾客 服务器
1 )查看商品;
2 )将商品加入购物车;
3 )购物车模块判断可以加入;
4 )将该商品加入购物车;
5 )调用其它接口对购物车进行处理(如计费接口);
6 )调用 MiniCart 接口组装返回数据;
7 )呈现 MiniCart 页面;
8 )查看 MiniCart 页面。
4.2 扩展流如下:
1 ) Add to cart 时,通过购买验证,发现顾客等级不足以购买当前商品,则返回提示信息,流程结束。
2 )另外还有其它的扩展流,比如库存不足等,由于很相似,所以在本文就不画图了。
5 、其它。
下图表达了一个顾客进入网站后选购商品——结帐的活动过程概述。
其中对 Add to cart 的子流程做了描述,结帐流程不在本文描述范围。
下一篇将进行实体和接口的具体设计,请关注。
【转载请注明出处!】
笔者现在 广州博商软件 www .probiz.cn 任项目主管,进行基于 J2EE 电子商务套件的研发。
产品在线 demo 请垂阅: http://demo.probiz.cn/eStore
笔者对 J 2EE 相关技术及电子商务方面有所研究,欢迎进行交流。
QQ:16399476
MSN : yanchaomin @hotmail.com
笔者在本文中将会采用 UML 对购物车进行建模。
对于我们的例子,涉及参与者( Actor )是顾客,业务实体则有 MiniCart 和 Shopping Cart 。
1 、术语解释。
购物车 /ShoppingCart :模拟现实的购物车,存放顾客选购的商品。
购物车元素 /ShoppingCartItem :表示每个加入购物车的商品, 1 个购物车元素对应一个商品。
迷你车 /MiniCart :购物车的微缩版,只显示最后(或者近几个)加入购物车商品,会附加一些促销的信息。
2 、用例( Use Case )
用例( Use Case )是顾客对购物车进行直接操作的事件。
经过分析,得出的用例如下图:
3 、业务实体。
描述如下:
1 ) ShoppingCart 和 ShoppingCartItem 是聚合关系,即 ShoppingCartItem 生命周期依赖于 ShoppingCart ;
2 ) MiniCart 和和 ShoppingCartItem 是组合关系,一个 MiniCart 可以呈现多个 ShoppingCartItem ,
ShoppingCartItem 生命周期和 MiniCart 没有直接关系;
3 ) MiniCart 对 ShoppingCart 有依赖关系,如果还没有为顾客分配 ShoppingCart ,则 MiniCart 也为空。
4 、时序图。
描述顾客和购物车之间的交互关系,并表述对象之间的时间顺序可以用时序图表达,但限于篇幅,
笔者只对其中的【将商品加入购物车】进行设计。
4.1 基本流如下:
流程描述如下:
顾客 服务器
1 )查看商品;
2 )将商品加入购物车;
3 )购物车模块判断可以加入;
4 )将该商品加入购物车;
5 )调用其它接口对购物车进行处理(如计费接口);
6 )调用 MiniCart 接口组装返回数据;
7 )呈现 MiniCart 页面;
8 )查看 MiniCart 页面。
4.2 扩展流如下:
1 ) Add to cart 时,通过购买验证,发现顾客等级不足以购买当前商品,则返回提示信息,流程结束。
2 )另外还有其它的扩展流,比如库存不足等,由于很相似,所以在本文就不画图了。
5 、其它。
下图表达了一个顾客进入网站后选购商品——结帐的活动过程概述。
其中对 Add to cart 的子流程做了描述,结帐流程不在本文描述范围。
下一篇将进行实体和接口的具体设计,请关注。
【转载请注明出处!】
笔者现在 广州博商软件 www .probiz.cn 任项目主管,进行基于 J2EE 电子商务套件的研发。
产品在线 demo 请垂阅: http://demo.probiz.cn/eStore
笔者对 J 2EE 相关技术及电子商务方面有所研究,欢迎进行交流。
QQ:16399476
MSN : yanchaomin @hotmail.com
相关文章推荐
- 购物车设计开发之二 —— 业务建模
- 在线捉鬼游戏开发之二 - 设计业务对象与对象职责划分(3)
- !金尚网上商城 03~07、WEB项目开发的一般流程—分析与设计之业务逻辑分析设计
- 用三层架构与设计模式思想部署企业级数据库业务系统开发
- 记录我开发鞋服行业供应链软件的历程<设计业务层>
- 敏捷开发“松结对编程”实践之二:计划与设计篇
- 开发一个业务逻辑复杂的系统,应该怎么样设计才能使项目的扩展性更好
- 电商app开发架构设计优化购物车环节
- [原创].NET 分布式架构开发实战之二 草稿设计
- 【DDD】领域驱动设计实践 —— 业务建模小招数
- 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
- 使用Java开发Domino业务应用的设计模式 (cont. 1)
- Java开发中的23种设计模式详解之二:7种结构型模式
- 敏捷开发“松结对编程”实践之二:计划与设计篇(大型研发团队,学习型团队,139团队,师徒制度,设计评审,预想陈述,共同估算,扑克牌估算)
- 敏捷开发“松结对编程”实践之二:计划与设计篇(大型研发团队,学习型团队,139团队,师徒制度,设计评审,预想陈述,共同估算,扑克牌估算) .
- (转)用三层架构与设计模式思想部署企业级数据库业务系统开发
- 毕设开发之二-对概要设计的重要性的理解
- 大话IPC产品系统设计 - 基于芯片商提供的SDK API开发之二
- 用三层架构与设计模式思想部署企业级数据库业务系统开发
- 模型即软件,建模即开发——顶点软件LiveBOS灵动业务架构平台