UML動態建模機制中合作圖和活動圖用法解析

2020-12-12 51CTO

本文和大家重點討論一下UML動態建模機制中的合作圖和活動圖,合作圖(CollaborationDiagram)用於描述相互合作的對象間的交互關係和連結關係,而活動圖的應用非常廣泛,它既可用來描述操作(類的方法)的行為,也可以描述用例和對象內部的工作過程。

 1.合作圖

UML動態建模中合作圖(CollaborationDiagram)用於描述相互合作的對象間的交互關係和連結關係。雖然順序圖和合作圖都用來描述對象間的交互關係,但側重點不一樣。順序圖著重體現交互的時間順序,合作圖則著重體現交互對象間的靜態連結關係。

合作圖中對象的外觀與順序圖中的一樣。如果一個對象在消息的交互中被創建,則可在對象名稱之後標以{new}。類似地,如果一個對象在交互期間被刪除,則可在對象名稱之後標以{destroy}。對象間的連結關係類似於類圖中的聯繫(但無多重性標誌)。通過在對象間的連結上標誌帶有消息串的消息(簡單、異步或同步消息)來表達對象間的消息傳遞。

 (1)連結 連結用於表示對象間的各種關係,包括組成關係的連結(CompositionLink)、聚集關係的連結(AggregationLink)、限定關係的連結(QualifiedLink)以及導航連結(NavigationLink)。各種連結關係與類圖中的定義相同,在連結的端點位置可以顯示對象的角色名和模板信息。

 (2)消息流 在合作圖的連結線上,可以用帶有消息串的消息來描述對象間的交互。消息的箭頭指明消息的流動方向。消息串說明要發送的消息、消息的參數、消息的返回值以及消息的序列號等信息。

2.活動圖(ActivityDiagram)

活動圖的應用非常廣泛,它既可用來描述操作(類的方法)的行為,也可以描述用例和對象內部的工作過程。UML動態建模中活動圖是由狀態圖變化而來的,它們各自用於不同的目的。活動圖依據對象狀態的變化來捕獲動作(將要執行的工作或活動)與動作的結果。活動圖中一個活動結束後將立即進入下一個活動(在狀態圖中狀態的變遷可能需要事件的觸發)。圖1給出了一個活動圖的例子。

  活動和轉移

一項操作可以描述為一系列相關的活動。活動僅有一個起始點,但可以有多個結束點。UML動態建模中活動間的轉移允許帶有guard-condition、send-clause和action-expression,其語法與狀態圖中定義的相同。一個活動可以順序地跟在另一個活動之後,這是簡單的順序關係。如果在活動圖中使用一個菱形的判斷標誌,則可以表達條件關係(見圖1),判斷標誌可以有多個輸入和輸出轉移,但在活動的運作中僅觸發其中的一個輸出轉移。

活動圖對表示並發行為也很有用。在活動圖中,使用一個稱為同步條的水平粗線可以將一條轉移分為多個並發執行的分支,或將多個轉移合為一條轉移。此時,只有輸入的轉移全部有效,同步條才會觸發轉移,進而執行後面的活動,如圖2所示。
 

泳道

UML動態建模中活動圖告訴你發生了什麼,但沒有告訴你該項活動由誰來完成。在程序設計中,這意味著活動圖沒有描述出各個活動由哪個類來完成。泳道解決了這一問題。它將活動圖的邏輯描述與順序圖、合作圖的責任描述結合起來。如圖2所示,泳道用矩形框來表示,屬於某個泳道的活動放在該矩形框內,將對象名放在矩形框的頂部,表示泳道中的活動由該對象負責。

對象

在活動圖中可以出現對象。對象可以作為活動的輸入或輸出,對象與活動間的輸入/輸出關係由虛線箭頭來表示。如果僅表示對象受到某一活動的影響,則可用不帶箭頭的虛線來連接對象與活動,如圖2所示。

信號

如圖3所示,在活動圖中可以表示信號的發送與接收,分別用發送和接收標誌來表示。發送和接收標誌也可與對象相連,用於表示消息的發送者和接收者。

3.UML動態建模中四種圖的運用

上面對UML中用於描述系統動態行為的四個圖(狀態圖、順序圖、合作圖和活動圖)做了簡單地介紹。這四個圖均可用於系統的動態建模,但它們各自的側重點不同,分別用於不同的目的。下面對如何正確使用這幾個圖做一簡單的總結,在實際的建模過程中要根據具體情況靈活運用這些建議。

首先,不要對系統中的每個類都畫狀態圖。儘管這樣做很***,但太浪費精力,其實你可能只關心某些類的行為。正確的做法是:為幫助理解類而畫它的狀態圖。狀態圖描述跨越多個用例的單個對象的行為,而不適合描述多個對象間的行為合作。為此,常將狀態圖與其它技術(如順序圖、合作圖和活動圖)組合使用。

順序圖和合作圖適合描述單個用例中幾個對象的行為。其中順序圖突出對象間交互的順序,而合作圖的布局方法能更清楚地表示出對象之間靜態的連接關係。當行為較為簡單時,順序圖和合作圖是***的選擇。但當行為比變複雜時,這兩個圖將失去其清晰度。因此,如果想顯示跨越多用例或多線程的複雜行為,可考慮使用活動圖。另外,順序圖和合作圖僅適合描述對象之間的合作關係,而不適合對行為進行精確定義,如果想描述跨越多個用例的單個對象的行為,應當使用狀態圖。

【編輯推薦】

  1. 解析UML動態建模中消息 狀態圖和順序圖
  2. UML輕鬆入門--UML動態建模
  3. 深入剖析PowerDesigner UML建模
  4. UML動態建模中合作圖和活動圖解析
  5. 深入剖析UML動態建模機制中的四種動態模型

【責任編輯:

程華權

TEL:(010)68476606】

點讚 0

相關焦點

  • 術語彙編 解析UML動態建模機制
    本文和大家重點討論一下UML動態建模機制的概念,UML動態建模語言以靜態建模機制為基礎,用例間存在兩種關係:當一個用例與另一個用例相似,但所做的動作多一些,就可以用到擴展關係;當有一大塊相似的動作存在於幾個用例,又不想重複描述該動作時,就可以用到使用關係。
  • 解析UML動態建模中消息 狀態圖和順序圖
    本文和大家 重點討論一下UML動態建模機制問題,主要包括消息,狀態圖和順序圖等內容,希望通過本文的學習你對UML動態建模機制有一定的認識。首先看一下消息的概念。1.消息在面向對象技術中,對象間的交互是通過對象間消息的傳遞來完成的。
  • 解析UML的動態建模機制
    另外,在很多算法中,遞歸是一種很重要的技術。當一個操作直接或間接調用自身時,即發生了遞歸。產生遞歸的消息總是同步消息,返回消息應是一個簡單消息。 4.合作圖合作圖(Collaboration Diagram)用於描述相互合作的對象間的交互關係和連結關係。雖然順序圖和合作圖都用來描述對象間的交互關係,但側重點不一樣。
  • 深入剖析統一建模語言UML中的五類圖
    第二類是靜態圖(Staticdiagram),包括類圖、對象圖和包圖。其中類圖描述系統中類的靜態結構。不僅定義系統中的類,表示類之間的聯繫如關聯、依賴、聚合等,也包括類的內部結構(類的屬性和操作)。類圖描述的是一種靜態關係,在系統的整個生命周期都是有效的。對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。他們的不同點在於對象圖顯示類的多個對象實例,而不是實際的類。
  • 實例介紹UML時序圖用法
    UML的基本原理UML建模機制描述UML有靜態和動態兩種分析方法和建模機制。靜態建模分析主要通過類圖、對象圖、用例圖等來描述,一般用於系統的核心模塊設計;動態建模通過合作圖、狀態圖、活動圖、UML時序圖來表述,可以用來描述系統對象間的關係模式。
  • 解析UML順序圖通用規則
    解析UML順序圖通用規則 UML順序圖你是否熟悉,本文就向大家介紹一下,UML順序圖是將交互關係表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。
  • 軟考備考之UML九種建模圖
    UML九種建模圖:用例圖、類圖、對象圖、順序圖、協作圖、狀態圖、活動圖、組件圖、配置圖。又可以靜動分為靜態視圖和動態視圖。靜態圖分為:用例圖,類圖,對象圖,包圖,構件圖,部署圖。動態圖分為:狀態圖,活動圖,協作圖,序列圖。
  • 全面認識九種基本的UML模型圖
    本文和大家重點討論一下UML模型圖的概念,標準建模語言UML定義了下列5類、共9種模型圖,每種模型圖都有各自的特點,相互之間也有一定的聯繫。具體內容請看本文詳細介紹。九種基本的UML模型圖從考察系統的不同角度出發,UML定義了不同的模型圖。
  • UML建模中的9種圖
    其中在第一步與第二步中所建立的模型都是靜態的,包括用例圖、類圖、對象圖、組件圖和部署圖等5種圖形,是標準建模語言UML的靜態建模機制。其中第三步中所建立的模型或者可以執行,或者表示執行時的時序狀態或交互關係。它包括狀態圖、活動圖、時序圖和協作圖等4種圖形,是標準建模語言UML的動態建模機制。
  • 兩大開源UML建模工具UMLet和ArgoUML用法解析
    兩大開源UML建模工具UMLet和ArgoUML用法解析 UML建模工具大家應該比較熟悉了,那麼開源UML建模工具你是否了解,本文就向大家介紹兩款開源UML建模工具:UMLet和ArgoUML,希望本文的介紹對你的學習有所幫助。
  • UML編程技巧 UML建模工具Rose解析
    由視圖view,圖diagram,模型元素modelelement和通用機制generalmechanism等幾個部分組成.視圖是表達系統的某一方面特徵的UML建模元素的子集,由多個圖構成,是在某一個抽象層上,對系統的抽象表示.圖是模型元素集的圖形表示,通常為弧(關係)和頂點(其他模型元素)相互連接構成的.模型元素代表面向對象中的類、對象、消息和關係等概念,是構成圖的最基本的常用概念.
  • 解析九大UML建模圖形用法
    在學習UML建模工具的過程中,經常會遇到UML建模圖形問題,這裡和大家分享一下九種UML建模圖形的相關知識。相信通過本節的學習你對UML建模圖形一定會有全面的認識。簡單例析UML建模圖形UML包括了一些可以相互組合圖表的圖形元素。
  • 解析UML時序圖的四大元素
    解析UML時序圖的四大元素 本文向大家介紹一下UML時序圖,UML時序圖描述對象是如何交互的,並且將重點放在消息序列上。也就是說,描述消息是如何在對象間發送和接收的。
  • 解析UML的靜態建模機制
    任何建模語言都以靜態建模機制為基礎,標準建模語言UML也不例外。UML的靜態建模機制包括用例圖(Use case diagram)、類圖(Class diagram)、對象圖(Object diagram )、包(Package)、構件圖(Component diagram)和配置圖(Deployment diagram)。
  • UML實踐--UML用例圖和類圖解析
    UML實踐--UML用例圖和類圖解析 UML統一建模語言相信大家應該有所了解,你對UML實踐是否熟悉,這裡就向大家介紹一下UML實踐中的用例圖和類圖,相信通過本文的介紹你對UML實踐有一定的認識。
  • UML實踐---UML活動圖、順序圖、狀態圖、協作圖
    UML實踐----UML活動圖、順序圖、狀態圖、協作圖 本文向大家介紹一下UML實踐,UML中有九種建模的圖標,即用例圖、類圖、對象圖、順序圖等,這裡就向大家介紹一下UML實踐中UML活動圖,順序圖,狀態圖花費協作圖。
  • UML語言中模型元素和通用機制專家解析
    本節繼續向大家介紹UML語言方面的知識,上節我們介紹了UML中的五大視圖和九種圖形,這節向大家介紹一下UML模型元素和通用機制,希望通過本節的學習你對UML語言有一定的了解。下面是具體介紹。模型元素UML語言中的模型元素包括事物和事物之間的聯繫。
  • UML建模中繪製UML用例圖行之有效的辦法
    UML建模中繪製UML用例圖行之有效的辦法 UML用例圖在建模過程中使用非常頻繁,你對UML用例圖的畫法是否熟悉呢,這裡就向大家簡單介紹一下,希望本文的介紹對你有所幫助。
  • 軟體項目實訓及課程設計指導——UML靜動態建模在詳細設計中應用
    (2)在課程設計的項目開發中要充分應用UML靜態和動態建模技術在課程設計的項目開發中,作者強烈地要求讀者要應用UML所提供的各種技術規範實現所開發的軟體應用系統項目的分析、設計和開發實現等過程,這並不是要求讀者為了UML而應用「UML」——因為UML的統一建模的機制抓住了軟體應用系統的本質,它能夠定義軟體應用系統的體系結構
  • UML科普文,一文章掌握14種UML圖!
    UML提供了極富表達能力的建模語言,可以讓軟體開發過程中的不同人員分別得到自己感興趣的信息。Page-Jones 在《Fundamental Object-Oriented Design in UML》 一書中總結了UML的主要目的,如下:為用戶提供現成的、有表現力的可視化建模語言,以便他們開發和交換有意義的模型。為核心概念提供可擴展性 (Extensibility) 和特殊化 (Specialization) 機制。