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

问题描述 投票:0回答:1

鉴于以下情况:

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

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

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

我不知道我是否过度思考了FlightPlane之间的关系。

因此,对于 RQ1,您将在 Flight 和 Plane 之间建立关联,并且重数将为

Flight [1] ------ Plane [1]

但随后 RQ2 出现,我需要在 Flight 和 Plane 之间建立关联,但如何管理多重性?我觉得应该是

Flight [0...*] ------ Plane [1]

问题是,这样做会创建两个类和两条关联线以及 2 对/4 个单独的多重值,这听起来也不正确。

uml aggregation class-diagram multiplicity
1个回答
2
投票

当然可以。想象一下从

Person
到自我的自我关系。一个是
Father
,一个是
Mother
(只是暂时忘记这可能与不久前不同)。因此,您可以根据需要在两个类之间建立尽可能多的关系。

如果你使用角色名称,情况就会清楚。因此,RQ2 的关联将被命名为

assignedFlights
。 RQ1 中的
carriedOutFlight
角色也可以是
assignedFlights
的索引(作为实现变体)。但当然它也可以是不同的协会。

© www.soinside.com 2019 - 2024. All rights reserved.