UML

内容来自哔哩哔哩 【「软件设计师」 上午题 #8 UML】https://www.bilibili.com/video/BV1a44y1K7HH?p=17&vd_source=9b8c66469d7ef16dfa8f33c398331cdb

2024年11月16日22:14


泛化、关联

image-20241116220550838


依赖、关联、聚集(聚合)、组合、泛化、实现

image-20241116221121028


image-20241117091237039


image-20241117092845609


image-20241117100928851


image-20241117101254409


image-20241117105106052


image-20241117105637262


image-20241117212943627


image-20241117223209435


image-20241118212706122


包含关系(include)

  • 本质强制性的依赖关系,表示基础用例必须执行包含的用例,否则功能不完整。
  • 箭头方向:从基础用例指向被包含用例(虚线箭头 + <<include>>)。
  • 示例
    • 基础用例:"网上购物"
    • 包含用例:"支付"
    • 解释:用户完成购物时,必须执行支付流程,否则订单无法成立。

image-20241118233149933


扩展关系(extend)

关键字

  1. 如果/假设/若
  2. 只有
  • 本质条件性的扩展关系,表示基础用例在特定条件下可能执行扩展用例,非必需。
  • 箭头方向:从扩展用例指向基础用例(虚线箭头 + <<extend>>)。
  • 示例
    • 基础用例:"登录"
    • 扩展用例:"找回密码"
    • 解释:只有当用户忘记密码时,才会触发“找回密码”流程,否则不执行。

image-20241118232705148


泛化关系(generalization)

  • 本质继承关系,子用例继承父用例的行为,并可扩展或覆盖父用例的功能。
  • 箭头方向:从子用例指向父用例(实线空心三角箭头)。
  • 示例
    • 父用例:"支付"
    • 子用例:"支付宝支付""信用卡支付"
    • 解释:不同支付方式是“支付”的具体实现,继承支付的共性(如输入金额)。

image-20250426113036253

image-20250426113224910