【问题标题】:Meaning of association in a UML class diagramUML 类图中关联的含义
【发布时间】:2016-03-26 14:21:17
【问题描述】:
Plane 类旁边的 0...1 表示 Flight 的一个实例与没有或一个 Plane 实例相关联。但是 Flight 类没有 Plane 类型的属性成员。
那么这样的关联Flight-->Plan会在系统的什么地方看到呢?在 UML 类图中“被关联”到底是什么意思?
【问题讨论】:
标签:
java
uml
class-diagram
【解决方案1】:
我会简单地链接到 JimL 的答案 here,它链接到 Geert 的博客。简而言之:关联是属性。它们只是同一事物的不同(更好)渲染。
在您的示例中,两个 assign* 关联端名称是相对类中的属性。
【解决方案2】:
根据UML standard(B3.2 部分),末尾带有点的关联可能意味着它们是属性。
与通常的箭头或没有它们的关联,仅表示从一个类到另一个类的现有导航。这可能意味着,如果 A 类与 B 有关联,则:
- A 具有 B 实例作为属性。
- A 将实例 B 作为局部变量。
- A 对 B 的某个实例有一些引用(以引用...)并使用它(仅引用与 B 有关联的某个类 C 是不够的)
- A 有一个返回 B 实例的方法。
- 可能存在 B 实例的集合或数组,而不是单个 B 实例。
- A 有一些以前可导航到 B 的方式,但我们没有指定其中的哪一种。 (未指定导航)
2.5 标准的最新版本提供了几种方法来设置在关联末端显示箭头和十字的规则 (11.5.5),但绝不能仅限于属性。
阅读标准,没有博客。关于 UML 的 Internet 民俗知识非常非常贫乏。