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 扩展行业定制化建模
行为图用例图功能需求需求分析
活动图业务流程业务建模
状态机图状态变化状态驱动系统
时序图对象交互(时间)系统调用分析
通信图对象交互(结构)组件通信
交互概览图复杂交互流程业务流程分析
时序图时间变化实时系统、嵌入式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37272.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软考-架构】8.4、信息化战略规划-CRO-SCM-应用集成-电子商务

✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 信息化战略体系💯考试真题第一题第二题 信息系统战略规划💯考试真题第一题第二题 ✨客户关系管理CRM供应链管理SCM💯考试真题第一题第二…

Excel处理控件Spire.XLS系列教程:C# 在 Excel 中添加或删除单元格边框

单元格边框是指在单元格或单元格区域周围添加的线条。它们可用于不同的目的,如分隔工作表中的部分、吸引读者注意重要的单元格或使工作表看起来更美观。本文将介绍如何使用 Spire.XLS for .NET 在 C# 中添加或删除 Excel 单元格边框。 安装 Spire.XLS for .NET E-…

【工具分享】vscode+deepseek的接入与使用

目录 第一章 前言 第二章 获取Deepseek APIKEY 2.1 登录与充值 2.2 创建API key 第三章 vscode接入deepseek并使用 3.1 vscode接入deepseek 3.2 vscode使用deepseek 第一章 前言 deepseek刚出来时有一段时间余额无法充值,导致小编没法给大家发完整的流程&…

Android之悬浮窗实现

文章目录 前言一、效果图二、实现步骤1.AndroidManifest权限以及service注册2.service代码3.activity实现 总结 前言 经常接触音视频以及直播的同学应该知道,悬浮窗是必备需求,今天就记录一下自己悬浮窗的视线过程,流程就是点击缩小按钮回到…

25.单例模式实现线程池

一、线程池的概念 1.1 线程池的介绍 线程池是一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅…

基于springboot的免税商品优选购物商城(020)

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,免税商品优选购物商城当然也不能排除在外,随着购物商城的不断成熟,它彻底改变了过去传统的免税商品优选购物商城方式&…

RIP路由欺骗攻击与防御实验详解

一、基础网络配置 1. 路由器R1配置 interface GigabitEthernet0/0/0ip address 192.1.2.254 255.255.255.0 ! interface GigabitEthernet0/0/1ip address 192.1.3.254 255.255.255.0 ! router rip 1version 2network 192.1.2.0network 192.1.3.0 2. 路由器R2配置 interface…

整理和总结微信小程序的高频知识点

前言 近期萌生了一些想法,感觉可以做一个小程序作为产出。 但小程序做得比较少,因此边做边复习。整理和总结了一些高频知识点和大家一起分享。 一、模板和组件 1.1模板(Template) 优势 简单灵活:模板定义和使用都较…

如何检查CMS建站系统的插件是否安全?

检查好CMS建站系统的插件安全是确保网站安全的重要环节,对于常见的安全检查,大家可以利用以下几种有效的方法和工具,来帮你评估插件的安全性。 1. 检查插件来源和开发者信誉 选择可信来源:仅从官方插件库或可信的第三方开发者处…

RAG优化:利用python实现上下文感知(扩展)增强检索效果

检索增强生成(RAG)通过从外部知识源检索相关信息来增强AI的响应能力。传统的检索方法通常返回孤立的文本片段,这可能导致回答不完整。 为了解决这个问题,我们引入了基于上下文的检索方法,确保检索到的信息包含相邻的文本片段,以提高回答的连贯性。 通过结合重叠分块、上…

在 macOS Sequoia 15.2 中启用「三指拖动」并实现快速复制的完整指南 ✨

在 macOS Sequoia 15.2 中启用「三指拖动」并实现快速复制的完整指南 🍎✨ 适用系统:macOS Sequoia 版本15.2 及以上 一、功能简介 🌟 通过「三指拖动」手势,你可以轻松完成以下操作: • 移动文件/文本:直…

LeetCode 2614.对角线上的质数:遍历(质数判断)

【LetMeFly】2614.对角线上的质数:遍历(质数判断) 力扣题目链接:https://leetcode.cn/problems/prime-in-diagonal/ 给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数&…

基于Java(Springboot+Gradle+Mybatis+templeaf 框架)+Mysql构建的(Web)校园二手平台系统

二手市场 1 系统分析 1.1 需求分析 项目背景 国内最大的二手服务商“易趣、淘宝”其注册用户有 61% 为在校大学生,其他占 25% 为社会人士注册,他们每年与学生的交易量占总交易量的 85% 以上. “易淘”均不向交易双方任何用户提供商品质保和售后服务…

ue5蓝图项目转换为c++项目 遇到的问题

蓝图项目转c项目 工具/新建C类,随便新建一个c类,即可从蓝图项目转换为c项目 如果转换正常,UE5会要求重新编译程序,并在编译完后自动打开VS 转换前要备份 转换失败的原因 电脑上必须安装了.Net6.0,其他版本高了低了…

挖矿------获取以太坊测试币

文章目录 挖矿------获取以太坊测试币通过水龙头获取以太坊测试币了解Sepolia是什么?水龙头(Faucet)是什么?Gitcoin Passport是什么? 操作1.MetaMask钱包2.将MetaMask切换到Sepolia测试网络3.用MetaMask连接Gitcoin Pa…

玩转物联网-4G模块如何快速将数据上传到巴法云(TCP篇)

目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件准备 2.3 硬件连接 2.4 检查驱动 3 巴法云平台设备创建 3.1 创建账号 3.2 进入巴法云 3.3 获取联网参数 4 连接巴法云 4.1 打开配置工具读取基本信息 4.2 设置连接参数进行数据交互 4.2.1 建立TCP连接 4.2.2 订阅主题 4.2.3 发布信…

Vue3 在组件中判断事件是否注册

效果 用途 我想用是否注册事件,来控制组件中图标的显示与隐藏 实现 通过组件中判断是否注册了相应的函数,来判断 const checkEvent () > {const instance getCurrentInstance();console.log(instance?.vnode?.props:>, instance?.vnode?…

ssh连接解析时间过长如何解决

[rootkvm ~]# vim /etc/ssh/sshd_config #修改配置 [rootkvm ~]# systemctl restart sshd #重启服务

【Linux】——进程状态僵尸进程孤儿进程

目录 前言 基本进程状态 运行状态 阻塞状态 挂起状态 Linux下的进程状态 僵尸进程 孤儿进程 结语 前言 进程的状态反映了它在执行过程中的不同阶段,例如创建、就绪、运行、阻塞和终止等。这些状态之间的转换由操作系统的调度算法和进程的行为共同决定。通…

信创系统极速文件查找:locate 命令详解

原文链接:信创系统极速文件查找:locate 命令详解 Hello,大家好啊!今天给大家带来一篇信创终端操作系统上 locate 命令详解的文章。在 Linux 及信创终端操作系统(如 统信 UOS、麒麟 KOS)中,查找…