第二章:购物车业务建模。
笔者在本文中将会采用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