UML面向?qū)ο笾械膱D及各種圖的作用
本文和大家重點(diǎn)討論一下UML面向?qū)ο笾邪男﹫D及每件圖的作用,UML面向?qū)ο?/span>中是最常用的一種圖,類圖可以幫助我們更直觀的了解一個系統(tǒng)的體系結(jié)構(gòu)。至于其他圖的作用請看本文詳細(xì)介紹。
UML面向?qū)ο笾邪男﹫D及每件圖的作用
UML中包括九種圖:用例圖、類圖、對象圖、狀態(tài)圖、時序圖、協(xié)作圖、活動圖、組件圖、配置圖。
1用例圖(UseCaseDiagram)
它是UML中最簡單也是最復(fù)雜的一種圖。說它簡單是因?yàn)樗捎昧嗣嫦驅(qū)ο蟮乃枷耄质腔谟脩粢暯堑模L制非常容易,簡單的圖形表示讓人一看就懂。說它復(fù)雜是因?yàn)橛美龍D往往不容易控制,要么過于復(fù)雜,要么過于簡單。
用例圖表示了角色和用例以及它們之間的關(guān)系。
2類圖(ClassDiagram)
UML面向?qū)ο笾惺亲畛S玫囊环N圖,類圖可以幫助我們更直觀的了解一個系統(tǒng)的體系結(jié)構(gòu)。通過關(guān)系和類表示的類圖,可以圖形化的方式描述一個系統(tǒng)的設(shè)計部分。
3對象圖
UML面向?qū)ο笾袑ο髨D是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識。它們的不同點(diǎn)在于對象圖顯示類的多個對象實(shí)例,而不是實(shí)例的類。一個對象圖是類圖的一個實(shí)例。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。
4狀態(tài)圖
描述一個實(shí)體基于事件反應(yīng)的動態(tài)行為,顯示了該實(shí)體如何根據(jù)當(dāng)前所處的狀態(tài)對不同的時間做出反應(yīng)的。通常創(chuàng)建一個UML狀態(tài)圖是為了以下的研究目的:研究類、角色、子系統(tǒng)、或組件的復(fù)雜行為。
5時序圖
又稱順序圖,描述了對象之間動態(tài)的交互關(guān)系,著重體現(xiàn)對象間消息傳遞的時間順序。
順序圖由一組對象構(gòu)成,每個對象分別帶有一條豎線,稱作對象的生命線,它代表時間軸,時間沿豎線向下延伸。UML面向?qū)ο笾许樞驁D描述了這些對象隨著時間的推移相互之間交換消息的過程。消息用從一務(wù)垂直的對象生命線指向另一個對象的生命線的水平箭頭表示。圖中還可以根據(jù)需要增加有關(guān)時間的說明和其他注釋。
6協(xié)作圖
UML面向?qū)ο笾袇f(xié)作圖用于顯示組件及其交互關(guān)系的空間組織結(jié)構(gòu),它并不側(cè)重于交互的順序。協(xié)作圖顯示了交互中各個對象之間的組織交互關(guān)系以及對象彼此之間的鏈接。與序列圖不同,協(xié)作圖顯示的是對象之間的關(guān)系。另一方面,協(xié)作圖沒有將時間作為一個單獨(dú)的維度,因此序列號就決定了消息及并發(fā)線程的順序。協(xié)作圖是一個介于符號圖和序列圖之間的交叉產(chǎn)物,它用帶有編號的箭頭來描述特定的方案,以顯示在整個方案過程中消息的移動情況。
協(xié)作圖用途:
通過描繪對象之間消息的移動情況來反映具體的方案。
顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu),而非交互的順序。
7活動圖(ActivityDiagram)
UML面向?qū)ο笾蠻ML活動圖記錄了單個操作或方法的邏輯,單個用戶案例,或者單個業(yè)務(wù)流程的邏輯。描述系統(tǒng)中各種活動的執(zhí)行順序,通常用于描述一個操作中所要進(jìn)行的各項活動的執(zhí)行流程。同時,它也常被用來描述一個用例的處理流程,或者某種交互流程。
活動圖由一些活動組成,圖中同時包括了對這些活動的說明。當(dāng)一個活動執(zhí)行完畢之后,控制將沿著控制轉(zhuǎn)移箭頭轉(zhuǎn)向下一個活動。活動圖中還可以方便地描述控制轉(zhuǎn)移的條件以及并行執(zhí)行等要求。
8組件圖(ComponentDiagram)
組件圖是用來反映代碼的物理結(jié)構(gòu)。從組件圖中,可以了解各軟件組件(如源代碼文件或動態(tài)鏈接庫)之間的編譯器和運(yùn)行時依賴關(guān)系。使用組件圖可以將系統(tǒng)劃分為內(nèi)聚組件并顯示代碼自身的結(jié)構(gòu)。
組件圖的主要目的是顯示系統(tǒng)組件間的結(jié)構(gòu)關(guān)系。
9配置圖
UML面向?qū)ο笾信渲脠D描述系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。
在配置圖中,用結(jié)點(diǎn)表示實(shí)際的物理設(shè)備,如計算機(jī)和各種外部設(shè)備等,并根據(jù)它們之間的連接關(guān)系,將相應(yīng)的結(jié)點(diǎn)連接起來,并說明其連接方式。在結(jié)點(diǎn)里面,說明分配給該結(jié)點(diǎn)上運(yùn)行的可執(zhí)行構(gòu)件或?qū)ο螅瑥亩f明哪些軟件單元被分配在哪些結(jié)點(diǎn)上運(yùn)行。
【編輯推薦】
- 暢談UML面向?qū)ο蟮姆治雠c設(shè)計
- 實(shí)例解析UML面向?qū)ο蠹夹g(shù)
- UML面向?qū)ο蠼榛A(chǔ)的四種常見開發(fā)模式
- 深入剖析UML面向?qū)ο筌浖_發(fā)過程
- 六種UML圖關(guān)系的表示及在代碼中體現(xiàn)