1. 程式人生 > >如何繪制UML圖?

如何繪制UML圖?

real img 子類 pub style text 維護 很好 roc

首先推薦在線繪制UML的網址:https://www.processon.com/,很好用.

在軟件開發過程中,開發人員往往需要通過繪制類圖來理清業務的實現思路,從而方便代碼實現,也便於後期的代碼維護,下面是學習記錄:

參考資料:http://www.jianshu.com/p/4cd95d4ddb59

在類圖主要元素包括:類,接口,類接口之間關系

一,類:對於面向對象編程而言,類是對具有共同特征的物體的抽象;

在類圖中一般的畫法是:

技術分享

說明:

“+”表示public;

“-”表示private;

"#"表示protected;

類的名稱如果用抽象類,名稱用斜體表示;

二,接口是一種特殊的類,具有類的結構但是不可以被實例化,只可以被繼承(實現),在UML中,接口使用帶有名稱的小圓圈表示:
技術分享

類圖中關系:

常見的關系由如下幾種:泛化(Generalization),實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)

泛化:一種繼承關系,表示一般與特殊的關系,制定了子類如何特化父類的特征和行為,其中箭頭方向:帶三角箭頭的實線,箭頭指向父類:

技術分享

實現:是一種類與接口的關系,表示類是接口所有特征和行為的實現,其中帶三角箭頭的虛線,箭頭指向接口:
技術分享

3.關聯關系:是一種擁有的關系,即一個類知道另一個類的屬性和方法,如:老師與學生,關聯關系可以是單項的也可以是雙向的;

其中帶普通箭頭的實心線,指向被擁有者;

技術分享

4.聚合關系:是整體和部分的關系,且部分可以離開整體而單獨存在,如輪胎和車是部分和整體的關系,但是輪胎可以離開車而獨立存在:

聚合關系是關聯關系的一種,是強的關聯關系,關聯和聚合在語法上無法區分,必須考慮具體的邏輯關系:

其中:帶空心菱形的實心線,菱形指向整體:
技術分享

組合:是整體和部分的關系,但是部分不能脫離整體而單獨存在;

如公司和部門是整體和部分的關系,但是沒有公司就不存在部門;

組合關系是關聯關系的一種,是比聚合關系還要強的關系;

技術分享

6.依賴關系:是一種使用關系,即一個類的實現需要另一個類的協助,所以盡量不要使用雙向的依賴關系;

其中帶箭頭的虛線,指向被使用者;

技術分享

各種關系的強弱:

泛化=實現 > 組合 > 聚合 > 關聯 > 依賴

如何繪制UML圖?