寫給SA的UML/MDA實務手冊
----------
第1章-Why系統分析師需要學習UML
1.4-重要的OO及UML概念
1.4.9-組合關係
組合關係(Composition)是一種特殊的聚合關係,所以它繼承了結合關係,以及聚合關係的「整體-部分」(Whole-Part)的特質,還獨有全然擁有Part物件的特質。系統分析師可以透過檢核下列四項要件,判斷是否採用組合關係:
1.在企業領域的專業概念裡,兩種物件之間有一種固定不變且需要保存的靜態關係。(繼承自結合關係的要件)
2.在資訊化時,系統會用到這些靜態關係,而且必須將它們存到資料庫。(繼承自結合關係的要件)
3.在企業領域的專業概念裡,兩種物件之間有Whole-Part的靜態關係。(繼承自聚合關係的要件)
4.Part物件只能連結一個Whole物件,且Whole物件被註銷(Destroy)時,Part物件必須一塊被註銷。(組合關係獨有的要件)
在基金模擬個案中,定期定額申購是很重要的概念。客戶約定了定期定額申購之後,銀行每月就會依照約定自動成立一筆小額的申購交易,而且每期申購的基金單位數都會被累加在一起。特別的是,自動成立的單期交易沒有自己的憑証號碼,而是共有原先定期定額申購約定時的憑証號碼。
請看圖1-11,針對定期定額申購與單期交易之間的組合關係,系統分析師做了如下的思考:
1.定期定額申購與單期交易之間的關係,固定不變且需要被永久保存下來。(符合上述要件1)
2.由於,定期定額申購與單期交易之間的關係需要被保存下來,所以會被存到資料庫裡。(符合上述要件2)
3.客戶約定了定期定額申購之後,每月就會依照約定自動生成一筆小額的申購交易,所有的單期交易都歸屬於同一個定期定額申購交易底下。兩者之間有著Whole-Part的特質,定期定額申購是Whole,單期交易是Part。(符合上述要件3)
4.每一個單期交易物件只能連結一個定期定額申購物件,且定期定額申購物件被註銷時,單期交易物件必須一塊被註銷。(符合上述要件4)
5.每一個定期定額申購底下,可以有零到多個的單期交易。所以,在單期交易端標示(*),代表一個定期定額申購物件可以連結零到多個單期交易物件。
6.每一筆單期交易,只能隸屬於某一個定期定額申購底下。所以,在定期定額申購端標示(1),代表一個單期交易物件只能連結1個定期定額申購物件。
圖1-11: 組合關係
2 則留言:
為何圖裡的 whole 看不出有 part 的蹤跡呢?
菱形端點的類別是whole,另一端則是part。
張貼留言