UML基礎 節選

2021-05-17 23:30:55 字數 1442 閱讀 1992

在乙個系統中,類之間存在多種關係,如下所示。

— 繼承(inheritance):繼承是指乙個類從其父類派生而來,繼承了父類的屬性和方法。基於類的繼承叫做一般化(generalization),基於介面的繼承,叫做實現(realization)。

— 關聯(association):類之間的關聯大多用來表示變數例項持有對其他物件的引用,這種關係是半永久的,但沒有包含關係。

— 依賴(dependency):依賴是不同類的例項之間的暫時關係。

— 聚合(aggregation):聚合是關聯的一種特殊形式,它意味著一種整體/部分(whole/part)的關係,但是部分也可以作為其他整體的組分,而且部分和整體之間也沒有生命期的依賴。

— 組合(composition):組合是聚合的一種特殊形式,組合的關聯性比聚合更強,部分只能作為唯一的乙個整體的部分,而且部分的生命週期依賴於整體的生命週期。

uml類圖對這些關係的表示方法如圖6-5所示。具有關聯、聚合和組合關係的兩個物件之間可能是沒有數量關係的一種聯絡,也可能存在數量關係,比如1對1(不標識)、0個或1個(標識為0…1)、0個或多個(標識為0…*或0…n )、1個或多個(標識為1…*或1…n )或者確切的數字(直接標識數字)。

圖6-6顯示了乙個包含了圖6-2中的物件的類圖。 其中包括乙個繼承關係和兩個關聯關係。cdsalesreport類繼承自report類。乙個cdsalesreport類與乙個cd類關聯,但是cd 類並不知道關於cdsalesreport類的任何資訊。cd類和band類都彼此知道對方,兩個類彼此都可以與乙個或者多個對方類相關聯。

圖6-5  uml類圖之間的關係表示方法

圖6-6  包含關係的類圖

圖6-7顯示了乙個包含多種關係的類圖的另乙個 例子。person類實現了ihuman介面,author類繼承了person類;book類與author類之間的關聯是1對多的,即一本書可能有一 個或多個作者;person讀書,這是一種暫時的單向依賴;book由乙個或多個page組成,每乙個page只能作為一本book的一部分,這是一種組 合關係;bookshelf裡可以不放或者放多本book,book也可以放在其他的bookshelf中,bookshelf的存在並不能影響book 的存在性,這是一種聚合關係。

圖6-7  乙個包含多種關係的類圖

表示各物件之間的關係的物件圖說明了系統在某乙個特定時刻的狀態,經常叫做系統的快照(snapshot)。

內幕:uml與源**

uml是一種設計語言,它的目的不是表現細節,而是表現結構,僅僅展示必要的細節。因此,uml不可能與源**一一對應,只存在結構上的對應關係。作為一種參考,下面列出了圖6-7中的類圖的c#源**:

inte***ce ihuman

class person : ihuman

}class author : person

class book

class page

class bookshelf

具體請見原文。

UML基礎小結

1 開發過程 1 到底要解決什麼業務問題?業務建模 2 為了解決業務問題,所開發系統應提供什麼功能和效能?需求 3 為了提供功能,系統內部應該有什麼樣的業務核心機制?分析 4 為了滿足效能,系統的核心機制如何用選定技術實現?設計 2 啟動 1 願景 a 願景 在老大看來,為什麼要開發這個系統?b 願...

UML基礎概念

uml是物件導向分析與設計的專業語言,是軟體開發過程中相關人員溝通交流的語言,因此它在表達和理解抽象的軟體上起著重要的作用。uml圖分為兩大類 動態圖 用來描述系統行為的各個方面 查閱uml官方文件,會發現關於uml的標準規範已經是十分的完善,但是由於uml想要表達太多的語義,因此uml看起來也顯得...

UML建模基礎

用例模型是主要的uml代表,也是行為建模的焦點。用例模型定義用例 參與者以及這些建模元素之間的關係。活動模型能夠用圖來表示用例中的事例流。活動模型填補了用例模型中系統行為的高層表示與互動模型中行為的底層表示之間的空隙。節點是動作,連線是判斷條件。類建模整合幷包含了所有其它建模活動。類模型標識類和它們...