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 扩展 行业定制化建模
行为图 用例图 功能需求 需求分析
活动图 业务流程 业务建模
状态机图 状态变化 状态驱动系统
时序图 对象交互(时间) 系统调用分析
通信图 对象交互(结构) 组件通信
交互概览图 复杂交互流程 业务流程分析
时序图 时间变化 实时系统、嵌入式
相关推荐
rolt13 小时前
[pdf、epub]300道《软件方法》强化自测题业务建模需求分析共257页(202505更新)
产品经理·架构师·uml
却道天凉_好个秋7 天前
软件工程(八):UML类图的几种关系
软件工程·uml
rolt9 天前
[图文]图6.3会计事项-Fowler分析模式的剖析和实现
架构师·uml
2301_7764085310 天前
巧用生活实例,快速分清 23 种设计模式,软考中级软件设计师,快速了解与记忆。UML
设计模式·生活·uml
尽兴-11 天前
UML 图的细分类别及其应用
uml
三雷科技12 天前
UML 活动图 (Activity Diagram) 使用案例
uml·活动图
码农爱学习13 天前
UML基本概念:构造块、公共机制与规则
uml
吴八月15 天前
UML类图-UML Class Diagram
uml·uml类图
D.eL16 天前
设计模式7大原则与UML类图详解
java·设计模式·uml
软考真题app17 天前
软件设计师“UML”真题考点分析——求三连
软考·uml·软件设计师