一個(gè)單一的圖涵蓋所有方面的制度是不夠的,因此,UML 定義了各種圖表覆蓋系統(tǒng)方面。
我們將 UML 中的圖分為兩大類:
結(jié)構(gòu)圖
行為圖
UML 結(jié)構(gòu)圖:
UML 結(jié)構(gòu)圖表示系統(tǒng)的靜態(tài)方面。這些靜態(tài)方面指示,形成的主要結(jié)構(gòu)并因此穩(wěn)定那些部分。
這些靜態(tài)部分是類,接口,對(duì)象,組件和節(jié)點(diǎn)四個(gè)結(jié)構(gòu)圖:
- 類圖
- 對(duì)象圖
- 組件圖
- 部署圖
UML 類圖:
類圖是描述系統(tǒng)中的類,以及各個(gè)類之間的關(guān)系的靜態(tài)視圖,它包括:類、接口、關(guān)聯(lián)和協(xié)作。
類圖能夠讓我們?cè)谡_編寫代碼以前對(duì)系統(tǒng)有一個(gè)全面的認(rèn)識(shí)。
類圖是一種模型類型,確切的說(shuō),是一種靜態(tài)模型類型。
活動(dòng)類在類圖來(lái)表示系統(tǒng)的并發(fā)性。
類圖代表的面向?qū)ο蟮南到y(tǒng)。
UML 對(duì)象圖:
對(duì)象圖與類圖極為相似,它是類圖的實(shí)例,對(duì)象圖顯示類的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類,它描述的不是類之間的關(guān)系,而是對(duì)象之間的關(guān)系。從實(shí)際的角度來(lái)看,它們被用來(lái)建立一個(gè)系統(tǒng)的原型。
UML 組件圖:
組件圖描述代碼構(gòu)件的物理結(jié)構(gòu)以及各種構(gòu)建之間的依賴關(guān)系。
組件圖用來(lái)建模軟件的組件及其相互之間的關(guān)系,這些圖由構(gòu)件標(biāo)記符和構(gòu)件之間的關(guān)系構(gòu)成。
組件圖中,構(gòu)件時(shí)軟件單個(gè)組成部分,它可以是一個(gè)文件,產(chǎn)品、可執(zhí)行文件和腳本等。
在設(shè)計(jì)階段的軟件構(gòu)件(類,接口等)的系統(tǒng)被安排在不同的組,這取決于他們的關(guān)系。這些組被稱為組件。
組件圖用于可視化的實(shí)現(xiàn)。
UML 部署圖:
部署圖是用來(lái)建模系統(tǒng)的物理部署。例如計(jì)算機(jī)和設(shè)備,以及它們之間是如何連接的。
部署圖的使用者是開發(fā)人員、系統(tǒng)集成人員和測(cè)試人員。
部署圖是一組節(jié)點(diǎn)和它們之間的關(guān)系,這些節(jié)點(diǎn)部署這些組件的物理實(shí)體。
部署圖用于可視化系統(tǒng)的部署視圖。
注: 如果上述描述和用法仔細(xì)觀察,這是很清楚的,所有的圖表都彼此有某種關(guān)系。組件圖是依賴的類,接口等類/對(duì)象圖的一部分。再次部署圖是取決于使用的組件,這些組件,以使一個(gè)組件圖。
UML 行為圖:
任何系統(tǒng)都可以有兩個(gè)方面,靜態(tài)和動(dòng)態(tài)。因此,一個(gè)模型被認(rèn)為是完成時(shí),這兩個(gè)方面都完全覆蓋。
行為圖基本上捕捉系統(tǒng)的動(dòng)態(tài)方面。動(dòng)態(tài)方面可以進(jìn)一步改變/移動(dòng)系統(tǒng)的一部分。
UML具有以下五種行為圖:
- 用例圖
- 序列圖
- 協(xié)作圖
- 狀態(tài)圖
- 活動(dòng)圖
UML 用例圖:
用例圖描述角色以及角色與用例之間的連接關(guān)系。說(shuō)明的是誰(shuí)要使用系統(tǒng),以及他們使用該系統(tǒng)可以做些什么。
一個(gè)用例圖包含了多個(gè)模型元素,如系統(tǒng)、參與者和用例,并且顯示了這些元素之間的各種關(guān)系,如泛化、關(guān)聯(lián)和依賴。
因此,用例圖是用來(lái)描述的功能之間的關(guān)系和他們的內(nèi)部/外部控制器,這些控制器是已知的參與者。
UML 序列圖:
序列圖是一種交互圖。
序列圖是用來(lái)顯示你的參與者如何以一系列順序的步驟與系統(tǒng)的對(duì)象交互的模型。
序列圖可以用來(lái)展示對(duì)象之間是如何進(jìn)行交互的。
序列圖將顯示的重點(diǎn)放在消息序列上,即強(qiáng)調(diào)消息是如何在對(duì)象之間被發(fā)送和接收的。
從實(shí)施和執(zhí)行的角度來(lái)看是非常重要的系統(tǒng)組件之間的交互。
因此,在一個(gè)系統(tǒng)中執(zhí)行一個(gè)特定的功能的調(diào)用序列的序列圖是用于可視化。
UML 協(xié)作圖:
協(xié)作圖和序列圖相似,是另一種形式的交互圖;如果強(qiáng)調(diào)時(shí)間和順序,則使用序列圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則選擇協(xié)作圖。
協(xié)作圖代表了一個(gè)系統(tǒng)的組織結(jié)構(gòu)和發(fā)送/接收的消息。組織結(jié)構(gòu)由對(duì)象和鏈接。
協(xié)作圖的目的是類似的序列圖。但是,協(xié)作圖的具體目的是可視化的組織對(duì)象及其相互作用。
UML 狀態(tài)圖:
狀態(tài)圖描述類的對(duì)象所有可能的狀態(tài),以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。
狀態(tài)圖可以捕獲對(duì)象、子系統(tǒng)和系統(tǒng)的生命周期。他們可以告知一個(gè)對(duì)象可以擁有的狀態(tài),并且事件(如消息的接收、時(shí)間的流逝、錯(cuò)誤、條件變?yōu)檎娴?會(huì)怎么隨著時(shí)間的推移來(lái)影響這些狀態(tài)。
狀態(tài)圖是用來(lái)表示的事件驅(qū)動(dòng)的系統(tǒng)狀態(tài)的變化。它基本上描述了類,接口狀態(tài)變化等
狀態(tài)圖是用于可視化的反應(yīng)系統(tǒng)內(nèi)部/外部因素。
UML 活動(dòng)圖:
活動(dòng)圖描述了在一個(gè)系統(tǒng)中的控制流。
活動(dòng)圖描述用例要求所要進(jìn)行的活動(dòng),以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。
活動(dòng)圖能夠演示出系統(tǒng)中哪些地方存在功能,以及這些功能和系統(tǒng)中其他組件的功能如何共同滿足前面使用用例圖建模的商務(wù)需求。
活動(dòng)圖用于可視化的流量控制在一個(gè)系統(tǒng)中。這是準(zhǔn)備系統(tǒng)將如何工作,在執(zhí)行時(shí)有一個(gè)想法。
注: 在一個(gè)系統(tǒng)中很難捕捉到動(dòng)態(tài)性質(zhì),而 UML 已經(jīng)提供從不同的角度捕捉到動(dòng)態(tài)系統(tǒng)的功能。序列圖和協(xié)作圖是同構(gòu)的,它們之間的轉(zhuǎn)換不會(huì)丟失任何信息。
更多建議: