第二章:購物車業務建模。
筆者在本文中將會采用 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 的子流程做了描述,結帳流程不在本文描述范圍。
下一篇將進行實體和接口的具體設計,請關注。
【轉載請注明出處!】
QQ:16399476
MSN : yanchaomin @hotmail.com
=================================
顏超敏
專注電子商務、工作流企業級Java軟件系統研發;
個人博客:Craft6.cn 唯心六藝
=================================