de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

UML活動圖:建模順序與並行系統流程

UML活動圖本質上是一種流程圖,用於模擬流程中的順序與並行步驟或活動。它用於描述系統的動態特性,著重於從一個活動到下一個活動的控制流。

此圖表對於模擬業務流程、定義不同組件之間的工作流程,以及記錄系統或方法的內部邏輯極為重要。

活動流程的核心元素

活動圖由節點(代表步驟)和邊(代表控制流)構成。

A. 活動與動作節點

它們代表流程中執行的單一步驟或任務。

  • 符號: 一個圓角矩形。
  • 動作節點: 代表一個原子且不可中斷的步驟(例如,檢查庫存).
  • 活動節點: 代表一個高階目標,可進一步分解為子活動(例如,履行訂單).
  • 目的: 用於定義需要執行的工作。

B. 控制流(邊)

控制流是連接兩個節點的箭頭,顯示從一個動作到下一個動作的轉移。

  • 符號: 一條實心箭頭。
  • 目的: 表示執行順序。

C. 開始與結束節點

每個圖表都必須有一個起始點和一個或多個結束點。

  • 初始節點(開始):
    • 符號:一個實心的填充圓形。
    • 用途:控制流程的進入點。
  • 活動終止節點(結束):
    • 符號:一個被較大空心圓包圍的實心圓。
    • 用途:表示活動中所有流程的完成。
  • 流程終止節點:
    • 符號:一個內部有‘X’的圓形。
    • 用途:表示特定路徑(流程)的結束,但不一定終止整個活動。

建模決策與分支邏輯

活動圖使用特定節點來處理條件邏輯,類似於程式碼中的if-elseswitch語句。

A. 決策與合併節點

這些節點用於模擬條件分支以及隨後路徑的重新合併。

  • 決策節點:
    • 符號:菱形。
    • 使用方式:一個進入的流程和多個離開的流程。每個離開的流程都必須具有保護條件(方括號中的條件,例如[庫存 > 0])用來決定選擇哪條路徑。
  • 合併節點:
    • 符號: 一個菱形。
    • 使用方式: 多個流入的流程和一個流出的流程。它僅表示不同分支重新匯合的點,表示任何一個流入分支都可以引導至下一步。它不會同步並行的流程。

模擬並行與同步

流程圖通常為順序性的不同,活動圖擅長使用同步條來展示並行執行。

A. 分叉與合併節點

這些節點用於將單一的控制流程拆分成多個並行流程,並在後續等待這些並行流程完成。

  • 分叉節點:
    • 符號: 一條粗的水平或垂直條。
    • 使用方式: 一個流入的流程和多個流出的流程。所有流出的流程從此點開始並行(並行)執行。
  • 合併節點:
    • 符號: 一條粗的水平或垂直條。
    • 使用方式: 多個流入的流程和一個流出的流程。流出的流程無法開始,直到所有流入的並行流程全部完成(同步)為止。

組織元素:泳道

泳道(也稱為區隔)對於顯示哪個部門、組件或參與者負責哪項活動至關重要。它們在視覺上將圖表劃分為垂直或水平區域。

  • 符號:垂直或水平的平行線,用於分隔不同的責任區域。
  • 目的:將行動按負責執行的實體進行分組,以在不同組織單位之間提供明確的責任歸屬(例如:「客戶」、「網路系統」、「倉庫」)。

活動圖最佳實務總結

  • 模擬流程,而非物件:專注於步驟的順序與控制流程,而非類別之間的結構關係(那是類圖的工作)。
  • 使用泳道: 始終使用泳道來明確區分執行每一項行動的主體,特別是在跨功能的業務流程中。
  • 標示守衛條件: 確保從決策節點流出的每一條流程都標有清晰且互斥的守衛條件(例如:[A], [B], [其他]).
  • 同步分叉: 每一個 分叉 必須由一個 匯合 以確保後續步驟會等待所有平行活動完成。

若想更深入理解 UML 及 AI 如何呈現它,請探索我們的 UML 資源中心.