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