第二章:購物車業(yè)務(wù)建模。
筆者在本文中將會采用 UML 對購物車進(jìn)行建模。
對于我們的例子,涉及參與者( Actor )是顧客,業(yè)務(wù)實體則有 MiniCart 和 Shopping Cart 。
1 、術(shù)語解釋。
購物車 /ShoppingCart :模擬現(xiàn)實的購物車,存放顧客選購的商品。
購物車元素 /ShoppingCartItem :表示每個加入購物車的商品, 1 個購物車元素對應(yīng)一個商品。
迷你車 /MiniCart :購物車的微縮版,只顯示最后(或者近幾個)加入購物車商品,會附加一些促銷的信息。
2 、用例( Use Case )
用例( Use Case )是顧客對購物車進(jìn)行直接操作的事件。
經(jīng)過分析,得出的用例如下圖:
3 、業(yè)務(wù)實體。
描述如下:
1 ) ShoppingCart 和 ShoppingCartItem 是聚合關(guān)系,即 ShoppingCartItem 生命周期依賴于 ShoppingCart ;
2 ) MiniCart 和和 ShoppingCartItem 是組合關(guān)系,一個 MiniCart 可以呈現(xiàn)多個 ShoppingCartItem ,
ShoppingCartItem 生命周期和 MiniCart 沒有直接關(guān)系;
3 ) MiniCart 對 ShoppingCart 有依賴關(guān)系,如果還沒有為顧客分配 ShoppingCart ,則 MiniCart 也為空。
4 、時序圖。
描述顧客和購物車之間的交互關(guān)系,并表述對象之間的時間順序可以用時序圖表達(dá),但限于篇幅,
筆者只對其中的【將商品加入購物車】進(jìn)行設(shè)計。
4.1 基本流如下:
流程描述如下:
顧客 服務(wù)器
1 )查看商品;
2 )將商品加入購物車;
3 )購物車模塊判斷可以加入;
4 )將該商品加入購物車;
5 )調(diào)用其它接口對購物車進(jìn)行處理(如計費(fèi)接口);
6 )調(diào)用 MiniCart 接口組裝返回數(shù)據(jù);
7 )呈現(xiàn) MiniCart 頁面;
8 )查看 MiniCart 頁面。
4.2 擴(kuò)展流如下:
1 ) Add to cart 時,通過購買驗證,發(fā)現(xiàn)顧客等級不足以購買當(dāng)前商品,則返回提示信息,流程結(jié)束。
2 )另外還有其它的擴(kuò)展流,比如庫存不足等,由于很相似,所以在本文就不畫圖了。
5 、其它。
下圖表達(dá)了一個顧客進(jìn)入網(wǎng)站后選購商品——結(jié)帳的活動過程概述。
其中對 Add to cart 的子流程做了描述,結(jié)帳流程不在本文描述范圍。
下一篇將進(jìn)行實體和接口的具體設(shè)計,請關(guān)注。
【轉(zhuǎn)載請注明出處!】
QQ:16399476
MSN : yanchaomin @hotmail.com
=================================
顏超敏
專注電子商務(wù)、工作流企業(yè)級Java軟件系統(tǒng)研發(fā);
個人博客:Craft6.cn 唯心六藝
=================================