UML中的圖~

來源:互聯網
上載者:User

UML包括九種圖:使用案例圖、類圖、對象圖、構件圖、部署圖、活動圖表、共同作業圖表、狀態圖、順序圖表。在這些圖中使用案例圖、類圖、順序圖表是最有用的。
根據其用意,可以將其劃分為結構型圖和行為型圖兩種。
結構型圖:描述系統的靜態結構。在顯示系統中類及類之間的關係時最有用。
行為型圖:描述系統的動態性質。在顯示系統中元素如何協作產生滿足要求的系統行為方面是最有用。

結構型圖

顯然,要描述一個設計模式的靜態結構,使用類圖和對象圖是很合適的。

行為型圖

顯然,要描述一個設計模式的行為特徵,使用狀態圖和時序圖是很合適的。

應當指出的是,一個使用UML的系統設計,往往是從使用案例圖開始的,而且是一個設計應當是使用案例驅動的。

UML中的關係在UML中有4種關係:

(1)依賴關係

  依賴(dependency)是兩個模型元素間的語義關係,其中一個元素(獨立元素)發生變化會影響另一個元素(依賴元素)的語義(也就是說“獨立元素”中引用了“依賴元素”)。在圖形上,把依賴畫成一條可能有方向的虛線,偶爾在其上還帶有一個標記2-14所示。   

(獨立元素)(依賴元素)

圖2-14     依賴關係

(2)關聯關係

  關聯(association)是類之間的結構關係,它描述了一組鏈,鏈是對象(類的執行個體)之間的串連。彙總是一種特殊類型的關聯,它描述了整體和部分間的結構關係。在圖形上,把關聯畫成一條實線,它可能有方向,偶爾在其上還帶有一個標記,而且它還經常含有諸如多重性和端名這樣的修飾,2-15所示。關於關聯我們將在下面進一步詳述。

圖2-15     關聯

(3)泛化關係

  泛化(generalization)是一種特殊/一般關係,在其中特殊元素(子項目)基於一般元素(父元素)而建立。用這種方法,子項目共用了父元素的結構和行為(也就是說“子項目”繼承了“父元素”)。在圖形上,把泛化關係畫成一條帶有空心箭頭的實線,該實線指向父元素,2-16所示。

(子項目)(父元素)

圖2-16     泛化關係

(4)實現關係

  實現(realization)是類目之間的語義關係,其中的一個類目指定了由另一個類目保證執行的合約。在兩種地方會遇到實現關係:一種是在介面和實現它們的類或構件之間;另一種是在用況和實現它們的協作之間。在圖形上,把實現關係畫成一條帶有空心箭頭的虛線,它是泛化和依賴關係兩種圖形的結合,2-17所示。

(實現)(介面)

圖2-17     實現關係

關於UML圖中的關聯包含種關係:

一般化關係:表示類與類之間的繼承關係,介面與介面之間的繼承關係,或類對介面的實現關係。一般化關係是子類指向父類的,或從實現介面的類指向被實現的介面,與繼承或實現的方向相反。如所示:


圖:一般化關係

關聯關係:是類與類之間的聯結,它使一個類知道另一個類的屬性和方法。關聯關係包括單向關聯、雙向關聯、彙總關聯、合成關聯、反射關聯關係。
可能的多重值描述
表示 含義
0..1 0個或1個
1 只能1個
0..* 0個或多個
* 0個或多個
1..* 1個或我個
3 只能3個
0..5 0到5個
m..n m到n個
表:多重值和它們的表示

單向關聯:在一個單向關聯中,兩個類是相關的,但是只有一個類知道這種聯絡的存在。圖7 顯示單向關聯的透支財務報告的一個執行個體。

 圖7 :單向關聯的透支財務報告

雙向關聯:兩個類彼此知道它們間的聯絡,除非你限定一些其它類型的關聯。圖 6 顯示了在Flight類和Plane類之間的的雙向關聯。 圖 6     在Flight類和Plane類之間的雙向關聯
彙總關聯:有彙總關係的關聯指出,某個類是另外某個類的一部分。在一個彙總關係中,子類執行個體可以比父類存在更長的時間。為了表現一個彙總關係,畫一條從父類到部分類的實線,並在父類的關聯末端畫一個未填充棱形。圖12 顯示車和輪胎間的彙總關係的例子。
 圖12     車和輪胎間的彙總關係合成關聯(組合彙總關係):組合彙總關係是彙總關係的另一種形式,但是子類執行個體的生命週期依賴於父類執行個體的生命週期。在圖13中,顯示了Company類和Department類之間的組合關係,注意組合關係如彙總關係一樣繪製,不過這次菱形是被填充的。
 圖13:Company類和Department類之間的組合關係反射關聯:類也可以使用反射關聯與它本身相關聯。起先,這可能沒有意義,但是記住,類是抽象的。圖14 顯示一個Employee類如何通過manager / manages角色與它本身相關。當一個類關聯到它本身時,這並不意味著類的執行個體與它本身相關,而是類的一個執行個體與類的另一個執行個體相關。圖14 :Employee類通過manager / manages角色與它本身相關

表4:UML支援的可見度類型的標誌

標誌 可見度類型
+ Public
# Protected
- Private
~ Package

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.