Unified Modeling Language(UML又稱爲統一建模語言或標準建模語言)是國際對象管理組織OMG制定的一個通用的、可視化建模語言標準,能夠用來描述(specify)、可視化(visualize)、構造(construct)和記載(document)軟件密集型系統的各類工件(artifacts,又譯爲製品)。 UML是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的全部階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。 UML是面向對象軟件的標準化建模語言。UML因其簡單、統一的特色,並且能表達軟件設計中的動態和靜態信息,目前已成爲可視化建模語言的工業標準。在軟件無線電系統的開發過程當中,統一建模語言能夠在整個設計週期中使用,幫助設計者縮短設計時間,減小改進的成本,使軟硬件分割最優。 UML不是一個程序設計語言,更不是一個形式化語言。 UML是一種可視化的面向對象建模語言,描述了一個系統的靜態結構和動態行爲,用圖形方式表現典型的面向對象系統的整個結構,從不一樣的角度爲系統建模,並造成系統的不一樣視圖。這些圖包括:類圖(它以繼承結構、關聯、組成和彙集爲特點)、時序圖、協做圖和狀態圖等。 UML是一種建模語言,在實際團隊項目中,要和具體的軟件開發過程結合起來才能更好的發揮做用。html
OOA: Object Oriented Analysis 面向對象分析 OOD: Object Oriented Design 面向對象設計 OOP: Object Oriented Programming 面向對象的程序設計swift
簡單來講呢就是統一了制定模型的標準語言^-^微信
UML是用來設計軟件藍圖的可視化建模語言。它支持面向對象系統的分析、設計、實現和交付等各個環節,能夠用於系統的理解、設計、瀏覽、維護和信息控制。 一、便於開發人員展示系統 二、容許開發人員指定系統的結構或行爲 三、提供指導開發人員構造系統的模板 四、記錄開發人員的決策 五、爲用戶提供一種易用的、具備可視化建模能力的語言,以便於用戶可以用該語言進行系統開發,並進行有意義的模型互換。 目的即爲幫助IT人員設計程序(業務邏輯層面的)用圖像化的方式表示項目結構,幫助開發人員整理項目的結構以及類的關聯,甚至所包含的屬性方法等,再加上代碼導出功能,不只幫助開發理清的思路,還節省了一些代碼時間。(但OC,swift沒有導出。。)工具
1.設計用例 微信支付
2.設計模型。類與類之間的關係描述,類圖(靜態模型) .net
3.創建動態模型。(時序圖等) 設計
StarUML,Umlet,Enterprise Architect(EA),PowerDesign等 UML建模工具:http://www.pc6.com/pc/umljmgj/ 在線製圖工具:processonOnhtm
參考: 包:https://blog.csdn.net/zlts000/article/details/18939645對象
參考: 關係:https://www.cnblogs.com/duanxz/archive/2012/06/13/2547801.html 強弱程度: 泛化>組合>聚合>關聯>依賴blog
類圖:UML類圖,是用來描述系統中的類以及各個類之間的關係。系統中能夠有多個類圖,單個類圖則只是表達了系統的一個方面。類圖能夠幫助咱們在正確編寫代碼以前對系統有個很全面的認識,是建模中最多見的一種類型圖
對象圖:描述的是一組對象之間的關係,而不是類之間的關係。它是類圖的變體,可是又與之不一樣,對象顯示的類的多個對象而不是實際的類。
組件圖:UML組件圖(又叫構件圖),是用來描述在軟件系統中聽從並實現一組接口的物力的、可替換的軟件模塊。它所表現的是一種系統靜態實現的結構,可以幫助開發人員對系統組成達成一致的認識。
部署圖:UML 部署圖是一個用來描述系統的硬件配置和部署以及軟件的構件和模塊在不一樣節點上分佈的模型圖。它可以幫助系統相關人員瞭解系統中各個構件部署在什麼硬件上以及硬件之間的交互關係。
時序圖:UML時序圖,又叫序列圖或者順序圖,是一種用來描述對象之間傳送消息的時間順序,是用來表示用例中的行爲順序。
微信支付時序圖:
參考時序圖:http://blog.51cto.com/smartlife/284874
協做圖:UML協做圖(又叫通訊圖)是一種做用於顯示對象之間如何進行交互以執行特色用例或用例中特色部分行爲的交互圖,它強調的是發送和接收消息的對象之間的組織結構
狀態圖:UML狀態圖,用於顯示狀態機,即描述一個對象所處的可能狀態以及狀態之間的轉移。用狀態圖建模能夠幫助開發人員分析複雜對象的各類狀態的轉換,以及對象什麼時候執行怎樣的動做。
活動圖:UML活動圖,顧名思義就是UML的動態模型的一種圖形,對於系統的功能建模特別重要。它用來描述知足用例要求所要進行的活動以及活動間的約束關係,有利於識別並行活動。簡單來說,就是表示在處理某個活動時,兩個或者更多類對象之間的過程控制流。
參考: 時序圖協做圖詳解:https://blog.csdn.net/shulianghan/article/details/17927131 活動圖狀態圖詳解:https://www.cnblogs.com/jingwhale/p/4230235.html 經常使用建模圖:http://youzhixueyuan.com/what-is-umluml-used-diagrams-and-uml-modeling-tools.html