1、UML的結(jié)構(gòu)
2、構(gòu)造塊
UML構(gòu)造塊是構(gòu)成UML模型的基礎(chǔ)元素,它們共同構(gòu)成了UML的核心。
UML 的三種基本構(gòu)造塊是:
事物:對模型中重要元素的抽象,如類、對象等等關(guān)系:用來連接事物的,如關(guān)聯(lián)關(guān)系、依賴關(guān)系圖:把這些事物和關(guān)系可視化的方式,通過不同的圖能展示系統(tǒng)的不同方面,如類圖、用例圖等
2.1 事物
2.1.1 結(jié)構(gòu)事物
系統(tǒng)的靜態(tài)部分,如類、接口等等
類
類是具有相同屬性、方法、關(guān)系和語義的對象的集合。
接口
接口是指類或構(gòu)件提供特定服務(wù)的一組操作的集合。
協(xié)作
定義了交互的操作。
用例
描述一系列的動作。
活動類
活動類它的對象有一個或多個線程或進(jìn)程。
構(gòu)件
是物理上或可替換的系統(tǒng)部分。
結(jié)點
結(jié)點是一個物理元素,代表一個可計算的資源。
2.1.2 行為事物
關(guān)注動態(tài)行為,代表時間和空間上的動作,行為事物包括:
- 交互(內(nèi)部活動):由一組對象之間在特定上下文中,為達(dá)到特定的目的而進(jìn)行的一系列消息交換而組成的動作狀態(tài)機(jī):由一系列對象的狀態(tài)組成
2.1.3 分組事物
用來組織模型元素,包就是典型的分組事物
2.1.4 注釋事物
給模型元素加說明,即注釋
2.2 關(guān)系
2.2.1 繼承
繼承,也叫泛化,如父類和子類的關(guān)系,子類會繼承父類的特性
2.2.2 實現(xiàn)
接口和實現(xiàn)接口的類之間,類要實現(xiàn)接口定義的方法
2.2.3 依賴
一個元素的變化會影響另一個元素,比如一個類使用了另一個類
2.2.4 關(guān)聯(lián)
兩個或多個元素之間有某種聯(lián)系,比如學(xué)生和課程之間的關(guān)系。關(guān)系又可細(xì)分為:
- 一般關(guān)聯(lián):最常見的連接關(guān)系,如老師和學(xué)生,只是有教學(xué)上的聯(lián)系。聚合關(guān)聯(lián):整體與部分的關(guān)系,拆分后可獨立運行,如班級和學(xué)生,學(xué)生離開了班級還是獨立的個體。組合關(guān)聯(lián):整體與部分的關(guān)系,拆分后不可獨立運行,如人體和器官,器官離開了人體就無法正常發(fā)揮作用。
2.3 圖
UML 2.0 定義了 14 種圖呢,大體上可以分為三類:
- 結(jié)構(gòu)圖行為圖交互圖
注:如果按照靜態(tài)圖和動態(tài)圖的大類劃分,結(jié)構(gòu)圖屬于靜態(tài)圖,行為圖和交互圖都屬于動態(tài)圖。
2.3.1 結(jié)構(gòu)圖
類圖
描述一組類、接口、協(xié)作之間的關(guān)系。在面向?qū)ο笾?,最常見的就是類圖。
對象圖
對象圖是類圖的實例,體現(xiàn)具體對象的靜態(tài)關(guān)系。
包圖
描述由模型本身分解而成的組織單元,用來組織模型元素,讓結(jié)構(gòu)更清晰;
組件圖/構(gòu)件圖
組件圖展示軟件系統(tǒng)的組件和依賴關(guān)系。
部署圖
部署圖描述系統(tǒng)硬件和軟件的部署情況。
制品圖
描述計算機(jī)中一個系統(tǒng)的物理結(jié)構(gòu),像源代碼文件、可執(zhí)行文件、數(shù)據(jù)庫表這些。制品圖通常與部署圖一起使用。
復(fù)合結(jié)構(gòu)圖/組合結(jié)構(gòu)圖
描述結(jié)構(gòu)化類的內(nèi)部結(jié)構(gòu),復(fù)合結(jié)構(gòu)圖能展示系統(tǒng)的組成部分及它們的層級關(guān)系
2.3.2 行為圖
用例圖
像用例圖,能展示系統(tǒng)功能和用戶交互
活動圖
活動圖,用來描述業(yè)務(wù)流程或者算法步驟
狀態(tài)圖
狀態(tài)機(jī)圖,能表現(xiàn)對象在不同狀態(tài)間的轉(zhuǎn)換。
2.3.3 交互圖
順序圖
順序圖按時間順序展示對象間的交互
通信圖
通信圖側(cè)重展示對象間的連接關(guān)系
交互概覽圖
交互概覽圖是順序圖和活動圖的結(jié)合,能宏觀展示交互過程;定時圖主要關(guān)注消息的時間順序和時間約束。
3、公共機(jī)制
標(biāo)準(zhǔn)建模元素之上或之外的細(xì)化、擴(kuò)展。
UML 公共機(jī)制有四種:規(guī)則說明、可修飾通用劃分、擴(kuò)展機(jī)制
3.1 規(guī)則說明
對模型元素的詳細(xì)描述,比如素的含義和用途
3.2 可修飾
類似于給元素加一些注釋或者標(biāo)簽
3.3 通用劃分
對元素進(jìn)行分類整理,比如:
- 類與對象的劃分接口與實現(xiàn)的劃分
3.4 擴(kuò)展機(jī)制
通過擴(kuò)展機(jī)制來自己定義一些新的規(guī)則和元素,包括:
- 約束:添加新的規(guī)則來擴(kuò)展事物的語義構(gòu)造型:定義新的事物標(biāo)記值:添加新的特殊信息來擴(kuò)展事物的規(guī)格說明
4、規(guī)則
命名:為事物、關(guān)系和圖起名字
范圍:使名字具有特定含義的語境
可見性:這些名字如何讓其它成分看見和使用
完整性:事物如何正確、一致的相互聯(lián)系
執(zhí)行:運行或模擬動態(tài)模型的含義是什么
UML 的五個系統(tǒng)視圖分別是:
邏輯視圖:主要關(guān)注系統(tǒng)的功能,用類和接口這些元素來表示進(jìn)程視圖:側(cè)重于系統(tǒng)的并發(fā)和分布情況,能看到系統(tǒng)各個部分是怎么協(xié)作的實現(xiàn)視圖:對組成基于系統(tǒng)的物理代碼的文件和構(gòu)建進(jìn)行建模部署視圖:系統(tǒng)在硬件環(huán)境中的部署方案用例視圖:從用戶的角度出發(fā),描述系統(tǒng)能提供哪些功能
5、總結(jié)
本篇介紹了UML的基礎(chǔ)概念:構(gòu)造塊、公共機(jī)制和規(guī)則。構(gòu)造塊是構(gòu)成UML模型的基礎(chǔ)元素,包括事物、關(guān)系和圖,它們共同構(gòu)成了UML的核心。