解析UML動態(tài)建模中四種圖
本文和大家重點(diǎn)討論一下UML動態(tài)建模方面的知識,這里主要包括消息,順序圖,狀態(tài)圖,活動圖和協(xié)作圖等內(nèi)容,希望本節(jié)的介紹對你的學(xué)習(xí)有所幫助。下面是UML動態(tài)建模內(nèi)容的詳細(xì)介紹
UML動態(tài)建模
消息
在面向?qū)ο箢I(lǐng)域,兩個對象的交互是通過消息的發(fā)送和接收來完成的。消息分為簡單消息、同步消息和異步消息:
(1)簡單消息:只是表示控制如何從一個對象發(fā)給另一個對象,并不包含控制的細(xì)節(jié);
(2)同步消息:同步意味著阻塞和等待,如果對象A給對象B發(fā)送一個消息,對象A會等待對象B執(zhí)行完這個消息,接著才進(jìn)行自身的工作;
(3)異步消息:異步意味著非阻塞,如果對象A給對象B發(fā)送一個消息,對象A不必等待對象B執(zhí)行完這個消息,就可以接著進(jìn)行自身的工作。
順序圖
UML動態(tài)建模中順序圖(也稱序列圖)是一種交互圖(InteractionDiagram,用于描述執(zhí)行系統(tǒng)功能的各個角色之間相互傳遞消息的順序關(guān)系,顯示跨越多個對象的系統(tǒng)控制流程),強(qiáng)調(diào)的是時間和消息的次序,用來說明系統(tǒng)的動態(tài)情況,順序圖由參與者、對象、對象生命線和消息組成。一個順序圖顯示了一系列的對象(通常是類的實(shí)例,也可以代表其他事物的實(shí)例.
狀態(tài)圖
狀態(tài)圖是UML中的狀態(tài)機(jī)視圖。狀態(tài)機(jī)由對象的各個狀態(tài)和連接這些狀態(tài)的轉(zhuǎn)換組成。每個狀態(tài)對一個對象在其生命期中滿足某種條件的一個時間段建模,當(dāng)一個事件發(fā)生時,它會觸發(fā)狀態(tài)間的轉(zhuǎn)換,導(dǎo)致對象從一種狀態(tài)轉(zhuǎn)化到另一新的狀態(tài)。與轉(zhuǎn)換相關(guān)的活動執(zhí)行時,轉(zhuǎn)換也同時發(fā)生。
UML動態(tài)建模中狀態(tài)圖用于描述對象可以擁有的狀態(tài)以及引起狀態(tài)相互轉(zhuǎn)移的事件和條件,它揭示了對象的生命周期,是針對類的一種建模工具。狀態(tài)是對象前一次操作的結(jié)果,事件是引起狀態(tài)向另一狀態(tài)轉(zhuǎn)化的活動。所有對象都有狀態(tài),但通常只對具有復(fù)雜行為的類建立狀態(tài)圖。狀態(tài)圖強(qiáng)調(diào)的是事件驅(qū)動的對象的動作,這在對反應(yīng)式系統(tǒng)的建模是相當(dāng)重要的。兩個類的狀態(tài)圖之間可以相互發(fā)送消息,一個狀態(tài)還可以有嵌套的子狀態(tài),各子狀態(tài)之間的關(guān)系可以為與/或關(guān)系。
活動圖
UML動態(tài)建模中活動圖用于描述系統(tǒng)、用例、程序模塊中的邏輯流程的先后執(zhí)行次序、并行次序,是對人類組織的現(xiàn)實(shí)世界中的工作流程的建模,有助于理解系統(tǒng)高層活動的執(zhí)行行為。
活動圖中的主要概念是"活動",而"活動"的具體含義又取決于作圖目的和抽象層次:
(1)當(dāng)活動圖用于描述系統(tǒng)行為時,主要側(cè)重于系統(tǒng)多個用例活動之間相互制約的執(zhí)行順序,同時,識別出系統(tǒng)中存在的可以并行進(jìn)行的用例,此時,活動表示系統(tǒng)要完成的任務(wù);
(2)當(dāng)活動圖用于描述用例時,用于描述用例中的操作執(zhí)行次序和操作完成的結(jié)果,顯示多個對象的操作是如何相互結(jié)合起來共同完成用例的一個腳本,揭示出操作之間的并行性,為編碼實(shí)現(xiàn)提供開發(fā)并行程序的便利,此時,活動表示類中的方法,即操作。允許將某個組織或執(zhí)行者要完成的若干操作聚集在泳道中,以明確責(zé)任。
活動圖用于低層次程序模塊的作用類似于流程圖,但活動圖還可以描述并行操作,而流程圖則只能描述串行操作。
協(xié)作圖
與順序圖一樣,協(xié)作圖也是一種交互圖,用于描述對象之間的協(xié)作關(guān)系,其模型元素與序列圖的基本相同,但它側(cè)重于描述對象之間是如何相互連接的,強(qiáng)調(diào)的是發(fā)送和接收消息的對象之間的組織結(jié)構(gòu)。順序圖著重體現(xiàn)對象間消息傳遞的時間順序,協(xié)作圖著重于哪些對象間有消息傳遞,表達(dá)了對象之間的靜態(tài)連接關(guān)系。UML動態(tài)建模中順序圖和協(xié)作圖是同構(gòu)的,它們相互之間可以轉(zhuǎn)化而不損失信息,依靠工具協(xié)作圖和順序圖可互相轉(zhuǎn)換。
用例圖主要用來描述系統(tǒng)的外部行為;類圖和對象圖用來定義類和對象以及它們的屬性和操作;狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉(zhuǎn)移條件;順序圖顯示對象之間的動態(tài)合作關(guān)系,它強(qiáng)調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互;合作圖強(qiáng)調(diào)對象間的動態(tài)合作關(guān)系;活動圖描述滿足用例要求所要進(jìn)行的活動以及活動間的約束關(guān)系,有利于識別并行活動。
【編輯推薦】
- UML輕松入門--UML動態(tài)建模
- 學(xué)習(xí)筆記 解析UML動態(tài)建模機(jī)制
- UML基礎(chǔ) UML構(gòu)件圖簡介
- 名師講解UML動態(tài)建模機(jī)制中消息,狀態(tài)圖和順序圖用法
- 深入剖析UML動態(tài)建模機(jī)制中的四種動態(tài)模型