目錄
1.UML
1.1定義
Unified Model Language(UML),統一建模語言
1.2特點
用於說明、可視化、構建和編寫一個正在開發的、面向開發的、軟件密集系統的製品方法
1.3分類
UML2.2中定義了14種圖示,分爲
-結構式圖形:強調系統式的建模
——靜態圖(類圖,對象圖,包圖)
——實現圖(組件圖,部署圖)
——剖面圖
——複合結構圖
-行爲式圖形:強調系統模型種觸發的事件
——活動圖
——狀態圖
——用例圖
-交互式圖形:屬於行爲式圖形的子集合,強調系統模型中的資料流程
——通信圖
——交互概述圖
——時序圖
——時間圖
4)時序圖
是顯示對象之間交互的圖,這些對象按照時間順序排列。
建模元素:對象(Actor)、生命線(Lifeline)、控制焦點(focus of control)、消息(Message)等
矩形表示活動框,同步調用是實心箭頭,異步調用是實線普通箭頭,返回是虛線箭頭
2.類圖定義
分爲三層
1)類名,如果是抽象的接口或者類,需要使用斜體
2)類屬性,格式是 修飾符+屬性名+:數據類型
3)類方法,格式是 修飾符+方法名(參數)+:數據類型
其中修飾符表示: +是public,-是private,#是protected,~是default,下劃線是static
3.類圖關係
3.1定義
依賴關係:虛線+箭頭,箭頭方向表示A類依賴B類,則A類方法中引用了B類作參數
繼承或者泛化關係:實線+三角形,箭頭方向表示子類extends父類
組合關係:實心菱形(n)+實線+箭頭(m),箭頭方向表示n個A類的某個屬性由m個B類組合。contains-a,兩個類具有相同的生命週期,不可分離。鳥的羽毛由兩個翅膀組成
0..1:0個或者1個實例
0..*:0個或者多個實例
1..1:一個實例
1:只能有一個實例
1..*:1個或者多個實例
關聯關係:實線+箭頭,表示A類中有B類的成員屬性,企鵝有氣候的關聯
聚合關係:空心菱形+實線+箭頭,表示has-a,大雁羣有大雁,家庭有小孩。
實現方式:虛線+三角形或者棒棒糖法,接口實現
3.2 對比
1)依賴關係(虛線箭頭)和關聯關係(實線箭頭)
虛線表示虛無縹緲,關係不太明顯,因此作爲方法參數,只有用到方法才需要依賴領個類。
關聯關係:實現是實打實的關係,A類中有B類的屬性
2)聚合關係(空心菱形箭頭)和組合關係(實心菱形箭頭)
菱形看作是容器、盤子,空心表示關係沒有那麼緊密
聚合關係:兩者間的生命週期是獨立的,has-a的關係,大雁羣由大雁聚合成
組合關係:兩者間的生命週期是一致的,contains-a的關係,一個鳥是由兩個翅膀組成
3)繼承(實線三角形)和實現(虛線三角形)