軟件設(shè)計師UML知識點:第三章類

字號:

類是具有相同屬性、操作、關(guān)系的對象集合的總稱。通常在UML中類被畫成矩形。
    名稱
     每個類都必須有一個名字,用來區(qū)分其它的類。類名是一個字符串,稱為簡單名字。路徑名字是在類名前加包含類的包名為前綴。例如Wall、java::awt::Wall都是合法的類名。
    屬性
     屬性是指類的命名的特性,常常代表一類取值。類可以有任意多個屬性,也可以沒有屬性。在類圖中屬性只要寫上名字就可以了。如下圖
     也可以在屬性名后跟上類型甚至缺省取值,如下圖:
    操作
     操作是類的任意一個實例對象都可以調(diào)用,并可能影響該對象行為的實現(xiàn)。操作在類圖中如下圖描述:
    組織屬性和方法
     在畫類圖的時候沒有必要將全部的屬性和操作都畫出來。實際上,在大部分情況下你也不可能在一個圖中將類的屬性和操作都畫出來。在畫類圖時可以只將感興趣的屬性和操作畫出來就可以了??梢杂谩?..”表示還有屬性或方法沒有畫出來。為了更好地組織屬性或方法,可以在一組功能相同的屬性或方法前加上一個描述的前綴(<<>>中的文字),如下圖:
    職責(zé)
     職責(zé)指的是類所擔(dān)任的任務(wù),類的設(shè)計要完成什么樣的功能,要存擔(dān)的義務(wù)。一個類可以有多種職責(zé),設(shè)計得好的類一般至少有一種職責(zé),在定義類的時候,將類的職責(zé)分解成為類的屬性和方法。
    通常在UML中在類圖的最下方用單獨的部分列出類的職責(zé)。
    類的職責(zé)其實只是一段或多段文本描述。
    通用建模技術(shù)
    1. 為系統(tǒng)的詞匯建立模型
    l 標(biāo)識出用戶或解決問題時用來描述問題的東西,使用CRC卡片和基于USE-CASE的分析來找出這些抽象。
    l 對每一個抽象,標(biāo)識出它的職責(zé)集合。確定明確地定義了每一個類,在為所有類確定的職責(zé)中取得了很好的平衡。
    l 為類提供實現(xiàn)類的職責(zé)所需要的屬性和方法。
    2. 為系統(tǒng)的職責(zé)分配建立模型
    l 標(biāo)識出行為相類似的對類
    l 找出這些類的職責(zé)
    l 把這些類作為整體看待,把職責(zé)多的類分為幾個小類
    l 考慮這些類如何協(xié)作,重新進行類的職責(zé)分配已滿足協(xié)作中沒有類太多職責(zé)或太少職責(zé)
    3. 為非軟件的事務(wù)建立模型
    l 為抽象成類的事務(wù)建立模型
    l 如果你建模的是硬件本身包含有軟件,建模時考慮為一種NODE,這樣可以對它進一步的分解。
    4. 為原始類型建模
    l 為類型或枚舉建立模型
    l 如果要對這種類型取值范圍進行說明,使用約束。