百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

UML统一建模常用图有哪些,各自的作用是什么?一篇文章彻底讲透

ccwgpt 2025-08-21 01:52 1 浏览 0 评论

10万+爆款解析:9大UML图实战案例,小白也能秒懂!


为什么需要UML?

UML(统一建模语言)是软件开发的“蓝图”,用图形化语言描述系统结构、行为和交互,让复杂需求一目了然。它能:
降低沟通成本 避免需求歧义 提升开发效率
9种核心UML图覆盖系统全生命周期,下面用真实案例+极简图解带你通关!


一、用例图(Use Case Diagram)

作用:描述用户与系统的交互
核心元素:参与者(Actor)、用例(Use Case)、关系线
案例:在线购物系统

    +-------------+      +-----------------+  
    |   顾客      |------| 搜索商品        |  
    +-------------+      +-----------------+  
          |               /         \  
          |              /           \  
    +-------------+    /             \  
    |   商家      |---/               \  
    +-------------+                   |  
          |--------------------------|  
          |                          |  
    +-----------------+    +-----------------+  
    | 管理订单        |<---| 支付订单        |  
    +-----------------+    +-----------------+  

说明

  • 顾客可执行搜索商品、支付订单;
  • 商家可管理订单;
  • 支付订单前必须先搜索商品(依赖关系)。

二、类图(Class Diagram)

作用:定义系统静态结构
核心元素:类名、属性、方法、关系(关联/继承/聚合)
案例:电商系统类关系

  +----------------+       +----------------+  
  |    用户        |       |    商品        |  
  +----------------+       +----------------+  
  | - id: int      |       | - id: int      |  
  | - name: string |       | - price: float |  
  +----------------+       +----------------+  
          |                          |  
          | 1      *                 |  
  +----------------+       +----------------+  
  |    订单        |<>------| 订单项         |  
  +----------------+       +----------------+  
  | - total: float |       | - quantity: int|  
  +----------------+       +----------------+  

说明

  • 一个订单包含多个订单项(聚合关系);
  • 订单项关联一个商品(关联关系)。

三、对象图(Object Diagram)

作用:展示某一时刻的对象实例及关系
案例:订单创建后的对象状态

  user1: 用户             order1: 订单  
  name = "张三"           total = 299.00  
      |  
      | 拥有  
      v  
  item1: 订单项  
  quantity = 1  
      |  
      | 关联  
      v  
  product1: 商品  
  name = "无线耳机", price = 299.00  

说明:对象图是类图的“快照”,用于调试具体场景。


四、状态图(State Diagram)

作用:描述对象生命周期内的状态变化
案例:订单状态流转

关键点

  • 状态因事件触发而迁移(如“用户付款”);
  • 用于设计订单、用户账号等有状态变化的模块。

五、活动图(Activity Diagram)

作用:可视化业务流程或算法逻辑
案例:用户登录流程

  (开始) --> [输入账号密码] --> {验证信息}  
  --> |成功| [进入主页] --> (结束)  
  --> |失败| [显示错误] --> [重新输入] --> {验证信息}  

优势

  • 清晰展示并行分支(如同时验证密码和验证码);
  • 替代复杂代码逻辑说明。

六、顺序图(Sequence Diagram)

作用:强调对象间消息传递的时间顺序
案例:用户支付流程

  用户      支付网关      库存系统      订单系统  
   |----------|-------------|-------------|  
   | 发起支付 |             |             |  
   |-------->|             |             |  
   |         | 扣款请求    |             |  
   |         |----------->|             |  
   |         | 库存检查    |             |  
   |         |---------------->|         |  
   |         |         | 减少库存 |        |  
   |         |<----------------|         |  
   |         | 更新订单状态 |             |  
   |         |------------------------->|  
   |<-----------------------------------|  
   | 支付成功 |             |             |  

核心:纵向时间轴+横向对象协作,适合分析接口调用链。


七、协作图(Communication Diagram)

作用:突出对象间结构关系(顺序图的补充)
案例:同支付流程的协作视图

  用户 --1: 发起支付--> 支付网关  
  支付网关 --2: 扣款请求--> 库存系统  
  支付网关 --3: 更新状态--> 订单系统  
  订单系统 --4: 通知结果--> 用户  

对比顺序图:协作图更强调对象关联,弱化时间顺序。


八、构件图(Component Diagram)

作用:划分系统物理模块及依赖
案例:微服务架构

  +----------------+         +----------------+  
  |  用户服务       |<------->|  订单服务       |  
  | (提供登录功能)  |         | (处理订单逻辑)  |  
  +----------------+         +----------------+  
          ^                         ^  
          |                         |  
  +----------------+         +----------------+  
  |  支付服务       |         |  库存服务       |  
  +----------------+         +----------------+  

用途

  • 明确服务边界;
  • 依赖箭头指向被调用方(如用户服务依赖支付服务)。

九、部署图(Deployment Diagram)

作用:展示系统硬件部署方案
案例:电商平台服务器拓扑

  [用户手机] ----> [负载均衡服务器]  
                       |  
        +----------------+----------------+  
        |                |                |  
  [Web服务器]      [应用服务器]       [数据库服务器]  
        |                |  
  [Redis缓存]       [MySQL集群]  

关键信息

  • 设备类型(服务器/手机/传感器);
  • 通信协议(如HTTP/HTTPS)。

实战技巧:如何选择UML图?

  1. 需求分析阶段:用例图(用户视角) + 活动图(业务流程);
  2. 设计阶段:类图(结构) + 顺序图(交互) + 状态图(生命周期);
  3. 架构阶段:构件图(模块化) + 部署图(硬件规划)。

避坑指南

避免过度设计:初创项目优先用例图、类图;

工具推荐:Visual Paradigm、PlantUML、Draw.io;

团队共识:所有图必须与代码同步更新!


结语

UML不是“纸上谈兵”,而是降低开发返工率的核武器。掌握这9种图,你就能:
用用例图锁定需求 → 用类图设计扩展性 → 用部署图规避性能瓶颈!
立即行动:下次写代码前,先画一张UML图!

相关推荐

自己动手写Android数据库框架_android开发数据库搭建

http://blog.csdn.net/feiduclear_up/article/details/50557590推荐理由关于Android数据库操作,由于每次都要自己写数据库操作,每次还得去...

谷歌开源大模型评测工具LMEval,打通谷歌、OpenAI、Anthropic

智东西编译|金碧辉编辑|程茜智东西5月28日消息,据科技媒体TheDecoder5月26日报道,当天,谷歌正式发布开源大模型评测框架LMEval,支持对GPT-4o、Claude3.7...

工信部:着力推动大模型算法、框架等基础性原创性的技术突破

工信部新闻发言人今日在发布会上表示,下一步,我们将坚持突出重点领域,大力推动制造业数字化转型,推动人工智能创新应用。主要从以下四个方面着力。一是夯实人工智能技术底座。通过科技创新重大项目,着力推动大模...

乒乓反复纠结“框架不稳定”的三个小误区

很多球友由于对框架的认知不清晰,往往会把“框架不稳定”当成一种心理负担,从而影响学球进度,其典型状态就是训练中有模有样,一旦进入实战,就像被捆住了手脚。通过训练和学习,结合“基本功打卡群”球友们交流发...

前AMD、英特尔显卡架构师Raja再战GPU,号称要全面重构堆栈

IT之家8月5日消息,知名GPU架构师拉贾科杜里(RajaKoduri)此前曾先后在AMD和英特尔的显卡部门担任要职。而在今日,由Raja创立的GPU软件与IP初创企...

三种必须掌握的嵌入式开发程序架构

前言在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅结构清晰,并且便于开发。我相...

怪不得别人3秒就知道软考案例怎么做能50+

软考高级统一合格标准必须三科都达到45分,案例分析也一直是考生头疼的一门,但是掌握到得分点,案例能不能50+还不是你们说了算吗?今天就结合架构案例考点,分享实用的备考攻略~一、吃透考点,搭建知识框架从...

UML统一建模常用图有哪些,各自的作用是什么?一篇文章彻底讲透

10万+爆款解析:9大UML图实战案例,小白也能秒懂!为什么需要UML?UML(统一建模语言)是软件开发的“蓝图”,用图形化语言描述系统结构、行为和交互,让复杂需求一目了然。它能:降低沟通成本避...

勒索软件转向云原生架构,直指备份基础设施

勒索软件组织和其他网络犯罪分子正越来越多地将目标对准基于云的备份系统,对久已确立的灾难恢复方法构成了挑战。谷歌安全研究人员在一份关于云安全威胁演变的报告中警告称,随着攻击者不断改进数据窃取、身份泄露和...

ConceptDraw DIAGRAM:释放创意,绘就高效办公新未来

在当今数字化时代,可视化工具已成为提升工作效率和激发创意的关键。ConceptDrawDIAGRAM,作为一款世界顶级的商业绘图软件,凭借其强大的功能和用户友好的界面,正逐渐成为众多专业人士的首选绘...

APP 制作界面设计教程:一步到位_app界面设计模板一套

想让APP界面设计高效落地,无需繁琐流程,掌握“框架搭建—细节填充—体验优化”三步法,即可一步到位完成专业级设计。黄金框架搭建是基础。采用“三三制布局”:将屏幕横向三等分,纵向保留三...

MCP 的工作原理:关键组件_mcp部件

以下是MCP架构的关键组件:MCP主机:像ClaudeDesktop、GitHubCopilot或旅行助手这样的AI智能体,它们希望通过MCP协议访问工具、资源等。MCP主机会...

软件架构_软件架构师工资一般多少

软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。软件架构应该是能力最强的一群程序员,他们通常会在自身承接编程任务的同时,逐渐引导整个团队向一个能够最大化生产力的系统设计方向前进。软件系统的架...

不知不觉将手机字体调大!老花眼是因为“老了吗”?

现在不管是联系、交友,还是购物,都离不开手机。中老年人使用手机的时间也在逐渐加长,刷抖音、看短视频、发朋友圈……看手机的同时,人们也不得不面对“视力危机”——老花眼,习惯眯眼看、凑近看、瞪眼看,不少人...

8000通用汉字学习系列讲座(第046讲)

[表声母字]加(续)[从声汉字]伽茄泇迦枷痂袈笳嘉驾架咖贺瘸(计14字)嘉[正音]标准音读jiā。[辨形]上下结构,十四画。会意形声字,从壴从加,加也表声。注:从壴,字义与鼓乐有关;从加,字义与...

取消回复欢迎 发表评论: