通往架構(gòu)師之路-軟件工程-UML建模-什么是UML?

閱讀說明:本節(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ù)的同學一起交流學習!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容