閱讀說明:本節(jié)主要是介紹UML基本概念,理論比較多,主要也是讓大家對UML有一個初步的認識,后面還會陸陸續(xù)續(xù)的更新更多詳細的UML開發(fā)應(yīng)用學習文章。直接對接我們當下的開發(fā)。
內(nèi)容一:UML概述?
????1、UML概念?
UML (Unified Modeling Language)為面向?qū)ο筌浖O(shè)計提供統(tǒng)一的、標準的、可視化的建模語言。
????2、UML定義?
分為兩個部分:UML語義和UML表示法
2.1 UML語義:UML對語義的描述使開發(fā)者能在語義上取得一致認識,消除了因人而異的表達方法所造成的影響。
2.2?UML表示法:UML表示法定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標準。
????3、UML模型圖構(gòu)成?
分為三個部分
3.1?事物:UML模型中最基本的構(gòu)成元素,是具有代表性的成分的抽象
3.2?關(guān)系:關(guān)系把事物緊密聯(lián)系在一起
3.3?圖:圖是事物和關(guān)系的可視化表示
內(nèi)容二:UML模型圖構(gòu)成?
????1、UML事物?
????????UML包含4種事物:構(gòu)件事物、行為事物、分組事物、注釋事物
1.1?構(gòu)件事物?
????概念:UML模型的靜態(tài)部分,描述概念或物理元素。
????包含如下幾種:
????類:具有相同屬性相同操作?相同關(guān)系相同語義的對象的描述(備注:就是在面向?qū)ο箝_發(fā)中類->Class)。
????接口:描述元素的外部可見行為,即服務(wù)集合的定義說明(備注:就是在面向?qū)ο箝_發(fā)中接口->interface)。
????協(xié)作:描述了一組事物間的相互作用的集合
????用例:代表一個系統(tǒng)或系統(tǒng)的一部分行為,是一組動作序列的集合。
????構(gòu)件:系統(tǒng)中物理存在,可替換的部件。
????節(jié)點:運行時存在的物理元素。
????另外,參與者、信號應(yīng)用、文檔庫、頁表等都是上述基本事物的變體。
????注意:我們軟件開發(fā)中更多的是使用類和接口,使用頻率最高。
1.2?行為事物?
????概念:UML模型圖的動態(tài)部分,描述跨越空間和時間的行為。
????包含如下幾種:
????交互:實現(xiàn)某功能的一組構(gòu)件事物之間的消息的集合,涉及消息、動作序列、鏈接。
????狀態(tài)機:描述事物或交互在生命周期內(nèi)響應(yīng)事件所經(jīng)歷狀態(tài)序列。
1.3?分組事物
????????????概念:UML模型圖的組織部分,描述事物的組織結(jié)構(gòu)
????????????包含如下幾種:
????????包:把元素組織成組的機制(備注:類似于Java開發(fā)中的package)。
1.4?注釋事物
????????????概念:UML模型的解釋部分,用來對模型中的元素進行說明,解釋。
????????????包含如下幾種:
????????注解:對元素進行約束或解釋的簡單符號(備注:類似于Java開發(fā)中的注視,每一個語言中都有注釋)。
????2、UML關(guān)系?
????????2.1?依賴關(guān)系:兩個事物之間的語義關(guān)系,其中一個事物(獨立事物)發(fā)生變化,會影響到另一個事物(依賴事物)。
????????2.2?關(guān)聯(lián)關(guān)系:是一種結(jié)構(gòu)關(guān)系,它指明一個事物的對象與另一個事物的對象間的聯(lián)系。
????????2.3?泛化關(guān)系:是一種特殊/一般的關(guān)系。也可以看作是常說的繼承關(guān)系。
????????2.4?實現(xiàn)關(guān)系:是類元之間的語義關(guān)系,其中的一個類元指定了由另一個類元保證執(zhí)行的契約。也就是我們通常所說的Java實現(xiàn)接口(備注:iOS中經(jīng)常說遵循協(xié)議或者實現(xiàn)協(xié)議)。
????3、UML圖?
????????UML圖的種類總共分為8大類
????????3.1?用例圖(Use Case Diagram)
????????????概念:用例圖是從用戶角度描述系統(tǒng)功能,?是用戶所能觀察到的系統(tǒng)功能的模型圖,用例是系統(tǒng)中的一個功能單元。
3.2?類圖(Class Diagram)
????概念:類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖是以類為中心來組織的,類圖中的其他元素或?qū)儆谀硞€類或與類相關(guān)聯(lián)。
3.3?對象圖(Object Diagram)
????概念:對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。他們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。
3.4?順序圖(Sequence Diagram)->又稱時序圖
????概念一:順序圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互。
????概念二:順序圖的一個用途是用來表示用例中的行為順序。當執(zhí)行一個用例行為時,順序圖中的每條消息對應(yīng)了一個類操作或引起狀態(tài)轉(zhuǎn)換的觸發(fā)事件。
????????3.5?協(xié)作圖(Collaboration Diagram)
????概念一:協(xié)作圖描述對象間的協(xié)作關(guān)系,協(xié)作圖跟順序圖?相似,顯示對象間的動態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對象以及它們之間的關(guān)系。
????概念二:協(xié)作圖的一個用途是表示一個類操作的實現(xiàn)。
????????3.6?狀態(tài)圖(State Chart Diagram)
????????????概念:狀態(tài)圖是一個類對象所可能經(jīng)歷的所有歷程的模型圖。狀態(tài)圖由對象的各個狀態(tài)和連接這些狀態(tài)的轉(zhuǎn)換組成。
????????3.7?活動圖(Activity Diagram)
????????????概念一:活動圖是狀態(tài)圖的一個變體,用來描述執(zhí)行算法的工作流程中涉及的活動。
????概念二:活動圖描述了一組順序的或并發(fā)的活動。
3.8?構(gòu)件圖(Component Diagram)
????概念:構(gòu)件圖為系統(tǒng)的構(gòu)件建模型—構(gòu)件即構(gòu)造應(yīng)用的軟件單元—還包括各構(gòu)件之間的依賴關(guān)系,以便通過這些依賴關(guān)系來估計對系統(tǒng)構(gòu)件的修改給系統(tǒng)可能帶來的影響。
????備注:本篇文章基本上都是理論概念,但是希望讀者對這些理論概念有一個初步認識,后續(xù)會對每一個理論概念進行一一分析,并且直接切入當下開發(fā)。歡迎每一位讀者關(guān)注后續(xù)文章更新,同時大家有什么好的建議也可以提出來,我也會不斷優(yōu)化,方便大家學習提升。
Android開發(fā)技術(shù)分享5000人認證群653 9611 28,歡迎各位喜歡Android技術(shù)的同學一起交流學習!