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 扩展 行业定制化建模
行为图 用例图 功能需求 需求分析
活动图 业务流程 业务建模
状态机图 状态变化 状态驱动系统
时序图 对象交互(时间) 系统调用分析
通信图 对象交互(结构) 组件通信
交互概览图 复杂交互流程 业务流程分析
时序图 时间变化 实时系统、嵌入式
相关推荐
敲代码的小霖3 天前
UML-MCP-Server -cursor适用
uml·cursor·mcp
huaqianzkh4 天前
学习MDA规范_5.统一建模语言(UML)
系统架构·uml
小天努力学java5 天前
【软考-架构】11.2、统一建模语言UML-事务关系图
架构·uml
鸭鸭鸭进京赶烤5 天前
传感云揭秘:边缘计算的革新力量
人工智能·数学建模·设计模式·边缘计算·设计语言·统一建模语言·机械键盘
爱的叹息5 天前
Java 集合框架中 `List` 接口及其子类的详细介绍,并用 UML 图表展示层次结构关系,用表格对比各个类的差异。
java·list·uml
爱的叹息5 天前
分别用树型和UML结构展示java集合框架常见接口和类
java·开发语言·uml
darkhorsefly6 天前
UML详解:14种类型及实例展示
uml
Loup&卡普21 天前
【UML】统一建模语言 UML 基础
uml
阑梦清川21 天前
Staruml软件的介绍安装&&uml类图的绘制流程
uml