当前位置: 首页 > news >正文

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

文章目录

  • 前言
  • 一、结构图(静态建模)
    • 1.类图(Class Diagram)
    • 2.对象图(Object Diagram)
    • 3.组件图(Component Diagram)
    • 4.部署图(Deployment Diagram)
    • 5.复合结构图(Composite Structure Diagram)
    • 6.包图(Package Diagram)
    • 7.配置文件图(Profile Diagram)
  • 二、行为图(动态建模)
    • 8.用例图(Use Case Diagram)
    • 9.活动图(Activity Diagram)
    • 10.状态机图(State Machine Diagram)
    • 11.时序图(Sequence Diagram)
    • 12.通信图(Communication Diagram)
    • 13.交互概览图(Interaction Overview 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 扩展行业定制化建模
行为图用例图功能需求需求分析
活动图业务流程业务建模
状态机图状态变化状态驱动系统
时序图对象交互(时间)系统调用分析
通信图对象交互(结构)组件通信
交互概览图复杂交互流程业务流程分析
时序图时间变化实时系统、嵌入式

相关文章:

  • VLLM专题(三十六)—自动前缀缓存
  • 当Anaconda的安装路径与我想创建的conda虚拟环境路径不一致时,应该怎么操作?
  • STM32-汇编
  • 【漫话机器学习系列】143.轮廓系数(Silhouette Coefficient)
  • QT 磁盘文件 教程03-创建、删除、复制文件
  • numpy学习笔记2:ones = np.ones((2, 4)) 的详解
  • PostgreSQL中array_to_string函数来将数组转换成逗号分隔的字符串
  • C#:深入理解Thread.Sleep与Task.Delay
  • 类和对象C++
  • 鸿蒙数据持久化之首选项
  • WebGL学习2
  • Echarts 折线图
  • 【Linux笔记】动态库与静态库的理解与加载
  • 《数字图像处理》第三章 灰度变换与空间滤波学习笔记(3.1-3.2)反转、对数、幂律、分段线性等变换
  • 【QT:QSS】
  • 在 MySQL 中,只写 JOIN 等价于?
  • linux 命令 mkdir
  • Spring中DI与IOC的关系解析
  • 卷积神经网络 - 卷积层(具体例子)
  • 第六节 MATLAB M-Files
  • 用织梦做的网站一般后台/培训机构排名前十
  • 淘客网站做百度推广/朋友圈广告推广
  • 六盘水市网站建设/网站开发用什么语言
  • 海口做网站公司/百度客户端
  • 接网站开发做多少钱/个人免费推广网站
  • wordpress网站开发代码/博为峰软件测试培训学费