統一建模語言(UML)圖表
統一建模語言(UML)是一種標準的通用視覺建模語言,用於軟體工程中描述系統的設計。它並非程式語言,而是一種視覺語言,有助於規格化、視覺化、建構和文件化軟體系統的各項成果。

為什麼要使用UML?
- 合作:複雜的應用程式需要多個團隊之間的清晰溝通。UML有助於彌合技術與非技術利益相關者之間的差距。
- 理解:商人與系統架構師可以透過UML理解系統的關鍵需求、功能與流程。
- 節省時間:視覺化流程與系統的靜態結構有助於節省後續的時間與資源。
UML圖表的類型
UML圖表可大致分為兩類:結構型與行為型。
1. 結構型UML圖表
1.1. 類圖
- 使用類別、其方法與屬性來描述系統的靜態結構。
- 有助於識別不同類別或物件之間的關係。
- Visual Paradigm UML工具:類圖
1.2. 結構組合圖
- 描述類別的內部結構及其與系統其他部分的互動點。
- 類似於類圖,但更詳細地關注個別部分。
- Visual Paradigm UML工具:結構組合圖
1.3. 物件圖
- 描述特定時間點上類別的具體實例及其之間的關係。
- 類似於類圖,但顯示實際的分類器及其關係。
- Visual Paradigm UML工具:物件圖
1.4. 模組圖
- 描述系統中實體元件的組織方式。
- 有助於理解規劃中的開發是否已涵蓋功能需求。
- Visual Paradigm UML 工具:組件圖
1.5. 部署圖
- 表示系統硬體及其軟體。
- 說明系統架構以及軟體元件在分散目標上的分佈。
- Visual Paradigm UML 工具:部署圖
1.6. 套件圖
- 描述套件及其元素的組織方式。
- 顯示不同套件之間的依賴關係以及套件的內部組成。
- Visual Paradigm UML 工具:套件圖
2. 行為型 UML 圖表
2.1. 狀態機圖
- 表示類在時間與外部刺激變化下的動態行為。
- 使用有限狀態轉移,模擬系統在有限時間點的狀態。
- Visual Paradigm UML 工具:狀態機圖
2.2. 活動圖
- 說明系統中的控制流程。
- 模擬順序與並行活動,提供工作流程的視覺化表示。
- Visual Paradigm UML 工具:活動圖
2.3. 使用案例圖
- 描述系統或系統部分的功能。
- 說明功能需求以及系統與外部代理(角色)的互動。
- Visual Paradigm UML 工具:使用案例圖
2.4. 序列圖
- 以順序方式描述物件之間的互動。
- 描述系統中物件的運作方式及其順序。
- Visual Paradigm UML 工具:順序圖
2.5. 通訊圖
- 顯示物件之間交換的順序訊息。
- 主要著重於物件及其關係。
- Visual Paradigm UML 工具:通訊圖
2.6. 時間圖
- 一種特殊的順序圖,用以描述物件在時間範圍內的行為。
- 顯示控制物件狀態與行為變化的時間與持續時間限制。
- Visual Paradigm UML 工具:時間圖
2.7. 互動概觀圖
- 模擬一連串的動作,並將複雜的互動簡化為較簡單的事件。
- 活動圖與順序圖的混合。
- Visual Paradigm UML 工具:互動概觀圖
UML 圖中使用的物件導向概念
- 類別: 定義物件的結構與功能。
- 物件: 協助分解大型系統並模組化系統。
- 繼承: 子類別繼承父類別的屬性。
- 抽象: 強調系統的重要面向,而忽略不相關的細節。
- 封裝: 透過將資料結合在一起,保護其免受外部世界的影響。
- 多態性: 允許函數或實體以不同形式存在。
UML圖表的最佳實踐
- 了解你的受眾並根據他們的需求調整圖表。
- 保持圖表簡潔,專注於系統的特定方面。
- 使用一致的命名規範和標準的UML符號。
- 使用適當的符號和標籤明確表示關係。
- 平衡敏捷開發與建模,以提供價值並保持靈活性。
建立UML圖表的步驟
- 確定圖表的目的。
- 識別關鍵元素和關係。
- 選擇適當的UML圖表類型。
- 繪製草圖。
- 選擇一個UML建模工具(例如,Visual Paradigm)).
- 建立圖表。
- 定義元素屬性。
- 添加註解和評論。
- 驗證並審查。
- 優化並迭代。
UML建模的常見挑戰與優勢
- 挑戰: 耗時、過度文檔化、需求變更、協作問題。
- 優勢: 標準化、溝通、可視化、文件化、分析與設計。
UML與敏捷開發
- UML圖表在敏捷開發中作為有效的溝通工具。
- 用例圖可捕捉使用者故事並模擬使用者互動。
- UML中的迭代建模支援敏捷開發的迭代方法。
- 平衡敏捷與建模:適應性建模、團隊賦權,以及重視可工作的軟體。












