在UML中,我可以在两个类之间有两组关系吗?

时间:2017-05-04 19:47:40

标签: uml class-diagram

鉴于以下情况:

  

RQ1:航班只能由一架飞机执行

     

RQ2:可以将飞机分配到零个或多个航班

所以我有一个名为 Flight 的班级和一个名为 Plane 的班级。

我不知道我是否过度考虑了飞行飞机之间的关系。

因此,对于RQ1,你在飞行和飞机之间有一个关联,多重性将是Flight [1] ------ Plane [1]

但随后RQ2出现了,我需要飞行和飞机之间的关联,但我如何管理多重性?我认为这将是Flight [0...*] ------ Plane [1]

Problem is, doing that creates two classes and two association lines and 2 pairs of/4 individual multiplicity values which doesn't sound right either.

1 个答案:

答案 0 :(得分:1)

当然可以。想象一下从Person到自我的自我关系。一个是Father,一个是Mother(暂时忘记这可能是不同的,因为不是很远)。因此,您可以根据需要在两个类之间建立尽可能多的关系。

如果您使用角色名称,情况将会清除。因此,RQ2的关联名为assignedFlights。 RQ1中的carriedOutFlight角色也可以是assignedFlights的索引(作为实现变体)。但当然它也可以是一种不同的联想。