UML 学习

什么是 UML

面向对象的程序设计工具,独立于任何具体的程序语言

类图

关联关系

关联是一种拥有关系,具有方向性

  1. 单向关联,使用带箭头的实线表示,箭头指向被拥有方
  2. 双向关联,使用双向箭头或者不带箭头的实线表示

聚合关系

聚合关系表示整体与部分的关系,使用空心灵性带箭头的虚线表示,菱形指向整体,箭头方向指向个体

eg: 公交车与公交车队

组合关系

组合关系也表示整体与部分的关系,但是比聚合关系更为严格

使用实心菱形的箭头实线表示,菱形指向整体,箭头指向个体

组合关系和聚合关系有什么区别

  1. 组合需要两者有相同的生命周期
  2. 聚合是整体与个体的关系

泛化关系

表示泛化的元素与具体的元素之间的关系,可以理解为继承

用带三角箭头的实线表示,箭头指向父类

实现关系

表示类实现接口的关系

用带三角箭头的虚线表示,箭头指向接口

依赖关系

一个类修改后会影响到另一个类,这就是依赖关系,一般而言,依赖关系是单向的

用带箭头的虚线表示,箭头指向依赖者

关联关系和依赖关系的区别

  1. 依赖更多时候是作为参数传入
  2. 关联关系是一种拥有关系

时序图

组成元素

  1. 角色
  2. 对象
  3. 生命线
  4. 控制焦点,表示一段业务逻辑
  5. 消息
  6. 自关联消息
  7. 组合片段

举例

图中,client、server、device 为对象

箭头表示消息

虚线表示返回值

处理流程是控制焦点

相关推荐
何事误红尘19 小时前
全志A40i学习笔记():开发资料、启用串口
学习
for_ever_love__19 小时前
python基础语法学习: 异常的传递性
开发语言·python·学习
PC2005-cloud19 小时前
DeepSeek Harness 创建 skill 指南:结构、安装、使用
笔记·学习
YM52e20 小时前
分页查询的基石:ArkTS 为鸿蒙商品列表设计 LIMIT/OFFSET 的表
android·学习·华为·harmonyos
math_hongfan20 小时前
主从嵌套层次分明:ArkUI 订单卡片内嵌明细的鸿蒙界面
学习·华为·harmonyos
还不秃顶的计科生1 天前
具身智能论文学习8:Octo: An Open-Source Generalist Robot Policy
人工智能·深度学习·学习·机器学习·语言模型·vla·vlm
woshihuanglaoshi1 天前
事务加持防超卖:ArkTS 在鸿蒙里玩转 TRANSACTION 出入库
学习·华为·harmonyos
世人万千丶1 天前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙
2601_949950631 天前
在线练题更方便,用练题簿打造属于自己的移动题库
学习·考研·刷题·小程序推荐
woshihuanglaoshi1 天前
十二商品二十流水:鸿蒙进销存种子数据装满预警看板
学习·华为·harmonyos