UML-Unified Modeling Language 統(tǒng)一建模語言,又稱標(biāo)準(zhǔn)建模語言。是用來對軟件密集系統(tǒng)進(jìn)行可視化建模的一種語言。UML的定義包括UML語義和UML表示法兩個元素。
UML是在開發(fā)階段,說明、可視化、構(gòu)建和書寫一個面向?qū)ο?/a>軟件密集系統(tǒng)的制品的開放方法。最佳的應(yīng)用是工程實踐,對大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次,已經(jīng)被驗證有效。統(tǒng)一建模語言(UML)是一種模型化語言。模型大多以圖表的方式表現(xiàn)出來。一份典型的建模圖表通常包含幾個塊或框,連接線和作為模型附加信息之用的文本。這些雖簡單卻非常重要,在UML規(guī)則中相互聯(lián)系和擴(kuò)展。
UML標(biāo)準(zhǔn)建模語言中5種主要的類型圖:
1、用例圖:指的是從用戶角度來描述系統(tǒng)功能,并且指明各功能操作者。
2、靜態(tài)圖:包含的是類圖和對象圖。類圖是一種靜態(tài)模型類型,是用來表示類之間的聯(lián)系、類的屬性以及操作,在系統(tǒng)的整個生命周期都是有效的。對象圖則是類圖的一個實例,使用的標(biāo)識幾乎與類圖一致,但是其生命周期有限,只能在系統(tǒng)中某一時間段內(nèi)存在。
3、交互圖:包含的是時序圖和協(xié)作圖,是用來描述對象之間的交互關(guān)系。時序圖強(qiáng)調(diào)的是對象之間的消息發(fā)送順序,是對象之間動態(tài)合作關(guān)系。協(xié)作圖則是用來描述對象之間的協(xié)作關(guān)系,既顯示對象間的動態(tài)合作關(guān)系,又顯示對象以及它們之間的關(guān)系。時序圖用來強(qiáng)調(diào)時間和順序,協(xié)作圖則用來強(qiáng)強(qiáng)調(diào)上下級的關(guān)系。
4、行為圖:包含的是活動圖和狀態(tài)圖,是用來描述系統(tǒng)的動態(tài)模型于組成對象之間的交互關(guān)系。活動圖描述的是為了滿足用例要求所進(jìn)行的活動以及活動間的約束關(guān)系,方便識別并進(jìn)行活動。狀態(tài)圖是類的補(bǔ)充,是用來描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件。
5、實現(xiàn)圖:包含的是部署圖和組件圖。部署圖是用來表示建模系統(tǒng)的物理部署。組件圖則用來表示建模軟件的組織以及其相互之間的關(guān)系。
UML建模時常見的9種圖:
1、用例圖:
用例圖是需求分析的產(chǎn)物,主要是用來描述用戶是如何使用一個系統(tǒng)的,是用戶所能觀察和使用到的系統(tǒng)功能的模型圖。
2、類圖:
UML類圖,是用來描述系統(tǒng)中的類以及各個類之間的關(guān)系。系統(tǒng)中可以有多個類圖,單個類圖則只是表達(dá)了系統(tǒng)的一個方面。類圖可以幫助我們在正確編寫代碼之前對系統(tǒng)有個很全面的認(rèn)識,是建模中最常見的一種類型圖。
3、對象圖:
對象圖描述的是一組對象之間的關(guān)系,而不是類之間的關(guān)系。它是類圖的變體,但是又與之不同,對象顯示的類的多個對象而不是實際的類。
4、活動圖:
UML活動圖,顧名思義就是UML的動態(tài)模型的一種圖形,對于系統(tǒng)的功能建模特別重要。它用來描述滿足用例要求所要進(jìn)行的活動以及活動間的約束關(guān)系,有利于識別并行活動。簡單來講,就是表示在處理某個活動時,兩個或者更多類對象之間的過程控制流。
5、狀態(tài)圖:
UML狀態(tài)圖,用于顯示狀態(tài)機(jī),即描述一個對象所處的可能狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移。用狀態(tài)圖建模可以幫助開發(fā)人員分析復(fù)雜對象的各種狀態(tài)的轉(zhuǎn)換,以及對象何時執(zhí)行怎樣的動作。
6、時序圖:
UML時序圖,又叫序列圖或者順序圖,是一種用來描述對象之間傳送消息的時間順序,是用來表示用例中的行為順序。
7、協(xié)作圖:
UML協(xié)作圖(又叫通信圖)是一種作用于顯示對象之間如何進(jìn)行交互以執(zhí)行特點用例或用例中特點部分行為的交互圖,它強(qiáng)調(diào)的是發(fā)送和接收消息的對象之間的組織結(jié)構(gòu)。
8、組件圖:
UML組件圖(又叫構(gòu)件圖),是用來描述在軟件系統(tǒng)中遵從并實現(xiàn)一組接口的物力的、可替換的軟件模塊。它所表現(xiàn)的是一種系統(tǒng)靜態(tài)實現(xiàn)的結(jié)構(gòu),能夠幫助開發(fā)人員對系統(tǒng)組成達(dá)成一致的認(rèn)識。
9、部署圖:
UML 部署圖是一個用來描述系統(tǒng)的硬件配置和部署以及軟件的構(gòu)件和模塊在不同節(jié)點上分布的模型圖。它能夠幫助系統(tǒng)相關(guān)人員了解系統(tǒng)中各個構(gòu)件部署在什么硬件上以及硬件之間的交互關(guān)系。
UML中的各種圖之間的區(qū)別:
1、各有其側(cè)重點:比如說用例圖側(cè)重于描述用戶的需求,而類圖則側(cè)重于描述系統(tǒng)的具體實現(xiàn)。
2、所描述的方面各不相同:比如類圖是用來描述系統(tǒng)結(jié)構(gòu)的,序列圖則是用來描述系統(tǒng)行為的。
3、抽象的層次也不盡相同:比如頭見圖是用來描述系統(tǒng)的模塊結(jié)構(gòu),抽象層次比較高,而對象圖則用來描述具體的模塊實現(xiàn),抽象層次就比較低。