2011年10月18日

1.4.5-類別

寫給SA的UML/MDA實務手冊
----------
第1章-Why系統分析師需要學習UML
1.4-重要的OO及UML概念

1.4.5-類別

「物以類聚」點出了物件(Object)與類別(Class)之間的關聯。針對一群相似的物件,我們本能地將它們視為一類(同一類別)。訪談時,系統分析師聽著企業人員談論某一事物,甚至請他舉出兩三個具體且容易理解的實例,試圖藉由理解且分析這兩三個同類型的實例,定義出適用於這些實例的類別。

簡言之,系統分析師透過分析真實世界中同類型的實例,以便定義出適用於軟體世界的類別。經過設計之後,程式設計師會為這些類別編碼。隨後在軟體系統執行期間,系統內部將遵照各類別獨自的定義,誕生各類不同功用的物件。最後,這些不同類別的物件將呼叫彼此的操作,合力完成各項系統功能。


圖1-3: 基金帳戶類別與物件

所以,一個簡化後的開發程序,以及系統運作情況,大致如上所述。歸結,類別與其物件之間細微的關聯,條列如下:

1.(類別)定義屬性與操作,且所屬(物件)共有這些屬性與操作。

2.雖然同類(物件)共有屬性,可是每一個(物件)卻獨有屬性值。每個基金帳戶物件共有「總成本」這項屬性,可是每個基金帳戶物件的總成本值都不同。請看圖1-3,A基金帳戶的總成本值是100,000元,B基金帳戶的總成本值是200,000元,C基金帳戶的總成本值是300,000元,每個基金帳戶物件獨有自己的總成本值。

3.因為同類(物件)共有操作和方法,所以它們可以做相同的事情,而且有相同的作法。

4.稍後我們還會提到,(類別)也定義關係(Relationship),且所屬(物件)共有這些關係。不過,如同屬性與屬性值的情況,雖然同類(物件)共有關係,可是每一個(物件)卻獨有關係值。

沒有留言: