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 扩展 行业定制化建模
行为图 用例图 功能需求 需求分析
活动图 业务流程 业务建模
状态机图 状态变化 状态驱动系统
时序图 对象交互(时间) 系统调用分析
通信图 对象交互(结构) 组件通信
交互概览图 复杂交互流程 业务流程分析
时序图 时间变化 实时系统、嵌入式
相关推荐
weixin_4569042714 天前
数据库设计与UML图
数据库·uml
希赛网18 天前
软考软件设计师常考知识点:(一)计算机组成与体系结构
软考·uml·编程语言·计算机基础·软件设计师
rolt19 天前
[pdf、epub]320道《软件方法》强化自测题业务建模需求分析共279页(202509更新)
产品经理·ddd·架构师·uml·领域驱动设计
攻心的子乐21 天前
软考 UML类图 泛化继承 实现 聚合 组合(最强) 依赖(最弱
uml
攻心的子乐22 天前
软考 UML 用例图 extend扩展关系 include包含关系 泛化继承inherit关系
uml
「QT(C++)开发工程师」1 个月前
UML | 最好的类图设计工具结合CSDN天启呈现-领路架构师
数据库·uml·类视图
小鱼儿LY1 个月前
软考系统架构设计师之UML统一建模语言
系统架构·软考·uml·架构设计师
workflower1 个月前
GitHub宕机自救指南
测试用例·需求分析·uml·敏捷流程·结对编程
青草地溪水旁2 个月前
Astah UML 中,状态机(State Machine)的建模最合适使用「UML 状态图(State Diagram)」
uml·状态机
Liquad Li2 个月前
UML(统一建模语言)详解
架构·uml