UML了解一下

  • UML(United Modeling Language, 統(tǒng)?建模語(yǔ)?): 是?種基于?向?qū)ο蟮目梢暬UZ(yǔ)?.
  • UML中一共有10種圖


    image.png
UML中的關(guān)系
  • 關(guān)聯(lián)關(guān)系
  • 依賴關(guān)系
  • 泛化關(guān)系
  • 實(shí)現(xiàn)關(guān)系

用例圖

(1)用例圖(use case Diagram):也稱為用戶模型抱慌,是從軟件需求到最終實(shí)現(xiàn)到第一步套么,它是從客戶到角度來(lái)描述系統(tǒng)功能啦膜。
(2)用例圖包含3個(gè)基本組件

  • a 參與者(Actor)與系統(tǒng)打交道的人或其他系統(tǒng)即使用該系統(tǒng) 的人或事
    物. 在 UML 中參與者用人形圖標(biāo)表示
  • b (use case)代表系統(tǒng)的某項(xiàng)完整的功能. 在 UML 中使 用一個(gè)橢
    圓來(lái)表示
  • c 定義用例之間的關(guān)系 ------ 泛化關(guān)系, 擴(kuò)展關(guān)系, 包含關(guān)系
例圖
image.png

用例圖之前的關(guān)系

1 泛化關(guān)系:

表示同一業(yè)務(wù)目的(父用例)的不同技術(shù)實(shí)現(xiàn)(各個(gè)子用例). 在
UML 中, 用例泛化用一個(gè)三角箭頭從子用例指向父用例. 以下是某購(gòu)物網(wǎng)站為
用戶提供不同的支付方式


image.png

image.png
2 包含關(guān)系

的一部分. 在 UML 中包含關(guān)系用虛線箭頭加 “<<include>>”, 箭頭指向被包
含的用例


image.png
3 拓展關(guān)系

如果在完成某個(gè)功能的時(shí)候偶爾會(huì)執(zhí)?另外?個(gè)功能, 則?擴(kuò)展關(guān)系表?. 在 UML 中擴(kuò)展關(guān)系?虛線箭頭加 “<<extend>>”, 箭頭指向被擴(kuò)展的?例


image.png

類圖

類圖是面向?qū)ο笙到y(tǒng)建模中最常用的圖. 是定義其他圖的基礎(chǔ).
類圖主要是用來(lái)顯示系統(tǒng)中的類, 接口以及它們之間的關(guān)系.
類圖包含的主要元素有類, 接口和關(guān)系. 其中關(guān)系有泛化關(guān)系,關(guān)聯(lián)關(guān)系,
依賴關(guān)系和實(shí)現(xiàn)關(guān)系. 在類圖中也可以包含注釋和約束.

類的表示法
  1. 類是類圖的主要組件, 由 3 部分組成: 類名, 屬性和方法. 在 UML 中, 類
    用矩形來(lái)表示, 頂端部分存放類的名稱, 中間部分存放類的屬性, 屬性的類型及
    值, 底部部分存放類的方法, 方法的參數(shù)和返回
    2.在 UML 中可以根據(jù)實(shí)際情況有選擇的隱藏屬性部分或方法部分或兩者
    都隱藏
    3.在 UML 中, 共有類型有 + 表示, 私有類型用 – 表示, 保護(hù)類型用 # 表示.
    UML 的工具開(kāi)發(fā)商可以使用自己定義的符號(hào)表示不同的可見(jiàn)性


    image.png
類之間的關(guān)系
  • 泛化關(guān)系
  1. 在 UML 中, 泛化關(guān)系?來(lái)表?類與類, 接?與接?之間的繼承關(guān)系. 泛化關(guān)系有時(shí)也稱為”is a kind of”關(guān)系
  2. 在 UML 中泛化關(guān)系用一條實(shí)線空心箭頭有子類指向父類


    image.png
  • 實(shí)現(xiàn)關(guān)系
    在 UML 中, 實(shí)現(xiàn)關(guān)系用來(lái)表示類與接口之間的實(shí)現(xiàn)關(guān)系.
    在 UML 中實(shí)現(xiàn)關(guān)系用一條虛線空心箭頭由子類指向父類


    image.png
  • 依賴關(guān)系
    對(duì)于兩個(gè)相對(duì)獨(dú)立的系統(tǒng)众雷,當(dāng)一個(gè)系統(tǒng)負(fù)責(zé)構(gòu)造另一個(gè)系統(tǒng)的實(shí)例鸽斟,或
    者依賴另一個(gè)系統(tǒng)的服務(wù)時(shí),這兩個(gè)系統(tǒng)之間體現(xiàn)為依賴關(guān)系. 例如生產(chǎn)零件
    的機(jī)器和零件焚碌,機(jī)器負(fù)責(zé)構(gòu)造零件對(duì)象; 充電電池和充電器垃僚,充電電池通過(guò)充
    電器來(lái)充電;自行車Bicycle和打氣筒Pump,自行車通過(guò)打氣筒來(lái)充氣


    image.png
  • 關(guān)聯(lián)關(guān)系
    對(duì)于兩個(gè)相對(duì)獨(dú)立的系統(tǒng)错妖,當(dāng)一個(gè)系統(tǒng)的實(shí)例與另一個(gè)系統(tǒng)的一些特定
    實(shí)例存在固定的對(duì)應(yīng)關(guān)系時(shí)绿鸣,這兩個(gè)系統(tǒng)之間為關(guān)聯(lián)關(guān)系。例如客戶和訂單暂氯,
    每個(gè)訂單對(duì)應(yīng)特定的客戶潮模,每個(gè)客戶對(duì)應(yīng)一些特定的訂單;公司和員工痴施,每個(gè)
    公司對(duì)應(yīng)一些特定的員工擎厢,每個(gè)員工對(duì)應(yīng)一特定的公司;自行車和主人辣吃,每輛
    自行車屬于特定的主人动遭,每個(gè)主人有特定的自行車。而充電電池和充電器之間
    就不存在固定的對(duì)應(yīng)關(guān)系神得,同樣自行車和打氣筒之間也不存在固定的對(duì)應(yīng)關(guān)系厘惦。


    image.png
關(guān)聯(lián)關(guān)系的名稱

(關(guān)聯(lián)關(guān)系的名稱: 關(guān)聯(lián)關(guān)系可以有一個(gè)名稱, 用于描述該關(guān)系的性質(zhì). 此關(guān)聯(lián)名稱應(yīng)該是動(dòng)詞短語(yǔ), 因?yàn)樗砻髟磳?duì)象正在目標(biāo)對(duì)象上執(zhí)行動(dòng)作.)


image.png
關(guān)聯(lián)關(guān)系的角色

(當(dāng)一個(gè)類處于關(guān)聯(lián)的某一端時(shí), 該類就在這個(gè)關(guān)系中扮演一個(gè)特定的角色.
具體來(lái)說(shuō), 角色就是關(guān)聯(lián)關(guān)系中一個(gè)類對(duì)另一個(gè)類所表現(xiàn)的職責(zé). 角色名稱是名
詞或名稱短語(yǔ).)


image.png
關(guān)聯(lián)關(guān)系的多重性

關(guān)聯(lián)關(guān)系的多重性是指有多少對(duì)象可以參與該關(guān)聯(lián), 多重性可以?來(lái)表達(dá)?個(gè)取值范圍, 特定值, ?限定的范圍.


image.png
類之間的關(guān)系—關(guān)聯(lián)—聚合
  1. 聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是更強(qiáng)的關(guān)聯(lián)關(guān)系哩簿。
  2. 聚合是整體和部分之間的關(guān)系宵蕉,例如汽車由引擎、輪胎以及其它零件組成节榜。
  3. 聚合關(guān)系也是通過(guò)成員變量來(lái)實(shí)現(xiàn)的羡玛。但是,關(guān)聯(lián)關(guān)系所涉及的兩個(gè)類處在
    同一個(gè)層次上宗苍,而聚合關(guān)系中稼稿,兩個(gè)類處于不同的層次上亿遂,一個(gè)代表整體,一
    個(gè)代表部分渺杉。


    image.png
類之間的關(guān)系—關(guān)聯(lián)—組合
  1. UML類圖關(guān)系中合成關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強(qiáng)的關(guān)系挪钓。
  2. 代表整體的對(duì)象負(fù)責(zé)代表部分對(duì)象的生命周期是越。


    image.png

對(duì)象圖

  1. 對(duì)象圖是類圖的一個(gè)實(shí)例, 用于顯示系統(tǒng)執(zhí)行時(shí)的一個(gè)可能的快照. 即
    在某一個(gè)時(shí)間上系統(tǒng)可能出現(xiàn)的樣子. 對(duì)象圖用帶下劃線的對(duì)象名稱來(lái)表示對(duì)象.
  2. 表現(xiàn)對(duì)象的特征
  3. 對(duì)象圖展現(xiàn)了多個(gè)對(duì)象的特征及對(duì)象之間的交互


    image.png

時(shí)序圖

  1. 時(shí)序圖用于描述對(duì)象之間的傳遞消息的時(shí)間順序, 即用例中的行為順序.
  2. 當(dāng)執(zhí)行一個(gè)用例時(shí), 時(shí)序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或者引起轉(zhuǎn)換的
    觸發(fā)事件.
  3. 在 UML 中, 時(shí)序圖表示為一個(gè)二維的關(guān)系圖, 其中, 縱軸是時(shí)間軸, 時(shí)間延豎
    線向下延伸. 橫軸代表在協(xié)作中各個(gè)獨(dú)立的對(duì)象. 當(dāng)對(duì)象存在時(shí), 生命線用一條
    虛線表示, 消息用從一個(gè)對(duì)象的生命線到另一個(gè)對(duì)象的生命線的箭頭表示. 箭頭
    以時(shí)間的順序在圖中上下排列.
時(shí)序圖中的基本概念
  • 對(duì)象:
    時(shí)序圖中對(duì)象使用矩形表示, 并且對(duì)象名稱下有下劃線. 將對(duì)象置于
    時(shí)序圖的頂部說(shuō)明在交互開(kāi)始時(shí)對(duì)象就已經(jīng)存在了. 如果對(duì)象的位置不在頂部,
    表示對(duì)象是在交互的過(guò)程中被創(chuàng)建的.
  • 生命線:
    生命線是一條垂直的虛線. 表示時(shí)序圖中的對(duì)象在一段生命周期
    內(nèi)的存在. 每個(gè)對(duì)象底部中心的位置都帶有生命線.
  • 消息:
    兩個(gè)對(duì)象之間的單路通信. 從發(fā)送方指向接收方. 在時(shí)序圖中很少使
    用返回消息.
  • 激活:
    時(shí)序圖可以描述對(duì)象的激活和鈍化. 激活表示該對(duì)象被占用已完成
    某個(gè)任務(wù). 鈍化指對(duì)象處于空閑狀態(tài), 等待消息. 在 UML 中, 對(duì)象的激活時(shí)將對(duì)
    象的生命線拓寬為矩形來(lái)表示的. 矩形稱為計(jì)劃條或控制期. 對(duì)象就是在激活條
    的頂部被激活的. 對(duì)象在完成自己的工作后被鈍化.
  • 對(duì)象的創(chuàng)建和銷毀:
    在時(shí)序圖中, 對(duì)象的默認(rèn)位置是在圖的頂部. 這說(shuō)明對(duì)
    象在交互開(kāi)始之前就已經(jīng)存在了. 如果對(duì)象是在交互過(guò)程中創(chuàng)建的, 那么就應(yīng)該
    將對(duì)象放到中間部分. 如果要撤銷一個(gè)對(duì)象, 在其生命線終止點(diǎn)處放置 “ X” 符號(hào).


    image.png

活動(dòng)圖

在 UML 中, 活動(dòng)圖本質(zhì)上就是流程圖. 它用于描述系統(tǒng)的活動(dòng), 判定點(diǎn)和
分支等.

  • 活動(dòng)圖中的基本概念
  • 動(dòng)作狀態(tài):
    原子的, 不可中斷的動(dòng)作, 并在此動(dòng)作完成之后向另一個(gè)動(dòng)作轉(zhuǎn)變. 在 UML 中動(dòng)作狀態(tài)用圓角矩形表示, 動(dòng)作狀態(tài)所表示的動(dòng)作寫在圓角矩形內(nèi)部
  • 分支與合并:
    分支在軟件系統(tǒng)中很常見(jiàn). 一般用于表示對(duì)象類所具有的條件行為. 用一個(gè)布爾型表達(dá)式的真假來(lái)判定動(dòng)作的流向. 條件行為用分支和合并表達(dá).在活動(dòng)圖中, 分支用空心小菱形表示. 分支包括一個(gè)入轉(zhuǎn)換和兩個(gè)帶條件的出轉(zhuǎn)換, 出轉(zhuǎn)換的條件應(yīng)該是互斥的, 須保證只有一條出轉(zhuǎn)換能夠被觸發(fā). 合并包含兩個(gè)帶條件的入轉(zhuǎn)換和一個(gè)出轉(zhuǎn)換.
  • 分叉與匯合:
    分叉用來(lái)描述并發(fā)線程, 每個(gè)分叉可以有一個(gè)輸入轉(zhuǎn)換和兩個(gè)或多個(gè)輸出轉(zhuǎn)換. 每個(gè)轉(zhuǎn)換都可以是獨(dú)立的控制流. 匯合代表兩個(gè)或多個(gè)并發(fā)控制流同步發(fā)生, 當(dāng)所有的控制流都達(dá)到匯合點(diǎn)后, 控制才能繼續(xù)往下進(jìn)行. 每個(gè)匯合可以有兩個(gè)或多個(gè)輸入轉(zhuǎn)換和一個(gè)輸出轉(zhuǎn)換. 在 UML 中分叉和匯合用一條粗直線表示
  • 泳道:
    泳道將活動(dòng)圖中的活動(dòng)劃分為若干組, 并將每一組指定給負(fù)責(zé)這組
    活動(dòng)的業(yè)務(wù)組織. 泳道區(qū)分負(fù)責(zé)活動(dòng)的對(duì)象, 明確地表示哪些活動(dòng)是由哪些對(duì)象
    進(jìn)行的. 每個(gè)活動(dòng)指定明確地屬于一個(gè)泳道. 在活動(dòng)圖中, 泳道用垂直實(shí)線繪出,
    垂直線分隔的區(qū)域即為泳道


    image.png

狀態(tài)圖

  • 狀態(tài):
    用圓角矩形表示. 狀態(tài)名稱表示狀態(tài)的名字, 通常用字符串表示. 一
    個(gè)狀態(tài)的名稱在狀態(tài)圖所在的上下文中應(yīng)該是唯一的.
  • 轉(zhuǎn)換:
    用帶箭頭的直線表示. 一端連著源狀態(tài), 一端連著目標(biāo)狀態(tài).
  • 初始狀態(tài):
    每個(gè)狀態(tài)圖都有一個(gè)初始狀態(tài). 此狀態(tài)代表狀態(tài)圖的起始位置. 初始狀態(tài)只能作為轉(zhuǎn)換的源, 不能作為轉(zhuǎn)換的目標(biāo), 并且在狀態(tài)圖中只能有一個(gè). 初始狀態(tài)用一個(gè)實(shí)心圓表示.
  • 終止?fàn)顟B(tài):
    模型元素的最后狀態(tài), 是一個(gè)狀態(tài)圖的終止點(diǎn). 終止?fàn)顟B(tài)在一個(gè)狀態(tài)圖中可以有多個(gè).

協(xié)作圖

  1. 協(xié)作圖(也叫合作圖)是一種交互圖.
  2. 時(shí)序圖主要側(cè)重于對(duì)象間消息傳遞在時(shí)間上的先后關(guān)系, 而協(xié)作圖表達(dá)
    對(duì)象間的交互過(guò)程及對(duì)象間的關(guān)聯(lián)關(guān)系。


    image.png

包圖

  • 包圖:
    由包和包之間的關(guān)系組成. 包的圖標(biāo)就如同一個(gè)帶標(biāo)簽的文件夾.
    包提供了一種用于組織各種元素的分組機(jī)制. 在 UML 中, 包用來(lái)對(duì)元素進(jìn)
    行分組, 并為這些元素提供命名空間. 包所擁有的或者引用的所有元素稱為包
    的內(nèi)容, 包沒(méi)有實(shí)例.


    image.png

組件圖

組件圖用來(lái)建立系統(tǒng)中各組件之間的關(guān)系, 各組件通過(guò)功能組織在一起.
Javabean, ejb, jsp 都是組件碌上。在UML中倚评,組件使用在左側(cè)有兩個(gè)小矩形的大矩形來(lái)表示。 組件圖可以用來(lái)設(shè)計(jì)系統(tǒng)的整體構(gòu)架馏予。


image.png

部署圖簡(jiǎn)介

部署圖用來(lái)幫助開(kāi)發(fā)者了解軟件中的各個(gè)組件駐留在什么硬件位置, 以及
這些硬件之間的交互關(guān)系天梧。
節(jié)點(diǎn): 用來(lái)表示一種硬件, 可以是打印機(jī), 計(jì)算機(jī)等.節(jié)點(diǎn)的標(biāo)記符號(hào)是一
個(gè)三維框,在框的左上方包含了節(jié)點(diǎn)的名稱霞丧。
通信關(guān)聯(lián): 節(jié)點(diǎn)通過(guò)通信關(guān)聯(lián)建立彼此的關(guān)系呢岗,采用從節(jié)點(diǎn)到節(jié)點(diǎn)繪制實(shí)
線來(lái)表示關(guān)聯(lián)。

image.png

start UML下載鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蛹尝,一起剝皮案震驚了整個(gè)濱河市后豫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌突那,老刑警劉巖挫酿,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異愕难,居然都是意外死亡早龟,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門猫缭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)葱弟,“玉大人,你說(shuō)我怎么就攤上這事饵骨∏滔ぃ” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵居触,是天一觀的道長(zhǎng)妖混。 經(jīng)常有香客問(wèn)我,道長(zhǎng)轮洋,這世上最難降的妖魔是什么制市? 我笑而不...
    開(kāi)封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮弊予,結(jié)果婚禮上祥楣,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好误褪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布责鳍。 她就那樣靜靜地躺著,像睡著了一般兽间。 火紅的嫁衣襯著肌膚如雪历葛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天嘀略,我揣著相機(jī)與錄音恤溶,去河邊找鬼。 笑死帜羊,一個(gè)胖子當(dāng)著我的面吹牛咒程,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讼育,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼帐姻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了窥淆?” 一聲冷哼從身側(cè)響起卖宠,我...
    開(kāi)封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎忧饭,沒(méi)想到半個(gè)月后扛伍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡词裤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年刺洒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吼砂。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逆航,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出渔肩,到底是詐尸還是另有隱情因俐,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布周偎,位于F島的核電站抹剩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蓉坎。R本人自食惡果不足惜澳眷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛉艾。 院中可真熱鬧钳踊,春花似錦衷敌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至祭埂,卻和暖如春瞒爬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沟堡。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矢空,地道東北人航罗。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屁药,于是被迫代替她去往敵國(guó)和親粥血。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • UML 的定義 統(tǒng)一建模語(yǔ)言(Unified Modeling Language酿箭,UML)是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)...
    WEIJAVA閱讀 1,888評(píng)論 0 2
  • UML的歷史 面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOA&OOD)方法的發(fā)展在20世紀(jì)80年代中出現(xiàn)了一個(gè)高潮复亏,UML就是這個(gè)高...
    oneape15閱讀 2,501評(píng)論 0 16
  • UML概述 UML簡(jiǎn)介 UML (Unified Modeling Language)為面向?qū)ο筌浖O(shè)計(jì)提供統(tǒng)一的...
    aron1992閱讀 516評(píng)論 0 0
  • 本文原創(chuàng):haorongrong 前言 最近在梳理項(xiàng)目,用到了UML缭嫡, 對(duì)于這個(gè)工具可能有的人聽(tīng)過(guò)缔御,或者有的人用過(guò)...
    jad_design閱讀 815評(píng)論 0 2
  • 痛感 痛的人活著 活著才知道痛 流血的痛 留下平復(fù)的疤痕 流淚的痛 灼傷掙扎的靈魂 有的忘了疤痕 有人守著痛的靈魂...
    馬長(zhǎng)軍閱讀 148評(píng)論 0 0