软考 UML 关系总结

77 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第6天,点击查看活动详情

1. 关系

UML图中有4种关系:依赖、关联、泛化和实现


1.1 依赖

依赖是两个事物之间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义。

A(依赖事物) ------------------> B(独立事物)


1.2 关联

关联是一种结构关系,它描绘了一组链,链是对象之间的连接。

关联上可以标注重复度和角色(线上是重复度(多重度),线下是角色

0..1 0..*

A ———————— B

employer employee

表示一个employer对应0个或多个employee

一个employee对应0个或1个employer

1.2.1 聚合

聚合:部分和整体的生命周期不一致,整体消失了,部分仍然存在。

部分可以脱离整体存在。

A(部分) ————————◇ B(整体)

举例:

学生和班级,班级消失了,学生依旧存在。

1.2.2 组合

组合:部分和整体的生命周期一致,整体消失了,部分也消失了。

部分不可以脱离整体存在。

A(部分) ————————◆ B(整体)

举例:

一般情况下,意识和人,意识没了,人也没了;人没了,意识也没了。

1.3 泛化

泛化是一种特殊/一般的关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。子元素共享了父元素的结构和行为。

A(子元素) ————————▷B(父元素)

举例:

学生————▷人,学生是人的子元素。

1.4 实现(不怎么考)

实现是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。

在两种情况会使用实现关系:

  • 接口和实现它们的类或者构建之间
  • 用例和实现它们的协作之间

A(类) -------------------▷ B(接口)