1.UML簡介
Unified Modeling Language (UML)又稱統(tǒng)一建模語言或標準建模語言。
簡單說就是以圖形方式表現(xiàn)模型,根據(jù)不同模型進行分類,在UML 2.0中有13種圖,以下是他們的主要用途簡介:
1.用例圖:對系統(tǒng)的使用方式分類.
2.類圖:顯示類和它們的相互關系。
3.對象圖:只顯示對象及它們的相互關系。
4.活動圖:顯示人或對象的活動,其方式類似于流程圖。
5.狀態(tài)機圖:顯示生命周期比較有趣或復雜的對象的各種狀態(tài)。
6.通信圖:顯示在某種情形下對象之間發(fā)送的消息。
7.順序圖:顯示與通信圖類以的信息,但強調的是順序,而不是連接。
8.包圖:顯示相關的類如何組合,對開發(fā)人員有用。
9.部署圖:顯示安裝已完成系統(tǒng)的機器、過程和部署制品。
10.組件圖:顯示可重用的組件(對象或子系統(tǒng))及期接口。
11.交互總圖:使用順序圖喧赤活動的務個步驟。
12.時間圖:顯示消息和對象狀態(tài)的準確時間限制。
13.復合結構圖:顯示對象在聚合或復合中的相互關系,顯示接口和協(xié)作的對象?
常用的 UML 圖可分靜(態(tài))圖、動(態(tài))圖兩類,靜態(tài)圖主要描繪軟件的靜態(tài)結構,而動態(tài)圖主要描繪軟件的動態(tài)行為。
常用 UML 動態(tài)圖(5 個):用例圖,活動圖,狀態(tài)機圖,序列圖,通信圖。
常用 UML 靜態(tài)圖(4 個):類圖,包圖,部署圖,構件圖。?
?
2.UML類圖
?
在所有UML圖中,類圖是使用頻率最高的UML圖。
類圖用于描述系統(tǒng)中所包含的類以及它們之間的相互關系,幫助人們簡化對系統(tǒng)的理解,它是系統(tǒng)分析和設計階段的重要產物,也是系統(tǒng)編碼和測試的重要模型依據(jù)。
類圖主要關系有:泛化(Generalization), ?實現(xiàn)(Realization),關聯(lián)(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)
2.1 泛化
【泛化關系】:是一種繼承關系,?表示一般與特殊的關系,?它指定了子類如何特化父類的所有特征和行為.?例如:老虎是動物的一種,?即有老虎的特性也有動物的共性.
【箭頭指向】:帶三角箭頭的實線,箭頭指向父類
?
?
? 2.2?實現(xiàn)(Realization)?
【實現(xiàn)關系】:是一種類與接口的關系,表示類是接口所有特征和行為的實現(xiàn).
【代碼體現(xiàn)】:類實現(xiàn)接口成員?
【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口
?2.3?關聯(lián)(Association)?
【關聯(lián)關系】:是一種擁有的關系,它使一個類知道另一個類的屬性和方法;?
【代碼體現(xiàn)】:成員變量?
【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者
上圖,表示企業(yè)和員工的關聯(lián)關系,員工都屬于一個企業(yè)
除此之外,關聯(lián)關系允許互相關聯(lián),比如夫妻關系,可以互相關聯(lián)。也允許自關聯(lián),即自己也是自己的成員之一。?
2.4?聚合(Aggregation)?
【聚合關系】:是整體與部分的關系,且部分可以離開整體而單獨存在。如車和輪胎是整體和部分的關系,輪胎離開車仍然可以存在。?
? ? ? ? ? ? ? ? ? ? 聚合關系是關聯(lián)關系的一種,是強的關聯(lián)關系;關聯(lián)和聚合在語法上無法區(qū)分,必須考察具體的邏輯關系。?
【代碼體現(xiàn)】:成員變量?
【箭頭及指向】:帶空心菱形的實心線,菱形指向整體
?
2.5?組合(Composition)?
【組合關系】:是整體與部分的關系,但部分不能離開整體而單獨存在。如公司和部門是整體和部分的關系,沒有公司就不存在部門。?
? ? ? ? ? ? ? ? ? ?組合關系是關聯(lián)關系的一種,是比聚合關系還要強的關系,它要求普通的聚合關系中代表整體的對象負責代表部分的對象的生命周期。?
【代碼體現(xiàn)】:成員變量?
【箭頭及指向】:帶實心菱形的實線,菱形指向整體
?
2.6?依賴(Dependency)?
【依賴關系】:是一種使用的關系,即一個類的實現(xiàn)需要另一個類的協(xié)助,所以要盡量不使用雙向的互相依賴.?
【代碼表現(xiàn)】:局部變量、方法的參數(shù)或者對靜態(tài)方法的調用?
【箭頭及指向】:帶箭頭的虛線,指向被使用者?
例如:程序員需要依賴計算機
3.VS20132015 中UML類圖的操作
在.NET開發(fā)中,我們可以使用VS自有的功能方便設計類圖,VS2013旗艦版和VS2015企業(yè)版都有建模工程,下面介紹一下如何使用VS建模
(1)在VS中新建,選擇”建模項目“,如下:
?
(2)打開建模項目,增加一個UML類圖
(3)打開新建的UML類圖文件,通過工具欄建立類、接口等,并創(chuàng)建關系
(4)將設計好的UML類圖,生成代碼
(5)查看生成代碼
(6)逆向(由代碼生成類圖)
在VS中,我們可以將代碼很方便的生成UML類圖,如下





