UML - 3个类之间的关联

时间:2017-01-12 11:13:14

标签: class associations uml ternary

我有一条声明,我不明白如何在类图中对其进行建模。这是关于一级方程式比赛。这篇文章如下:

  

我们每个赛季每回合只能进行一场比赛

因此 CIRCUIT SEASON RACE 之间存在关联。

我相信它是一个三元协会,但是配偶告诉我,它可能是 CIRCUIT - SEASON 之间的关联,然后是 之间的关联 > RACE

Association of an association diagram

那张照片错了吗?我的意思是,据我所知,关联应该在两个班级之间。不是在班级和协会之间......

非常感谢你!!!!

修改 声明是错误的,我重申了它并且可以翻译成:(想象我们有3个电路)

  • 第1季中的电路A - >第1场比赛
  • 第1季中的电路B - >第2场比赛
  • 第1季中的电路C - >第3场比赛
  • 第1季中的电路A - >第4场比赛(这不应该被允许,我们每个赛季每回合只能进行一场比赛)
  • 第2季中的电路A - >第5场比赛(这是正确的)

我们每个赛季每回合只能进行一场比赛

2 个答案:

答案 0 :(得分:3)

要根据需要使Race成为关联类,请使水平连接器变为虚线并删除多重性。上面目前显示了一种三元连接器(见讨论)。

enter image description here

这相当于

enter image description here

多重性0..1表示每个赛季和赛道都有一场或没有比赛。

答案 1 :(得分:0)

根据我的理解,下图根据需要对情况进行建模:

UML diagram

每个赛季都可能与赛道有赛道关联,反之亦然。如果特定季节与特定电路具有Race关联,则该关联只有一个Race关联类实例。

一个赛季不一定与一个循环有关,那么这个组合就没有竞争。

每个赛季最多只有一场比赛的限制 - 电路组合现在来自哪里?这是因为在一个关联端上具有*(或任何数字> 1)意味着实例可能与多于1个不同其他实例相关联,而不是与一个实例相关联多次和另一个实例相同。

在这个例子中,季节实例可能与几个不同的电路相关联,但不能与同一个电路相关联几次。 (如果您想对此进行建模,则必须使用例如多个关联或合格的关联)