你想要的乾貨,都在這裏喲算法
最全面的UML教程編程
聲明,本篇博文部分資料摘自維基百科
和Calvinsily的UML教程
,博文不涉及高深技術,旨在分享相關技術,節省大部分朋友學習的時間成本,望與諸君共同進步!segmentfault
UML 是一種爲面向對象開發系統的產品進行說明、可視化、和編制文檔的標準語言;markdown
UML 做爲一種模型語言,它使開發人員專一於創建產品的模型和結構,而不是選用什麼程序語言和算法實現;編程語言
UML 是不一樣於其餘常見的編程語言,如C + +,Java中,COBOL等,它是一種繪畫語言,用來作軟件藍圖;svg
UML 不是一種編程語言,但工具可用於生成各類語言的代碼中使用UML圖;工具
UML 核心oop
UML 的核心是圖表,大體能夠將這些圖歸類爲結構圖和行爲圖。學習
結構圖是由靜態圖,如類圖,對象圖等靜態圖;spa
行爲圖是由像序列圖,協做圖等動態圖;
一個系統的靜態和動態特性是經過使用這些圖的可視化。
類圖是使用面向對象的社會最流行的 UML 圖。它描述了在一個系統中的對象和他們的關係,可以讓咱們在正確編寫代碼之前對系統有一個全面的認識。 一個單獨的類圖描述系統的一個具體方面,收集類圖表示整個系統。基本上,類圖表示系統的靜態視圖。
類圖是惟一能夠直接映射到面向對象的語言UML圖。所以,它被普遍應用於開發者社區。
對象圖是類圖的一個實例
。所以,一類圖的基本要素是相似的。對象圖是由對象和連接。在一個特定的時刻,它捕獲該系統的實例。 對象圖用於原型設計,逆向工程和實際場景建模。
用例圖是從用戶角度描述系統功能,並指出各功能的操做者,用來捕捉系統的動態性質。 一個高層次的設計用例圖是用來捕捉系統的要求,所以它表明系統的功能和流向。雖然用例圖的正向和反向工程是否是一個很好的選擇,但他們仍然在一個稍微不一樣的方法來模擬它。
交互圖,用於捕獲系統的動態性質。 交互圖包括序列圖
和協做圖,其中:序列圖顯示對象之間的動態合做關係,它強調對象之間消息發送的順序,同時顯示對象之間的交互
;協做圖描述對象間的協做關係,協做圖跟時序圖類似,顯示對象間的動態合做關係。
狀態圖是一個用於模擬系統的動態性質的五個圖。這些圖用來模擬一個對象的整個生命週期。 一個對象的狀態被定義爲對象所在的條件下,特定的時間和對象移動對其餘狀態,在某些事件發生時。狀態圖還用於正向和反向工程。 狀態圖着重描述從一個狀態到另外一個狀態的流程,主要有外部事件的參與。
活動圖描述知足用例要求所要進行的活動以及活動間的約束關係,有利於識別並行活動。活動圖是一種特殊的狀態圖,它對於系統的功能建模特別重要,強調對象間的控制流程。
以上就是UML的相關概念了,其實說白了就說畫圖,至於怎麼畫,下面就讓咱們一塊兒來學習吧
在這裏我不會也不太可能將UML的各類元素都介紹一遍,我只介紹類圖中各個類之間的關係;能看懂類圖中各個類之間的線條、箭頭表明什麼意思後,也就足夠應對 平常的工做和交流了;
類圖是面向對象式的建模。他們通常都被用於概念建模(conceptual modelling)的系統分類的應用程序,並可將模型建模轉譯成代碼。
一個類有三個區域
先從一個示例開始
請看下面這張類圖,主要看類之間的關係:
關於UML 的相關介紹和其中最重要的類圖就介紹到這裏了,相信你此時已經入門UML了,也許你還想再更深刻的瞭解TA,不要緊,
我已經爲你準備了一份很是全面的學習資料,請點擊文章末尾連接領取.
最全面的UML教程 PS: 感謝Calvinsily整理分享的UML教程,你們能夠去點個贊哦!
更多精彩文章請關注