您好,登錄后才能下訂單哦!
本篇內容介紹了“UML活動圖的七大組成元素介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
UML活動圖概述
雖然UML活動圖與狀態圖都是狀態機的表現形式,但是兩者還是有本質區別:UML活動圖著重表現從一個活動到另一個活動的控制流,是內部處理驅動的流程;而狀態圖著重描述從一個狀態到另一個狀態的流程,主要有外部事件的參與。
1、UML活動圖的圖形表示
在UML中,UML活動圖表示成圓角矩形。
2、UML活動圖與流程圖的區別
(1)、流程圖著重描述處理過程,它的主要控制結構是順序、分支和循環,各個處理過程之間有嚴格的順序和時間關系。而UML活動圖描述的是對象活動的順序關系所遵循的規則,它著重表現的是系統的行為,而非系統的處理過程。
(2)、UML活動圖能夠表示并發活動的情形,而流程圖不行。
(3)、UML活動圖是面向對象的,而流程圖是面向過程的。
UML活動圖的組成元素
UML的UML活動圖中包含的圖形元素有動作狀態、活動狀態、動作流、分支與合并、分叉與匯合、泳道和對象流等。
1、動作狀態
動作狀態是指原子的,不可中斷的動作,并在此動作完成后通過完成轉換轉向另一個狀態。動作狀態有如下特點:
(1)、動作狀態是原子的,它是構造UML活動圖的最小單位。
(2)、動作狀態是不可中斷的。
(3)、動作狀態是瞬時的行為。
(4)、動作狀態可以有入轉換,入轉換既可以是動作流,也可以是對象流。動作狀態至少有一條出轉換,這條轉換以內部的完成為起點,與外部事件無關。
(5)、動作狀態與狀態圖中的狀態不同,它不能有入口動作和出口動作,更不能有內部轉移。
(6)、在一張UML活動圖中,動作狀態允許多處出現。
UML中動作狀態用平滑的圓角矩形表示。
2、活動狀態
活動狀態用于表達狀態機中的非原子的運行,其特點如下:
(1)、活動狀態可以分解成其他子活動或者動作狀態。
(2)、活動狀態的內部活動可以用另一個UML活動圖來表示。
(3)、和動作狀態不同,活動狀態可以有入口動作和出口動作,也可以有內部轉移。
(4)、動作狀態是活動狀態的一個特例,如果某個活動狀態只包括一個動作,那么它就是一個動作狀態。
UML中活動狀態和動作狀態的圖標相同,但是活動狀態可以在圖標中給出入口動作和出口動作等信息。
3、動作流
與狀態圖不同,UML活動圖的轉換一般都不需要特定事件的觸發。與狀態圖的轉換相同,UML活動圖的轉換也用帶箭頭的直線表示,箭頭的方向指向轉入的方向。
4、分支與合并
UML中分支與合并用空心的小菱形表示。
5、分叉與匯合
對象在運行時可能會存在兩個或多個并發運行的控制流,為了對并發的控制流建模,UML中引入了分叉與匯合的概念。分叉用于將動作流分為兩個或多個并發運行的分支,而匯合則用于同步這些并發分支,以達到共同完成一項事務的目的。
6、泳道
泳道將UML活動圖中的活動劃分為若干組,并把每一組指定給負責這組活動的業務組織,即對象。在UML活動圖中,泳道區分了負責活動的對象,它明確地表示了哪些活動是由哪些對象進行的。在包含泳道的UML活動圖中,每個活動只能明確地屬于一個泳道。
泳道是用垂直實線繪出,垂直線分隔的區域就是泳道。在泳道的上方可以給出泳道的名字或對象的名字,該對象負責泳道內的全部活動。泳道沒有順序,不同泳道中的活動既可以順序進行也可以并發進行,動作流和對象流允許穿越分隔線。
7、對象流
對象流是動作狀態或者活動狀態與對象之間的依賴關系,表示動作使用對象或動作對對象的影響。用UML活動圖描述某個對象時,可以把涉及到的對象放置在UML活動圖中并用一個依賴將其連接到進行創建、修改和撤銷的動作狀態或者活動狀態上,對象的這種使用方法就構成了對象流。
對象流中的對象有以下特點:
(1)、一個對象可以由多個動作操作。
(2)、一個動作輸出的對象可以作為另一個動作輸入的對象。
(3)、在UML活動圖中,同一個對象可以多次出現,它的每一次出現表面該對象正處于對象生存期的不同時間點。
對象流用帶有箭頭的虛線表示。如果箭頭是從動作狀態出發指向對象,則表示動作對對象施加了一定的影響。施加的影響包括創建、修改和撤銷等。如果箭頭從對象指向動作狀態,則表示該動作使用對象流所指向的對象。
狀態圖中的對象用矩形表示,矩形內是該對象的名稱,名稱下的方括號表明對象此時的狀態。
活動的分解
一個活動可以分為若干個動作或子活動,這些動作和子活動本身又可以組成一個UML活動圖。不含內嵌活動或動作的活動稱之為簡單活動,嵌套了若干活動或動作的活動稱為組合活動。組合活動有自己的名字和相應的子UML活動圖。
“UML活動圖的七大組成元素介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。