前言
統一建模語言(Unified Modeling Language,UML)是用來設計軟件藍圖的可視化建模語言,1997 年被國際對象管理組織(OMG)采納為面向對象的建模語言的國際標準。它的特點是簡單、統一、圖形化、能表達軟件設計中的動態與靜態信息。
統一建模語言能為軟件開發的所有階段提供模型化和可視化支持。而且融入了軟件工程領域的新思想、新方法和新技術,使軟件設計人員溝通更簡明,進一步縮短了設計時間,減少開發成本。它的應用領域很寬,不僅適合于一般系統的開發,而且適合于并行與分布式系統的建模。
UML 從目標系統的不同角度出發,定義了用例圖、類圖、對象圖、狀態圖、活動圖、時序圖、協作圖、構件圖、部署圖等 9 種圖。【百度百科】^[1]^
本文并不會對所有圖進行分析。主要介紹開發中常用的類圖 時序圖 狀態圖。
類圖
類(Class)是指具有相同屬性、方法和關系的對象的抽象,它封裝了數據和行為,是面向對象程序設計(OOP)的基礎,具有封裝性、繼承性和多態性等三大特性。在 UML 中,類使用包含類名、屬性和操作且帶有分隔線的矩形來表示。
首先從動物開始
- 動物是一個類 動物依賴氧氣和水
- 然后鳥繼承了動物,所以鳥的父類是動物 所以鳥是屬于動物
- 然后鳥和翅膀是組合關系 一只鳥有兩個翅膀
- 大雁鴨子和企鵝都是鳥所以繼承了鳥類
- 大雁會有大雁群,大雁群是由大雁組成所以是聚合關系
- 企鵝和氣候是關聯關系因為企鵝需要依賴氣候
- 然后再看大雁 大雁會飛翔 所以就實現了飛翔接口
- 唐老鴨是屬于鴨子的 所以唐老鴨繼承了鴨子這個類
上圖是借鑒了大話設計模式里面的圖。下面具體介紹各個箭頭符號的作用
首先介紹圖形
類
類一般是用三層矩形框表示,第一層表示類的名稱,第二層表示的是字段和屬性,第三層則是類的方法。第一層中,如果是抽象類,需用斜體顯示。
包
包(Package): 是一種常規用途的組合機制。在UML中用一個Tab框表示,Tab里寫上包的名稱,框里則用來放一些其他子元素,比如類,子包等等。
接口
接口(interface):接口包含操作但不包含屬性,且它沒有對外界可見的關聯
關系
依賴
依賴(Dependency) 表示的是類之間的調用關系。UML中用帶箭頭的虛線表示依賴關系,而箭頭所指的則是被依賴的類。
泛化
泛化(Generalization): 表示的是類之間的繼承關系,注意是子類指向父類。UML中用帶空心三角箭頭的實線表示泛化關系,箭頭指向的是一般個體。
關聯
關聯(Association) 表示的是類與類之間存在某種特定的對應關系。UML中用雙向帶箭頭的虛線表示關聯關系,箭頭兩端為相互關聯的兩個類。
聚合
聚合(Aggregation): 是關聯關系的一種特例,表示的是整體與部分之間的關系,部分不能離開整體單獨存在。UML中用空心菱形頭的實線表示聚合關系,菱形頭指向整體
組合
組合(Composition): 是聚合的一種特殊形式,表示的是類之間更強的組合關系。UML中用實心菱形頭的實線來表示組合,菱形頭指向整體。
類符號
以上就是類圖之間的關系符號,還有就是在類中+號是什么意思,其實不光有+號。
看上面的學生類里面有五個屬性和兩個方法
+號表示公共的 public-表示 私有的 private#表示protected
帶下劃線表示靜態屬性,一般表示方法+ 屬性:類型。
下面是方法符號與上方相同+表示公共方法括號內表示參數:后面是返回類型沒有默認表示無返回值。
工具推薦
如果使用的是IDEA的話是直接可以看UML圖的,只不過會有一點變化。理解了上面的關系這些變化也能看的懂。
-
建模
+關注
關注
1文章
321瀏覽量
63258 -
UML
+關注
關注
0文章
123瀏覽量
31588 -
面向對象
+關注
關注
0文章
64瀏覽量
10251
發布評論請先 登錄
UML狀態圖和Petri網絡在類測試用例生成的應用
編寫電視類TV,UML類圖和說明
UML狀態圖在回歸測試中的應用
UML類圖之間的關系
什么是UML圖?常見的UML圖工具有哪些?
UML類圖符號等詳細介紹
如何看懂UML中的類圖?
評論