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