2009/7/31

UML風格::關係(四)

--------------------
73. 謹慎地使用擴充關係(Apply Extend Associations Sparingly)
--------------------

我認為無論是包含關係或是擴充關係,都要謹慎使用,因為它們不僅容易造成使用案例圖面上的複雜度,更多時候還因為不當地過度使用,使得原先完整的使用案例被切割的七零八落。

--------------------
74. 描述相似的企業邏輯時,適用一般化關係(Generalize Use Cases When a Single Condition Results in Significantly New Business Logic)
--------------------

什麼叫「相似的企業邏輯」呢?可以說,兩個使用案例描述相同的企業邏輯,但是彼此之間又有細微的差異時,比較適用「一般化關係」(generalization relationship)。

以自動櫃員機為例,我們來看下面三個小範例,不用我多加說明,您絕對可以判斷出來哪一種狀況具有相似的企業邏輯,如下:
  1. 查詢餘額、檢驗晶片金融卡,兩者相似嗎?
  2. 提款、列印收據,兩者相似嗎?
  3. 轉帳、跨行轉帳,兩者相似嗎?

很好辨識相似的企業邏輯吧,跨行轉帳是轉帳的一種,它們兩個當然具備相似的企業邏輯。請看到圖50,一般化關係是一個帶大三角形的實線,從較一般化的父用例(super use case)指向較為特殊化的子用例(sub use case)。因此,我們可以說,本行轉帳和跨行轉帳都是轉帳的一種,它們與轉帳之間都具備有相似的企業邏輯。


圖50: 一般化關係

再多看個例子,在購物網站的範例中,我們可以選擇信用卡刷卡結帳或者ATM轉帳結帳,不過它們都是一種結帳方式及過程,所以在這個範例中,我們可以使用一般化關係,如圖51所示。


圖51: 刷卡結帳或轉帳結帳

<上一篇><下一篇>

0 回應:

 

UML Blog Copyright © 2009 Cookiez is Designed by Ipietoon for Free Blogger Template