UML(统一建模语言)中总共有哪些图

文章目录

  • 前言
  • 一、结构图(静态建模)
    • [1.类图(Class Diagram)](#1.类图(Class Diagram))
    • [2.对象图(Object Diagram)](#2.对象图(Object Diagram))
    • [3.组件图(Component Diagram)](#3.组件图(Component Diagram))
    • [4.部署图(Deployment Diagram)](#4.部署图(Deployment Diagram))
    • [5.复合结构图(Composite Structure Diagram)](#5.复合结构图(Composite Structure Diagram))
    • [6.包图(Package Diagram)](#6.包图(Package Diagram))
    • [7.配置文件图(Profile Diagram)](#7.配置文件图(Profile Diagram))
  • 二、行为图(动态建模)
    • [8.用例图(Use Case Diagram)](#8.用例图(Use Case Diagram))
    • [9.活动图(Activity Diagram)](#9.活动图(Activity Diagram))
    • [10.状态机图(State Machine Diagram)](#10.状态机图(State Machine Diagram))
    • [11.时序图(Sequence Diagram)](#11.时序图(Sequence Diagram))
    • [12.通信图(Communication Diagram)](#12.通信图(Communication Diagram))
    • [13.交互概览图(Interaction Overview Diagram)](#13.交互概览图(Interaction Overview Diagram))
    • [14.时序图(Timing Diagram)](#14.时序图(Timing Diagram))
  • 总结

前言

UML(统一建模语言)总共包含 14 种图,主要分为两大类:

  1. 结构图(Structural Diagrams) - 用于描述系统的静态结构
  2. 行为图(Behavioral Diagrams) - 用于描述系统的动态行为

一、结构图(静态建模)

结构图用于描述系统中对象、类、组件以及它们之间的关系,常见于架构设计和数据库建模。

1.类图(Class Diagram)

作用: 描述系统中的类、接口及其属性、方法,以及类之间的关系(继承、实现、关联、聚合、组合、依赖等)。
场景:

  • 详细设计系统的类结构
  • 展示面向对象设计的关键概念
  • 数据库设计的概念模型

2.对象图(Object Diagram)

作用: 是类图的实例化,显示特定时刻的对象及其关系。
场景:

  • 展示运行时对象的状态
  • 进行调试或设计时的快照分析

3.组件图(Component Diagram)

作用: 描述系统的物理组件及其依赖关系,通常用于展示模块化设计。
场景:

  • 软件架构设计
  • 展示系统中的不同模块及其接口

4.部署图(Deployment Diagram)

作用: 展示系统的物理部署结构,描述硬件节点及其软件组件的分布情况。
场景:

  • 展示系统的硬件架构
  • 设计分布式系统的部署方式

5.复合结构图(Composite Structure Diagram)

作用: 描述一个类的内部结构,显示其组成部分及交互方式。
场景:

  • 详细设计复杂类的内部结构
  • 表现系统内部的协作关系

6.包图(Package Diagram)

作用: 用于组织 UML 模型中的元素,展示包与包之间的依赖关系。
场景:

  • 组织大型系统的不同模块
  • 展示类之间的逻辑分组

7.配置文件图(Profile Diagram)

作用: 用于扩展 UML 语言,以支持特定的领域建模。
场景:

  • 定义 UML 的自定义扩展
  • 适用于特定行业(如嵌入式系统)

二、行为图(动态建模)

行为图用于描述系统的动态行为,如流程、交互、状态变化等。

8.用例图(Use Case Diagram)

作用: 描述系统的功能需求,展示参与者(Actor)和用例(Use Case)之间的交互关系。
场景:

  • 需求分析阶段,收集用户需求
  • 展示系统功能的外部视角

9.活动图(Activity Diagram)

作用: 描述业务流程或操作流程,类似于流程图。
场景:

  • 展示业务流程或工作流
  • 详细描述系统内部的处理逻辑

10.状态机图(State Machine Diagram)

作用: 描述对象的状态变化及状态之间的转换条件。
场景:

  • 设计状态驱动的系统,如协议处理、游戏逻辑
  • 复杂对象的生命周期管理

11.时序图(Sequence Diagram)

作用: 描述对象之间的交互过程,关注消息的时间顺序。
场景:

  • 设计系统中对象的交互流程
  • 分析系统调用链

12.通信图(Communication Diagram)

作用: 与时序图类似,但更关注对象之间的静态关系,而非时间顺序。
场景:

  • 设计对象的交互结构
  • 分析系统组件之间的通信关系

13.交互概览图(Interaction Overview Diagram)

作用: 结合活动图和时序图,用于描述复杂的交互流程。
场景:

  • 展示复杂交互的整体流程
  • 适用于业务流程建模

14.时序图(Timing Diagram)

作用: 关注对象或组件的时间变化,通常用于实时系统建模。
场景:

  • 设计嵌入式系统或硬件系统
  • 分析时间敏感的交互

总结

类型 UML 图 作用 使用场景
结构图 类图 描述类及其关系 系统设计、数据库设计
对象图 类图的实例化 运行时快照、调试
组件图 模块化设计 软件架构、模块依赖
部署图 物理部署 分布式系统部署
复合结构图 类的内部结构 复杂类的细节设计
包图 组织 UML 模型 大型系统的模块化
配置文件图 UML 扩展 行业定制化建模
行为图 用例图 功能需求 需求分析
活动图 业务流程 业务建模
状态机图 状态变化 状态驱动系统
时序图 对象交互(时间) 系统调用分析
通信图 对象交互(结构) 组件通信
交互概览图 复杂交互流程 业务流程分析
时序图 时间变化 实时系统、嵌入式
相关推荐
自传.4 天前
B 站更新|软考架构师案例篇・软件工程篇第 2-4 集上线|UML 用例图|类图|顺序图真题精讲
架构·系统架构·软考高级·uml·案例分析·用例图·软考系统架构师
码匠许师傅10 天前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
码匠许师傅11 天前
【设计模式精讲】27.模板方法模式(Template Method)
c++·设计模式·uml·模板方法模式
码匠许师傅12 天前
【设计模式精讲】26.策略模式(Strategy)
c++·设计模式·策略模式·uml
码匠许师傅12 天前
【设计模式精讲】25.状态模式(State)
c++·ui·设计模式·状态模式·uml
rolt12 天前
用UML表示的行业标准02汽车-AUTOSAR
软件工程·ddd·uml·领域驱动设计·ontology·本体
东莞市永盛电气13 天前
CNC数控机床北美供电适配新实践:208V转380V变压器落地应用案例
uml
码匠许师傅13 天前
【设计模式精讲】24.观察者模式(Observer)
c++·观察者模式·设计模式·uml
码匠许师傅14 天前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
码匠许师傅14 天前
【设计模式精讲】23.备忘录模式(Memento)
c++·设计模式·软件工程·uml·备忘录模式