如何繪制UML圖?
首先推薦在線繪制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圖?