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