本章介紹版本2.5.1中的所有UML圖,瞭解這些UML圖是software engineering (SE) 不可或缺的一部分。這是因為這些UML圖提供了一套建模構件,它們是SE的全球公認標準。對圖表的知識和理解為軟體工程師提供了一種方法和語言,使他們能够勾勒和視覺化他們的想法,以及討論、辯論、提問、交流和衡量他們的工作,尤其是在項目團隊中。
瞭解UML及其基本概念相當於學習SE的大部分(如果不是全部的話)知識。UML由14種不同類型的圖組成,這14個UML圖很少由一個人一起使用。每個圖在SE中都有一個特定的用途,建模人員需要理解該用途。圖表的特定性質和用途决定了它在建模中的使用管道和位置。例如,一些圖提供了理解系統需求和行為的極好方法(例如用例圖和活動圖)。其他圖表提供了一種健壯的機制來建模資料存儲(例如,類圖)。還有另一組UML圖幫助視覺化軟件架構(例如,組件和部署圖)。
14個UML圖
我們在這裡列出所有14個UML圖,以提供這些UML圖的簡要描述。雖然這些圖構成了建模科技的工具箱,但它們並不完全相互獨立。這些圖以及其中的工件可以視覺化軟件系統的各個方面。相應的規範和檔案進一步補充了這些圖表。
- 用例圖 (use case Diagram) - 從用戶角度概述系統或業務流程的功能。用戶“使用”系統的管道是創建用例圖的起點。
- 活動圖 (activity diagram) - 對系統中任何位置的流進行建模。特別是,用例中描述正常用戶互動以及備選方案和异常的流程由這些活動圖很好地建模。
- 類圖 (Class Diagram) - 表示類及其定義和關係。問題空間中的類和實體也是解決方案空間中的詳細科技實體。定義類的内容和操作包含在此類圖中。類圖中的關係說明了類如何互動、合作以及如何從其他類繼承。類還可以表示關係表、使用者介面和控制器。
- 序列圖 (Sequence Diagram) - 根據對象的時間線對對象之間的互動進行建模。對象可以具體顯示在這些圖上,也可以是屬於類的匿名對象。運行時對象之間消息的執行順序由這些圖很好地建模,囙此它們的名稱。
- 互動概述圖 (Interaction Overview Diagram) - 從總體上、高層次上概述系統內的互動;它還能够理解UML圖(例如,序列圖)是如何相互依賴和關聯的。
- 通信圖 (Communication Diagram) - 顯示對象在運行時如何在記憶體中相互通信(互動)。這些通信圖在用途上類似於序列圖;然而,它們的代表性是不同的。
- 對象圖 (Object Diagram) - 在運行時顯示記憶體中的對象及其連結。囙此,這些對象圖也有助於在實踐中視覺化多樣性。
- 狀態機圖 (State Machine Diagram) - 顯示記憶體中對象的運行時生命週期。這樣的生命週期包括對象的所有狀態以及狀態變化的條件。
- 複合結構圖 (Composite Structure Diagram) - 在運行時為組件或對象行為建模,顯示系統執行期間組件的佈局、關係和實例
- 組件圖 (Component Diagram) - 從結構上對組件及其關係進行建模。例如,這些組件可以包括可執行文件、可連結庫、Web服務和移動服務。這些圖為系統的體系結構決策新增了價值。
- 部署圖 (Deployment Diagram) - 對系統的硬體節點和處理器的體系結構進行建模,並提供機會顯示軟件組件將駐留的節點。
- 包裝圖 (Package Diagram) - 表示系統組織的子系統和區域。它還可以建模包之間的依賴關係,並幫助將業務實體與使用者介面、資料庫、安全性和管理包分離。
- 時序圖 (Timing Diagram) - 對時間概念和對象狀態隨時間變化的管道進行建模。此外,這些圖允許同時比較多個對象的狀態。
- 剖面圖 (Profile Diagram) - 允許創建可擴展的設定檔,這些設定檔可應用於從設定檔繼承的元素。這些圖表通過以受控的管道擴展標準來新增價值。
其他UML參攷
- What is UML Collaboration Diagram?
- UML Association vs Aggregation vs Composition
- UML Class Diagram Tutorial
- How to Model Constraints in UML?
- State Machine Diagram vs Activity Diagram
- How to Identify Actors?
- Types of Actor in Use Case Model
- What is Model-View and Control?
- How to Model MVC Framework with UML Sequence Diagram?
- UML - Behavioral Diagram vs Structural Diagram
- What is UML Extensibility Mechanism?
- UML Practical Guide - All you need to know about UML modeling
- UML Modeling, Software Process and Tool
- UML - Modeling Software Architecture with Packages
- All You Need to Know about State Diagrams
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。