共用方式為


UML 活動圖表:參考

「活動圖表」(Activity Diagram) 會透過一系列的動作,將商務程序或軟體程序顯示為工作流程。 人員、軟體元件或電腦可以執行這些動作。

您可以使用活動圖表來描述許多類型的程序,例如下列範例:

  • 使用者與系統之間的商務程序或工作流程。 如需詳細資訊,請參閱模型化使用者要求

  • 在使用案例中執行的步驟。 如需詳細資訊,請參閱UML 使用案例圖表:方針

  • 軟體通訊協定,也就是元件之間允許的互動順序。

  • 軟體演算法。

本主題說明可在活動圖表中使用的項目。 如需繪製活動圖表的詳細資訊,請參閱UML 活動圖表:方針。 若要建立 UML 活動圖表,請在 [架構] 功能表上,按一下 [新增圖表]。 如需如何繪製一般模型圖表的詳細資訊,請參閱 HOW TO:編輯 UML 模型和圖表

讀取活動圖表

下節中的各表將說明您可以在活動圖表上使用的項目,以及其主要屬性。 如需項目屬性的完整清單,請參閱活動圖表中的項目屬性

出現在活動圖表中的動作和其他項目會形成一個活動。 您可以在 [UML 模型總管] 中查看活動。 當您將第一個項目加入至圖表時,就會建立活動。

若要讀取圖表,請想像一下某個語彙基元或控制項的執行緒,沿著連接器從一個動作傳遞至下一個動作。

簡單的控制流程

您可以顯示一連串含有分支與迴圈的動作。 如需如何使用此處所描述之項目的詳細資訊,請參閱UML 活動圖表:方針主題的<描述控制流程>一節。

簡單的控制流程

圖案

項目

描述和主要屬性

1

動作

活動中的步驟,使用者或軟體會用以執行某些工作。

當語彙基元已抵達其所有流入流程時,就可以開始進行動作。 當它結束時,語彙基元會在所有流出流程上傳送。

  • Body:詳細指定動作。

  • Language:主體中運算式的語言。

  • Local Postconditions:執行結束時必須滿足的條件約束。 動作達成的目標。

  • Local Preconditions:執行開始之前必須滿足的條件約束。

2

控制流程

顯示動作之間控制流程的連接器。 若要解譯圖表,請想像一下某個語彙基元從一個動作流向下一個動作。

若要建立控制流程,請使用 [連接器] 工具。

3

初始節點

表示活動中的第一個動作。 當活動開始時,語彙基元就會從初始節點流動。

4

活動的最後節點

活動的結尾。 當語彙基元抵達時,活動就會終止。

5

決策節點

流程中的條件分支。 有一個輸入以及兩個或多個輸出。 流入的語彙基元只會出現在其中一個輸出上。

6

成立條件

指定語彙基元是否能沿著連接器流動的條件。 最常使用在決策節點的流出流程上。

若要設定成立條件,請以滑鼠右鍵按一下流程、按一下 [屬性],然後設定 [成立條件] 屬性。

7

合併節點

合併使用決策節點所分割之流程所需的項目。 有兩個或多個輸入以及一個輸出。 任何輸入的語彙基元都會出現輸出上。

8

註解

提供有關它所連結之項目的其他資訊。

9

呼叫行為動作

在另一個活動圖表上有更詳細定義的動作。

  • IsSynchronous:如果為 true,則動作會等到活動結束為止。

  • Behavior:叫用的活動。

(未顯示)

呼叫作業動作

針對類別執行個體呼叫作業的動作。

活動

活動圖表中描繪的工作流程。 若要查看活動的屬性,您必須在 [UML 模型總管] 中選取活動。

  • Is Read Only:如果為 true,則活動就不應該變更任何物件的狀態。

  • Is Single Execution:如果為 true,則一次最多只有一個此圖表的執行項目。

UML 活動圖表

顯示活動的圖表。 若要查看其屬性,請按一下圖表的空白部分。

注意事項注意事項
活動圖表的名稱,包含圖表的檔案名稱,以及圖表所顯示的活動名稱都可以不同。

並行的流程

您可以描述同時執行的動作順序。 如需詳細資訊,請參閱<繪製並行的流程>。

顯示並行流程的活動圖表

圖案

項目

說明

11

分岔節點

將單一流程分成並行的流程。 每個流入的語彙基元都會在每個流出的連接器上產生語彙基元。

12

聯結節點

將並行的流程結合成單一流程。 當每個流入流程都具有語彙基元時,就會在輸出上產生語彙基元。

13

傳送訊號動作

將訊息或訊號傳送給另一個活動或相同活動中之並行執行緒的動作。 訊息的類型和內容是由動作的標題隱含或指定於其他註解中。

此動作可以在訊號中傳送資料,而這個訊號可以傳遞給物件流程或輸入連接 (16) 中的動作。

14

接受事件動作

先等候訊息或訊號,然後動作才能繼續進行的動作。 動作可以接收的訊息類型是由標題隱含或指定於其他註解中。

如果動作沒有任何流入的控制流程,每當它接收訊息時,就會產生語彙基元。

此動作可以在訊號中接收資料,而這個訊號可以在物件流程或輸出連接 (17) 上傳遞。

  • IsUnmarshall:如果為 true,則可以有多個具型別的輸出連接,而且資料會解除封送處理到這些連接。 如果為 false,則所有資料會顯示在單一連接上。

資料流程

您可以描述資料從某個動作流到另一個動作的流程。 如需這一節中所使用之項目的詳細資訊,請參閱<繪製活動圖表的方針>主題的<繪製資料流程>一節。

顯示資料流程的活動圖表

圖案

項目

說明

15

物件節點

代表沿著流程傳遞的資料。

  • Ordering:如何儲存多個語彙基元。

  • Selection:叫用篩選資料的程序,而該程序可以定義在其他圖表中。

  • Upper Bound:0 表示資料必須直接沿著流程傳遞;* 表示資料可以儲存在流程中。

  • Type:儲存和傳送的物件型別。

16

輸入連接

代表執行動作時可以接收的資料。

  • Type:所傳送物件的型別。

17

輸出連接

代表執行動作時所產生的資料。

  • Type:所傳送物件的型別。

18

活動參數節點

活動可藉此接收或產生資料的物件節點。

當圖表所代表的活動是從另一個活動呼叫,或者圖表描述作業或函式時,就會使用此節點。

  • Type:所傳送物件的型別。

(未顯示)

物件流程

顯示動作與物件節點之間資料流程的連接器。

若要建立物件流程,請使用 [連接器] 工具,將輸入或輸出連接或物件節點連結至另一個項目。

  • Selection:叫用篩選資料的程序,而該程序可以定義在其他圖表中。

  • Transformation:叫用轉換資料的程序,而該程序可以定義在其他圖表中。

  • IsMulticast:指出可能有數個收件者物件或元件。

  • IsMultiReceive:指出可能從數個物件或元件收到輸入。

請參閱

概念

HOW TO:編輯 UML 模型和圖表

UML 活動圖表:方針