UML活動圖的全面指南(含範例)

介紹

UML(統一建模語言)活動圖是模擬系統動態行為的重要工具。它以視覺化方式呈現逐步活動與動作的工作流程,使複雜流程更易理解與溝通。本指南將帶您了解UML活動圖的基本概念,使用PlantUML提供實用範例,並強調透過範例學習的優勢。

關鍵概念

1. 活動與動作

  • 活動:這是活動圖的主要組成部分,代表流程中的一個個步驟或操作。
  • 動作:這些是無法再進一步分解的原子性活動。

2. 控制流程

  • 控制流程:這表示活動的順序,透過連接活動的箭頭來顯示執行順序。

3. 初始節點與終止節點

  • 初始節點:標示工作流程的起點,以實心圓形表示。
  • 終止節點:標示工作流程的終點,以靶心符號(內外兩個圓)表示。

4. 決策節點與合併節點

  • 決策節點:根據條件使流程分支的節點,以菱形表示。
  • 合併節點:多個流程匯聚回單一流程的節點,同樣以菱形表示。

5. 泳道

  • 泳道:用於將活動分組,通常代表不同的角色或職責。以垂直或水平的欄位呈現。

透過範例學習的好處

透過範例學習具有多項優勢:

  1. 實務理解:觀察實際應用案例有助於更有效地掌握概念。
  2. 視覺學習: 圖表提供視覺化表示,使複雜的流程更容易理解。
  3. 立即應用: 例子可以直接應用於類似的情境,提升解決問題的能力。
  4. 參與度: 例子使學習過程更具參與性和互動性。
  5. 情境學習: 例子提供情境,有助於理解不同概念在現實世界中如何相互結合。

範例

範例 1:簡單訂單處理

說明:

  • 流程從客戶下訂單開始。
  • 訂單系統接收訂單,處理付款並確認訂單。
  • 接著倉庫打包並發送訂單。
  • 最後,客戶收到訂單。

範例 2:自動櫃員機提款流程

說明:

  • 客戶插入卡片並輸入密碼。
  • 自動櫃員機驗證密碼。若正確,客戶選擇金額,自動櫃員機發放現金;若錯誤,自動櫃員機顯示錯誤訊息。
  • 客戶領取現金。

範例 3:圖書館借書

說明:

  • 學生搜尋書籍並提出借閱請求。
  • 圖書館員確認書籍是否可借。若可借,圖書館員發出書籍;若不可借,圖書館員通知學生。
  • 學生領取書籍。

範例 4:線上購物

說明:

  • 客戶瀏覽產品,將其加入購物車,然後進入結帳流程。
  • 付款系統處理付款。若成功,訂單將被確認;若失敗,客戶將收到失敗通知。
  • 倉庫準備並發送訂單。
  • 客戶收到訂單。

範例 5:飯店預訂

說明:

  • 客戶搜尋飯店,選擇房間並進行預訂。
  • 預訂系統驗證房間是否可預訂。若房間可預訂,則確認預訂;否則,客戶將收到通知。
  • 客戶收到確認訊息。

解讀 UML 活動圖

  1. 活動流程:跟隨箭頭以了解活動的順序。每個箭頭代表從一個活動到下一個活動的控制流程。
  2. 決策點:在決策節點上,評估條件以決定應遵循哪個分支。這有助於根據條件理解不同的情境。
  3. 泳道:識別每個泳道所對應的角色或責任。這有助於了解每個活動由誰負責。
  4. 起始節點與終止節點:起始節點表示流程的起點,而終止節點表示流程的終點。
  5. 並行性:尋找分叉與匯合以理解並行活動。分叉將流程拆分成並行活動,而匯合則將其重新同步為單一流程。

結論

UML 活動圖是一種多功能工具,可用於建模與理解複雜流程。透過使用這些圖表,您可以輕鬆建立並視覺化工作流程,使溝通與分析流程變得更簡單。無論您是在設計新系統,還是記錄現有流程,活動圖都能提供一種清晰且結構化的方式來呈現動態行為。透過範例學習,可以增強您對這些圖表的理解與應用,使您在實際情境中更熟練地使用它們。

參考資料

  1. 活動圖,UML 圖表範例:泳道
  2. 泳道活動圖指南
  3. 如何繪製活動圖?
  4. 活動圖,UML 圖表範例:泳道提案流程
  5. 如何在 UML 中繪製活動圖?
  6. 活動圖教程
  7. 什麼是活動圖?
  8. 帶泳道的活動圖 2
  9. 活動圖,UML 圖表範例:訂單履行的泳道
  10. 帶泳道的 ATM 活動圖

Leave a Reply