3

我对下图有疑问

在此处输入图像描述

我的问题是司机之间的关系 - 汽车和乘客和汽车。

1-司机端的*表示一辆车可以由许多司机驾驶,这是系统生命周期中两个类之间的关系。

2-在另一种情况下,汽车和乘客之间的关系是实时关系,最多只能有0-7名乘客在同一辆车上。

我有什么问题吗?我应该如何考虑关系,是对象之间的实时关系还是汽车生命周期的关系

4

2 回答 2

4

这实际上看起来像胡说八道:-)

这意味着 aDriver操作 1 个或多个Cars。多任务处理可能是人类的一些新能力(我对此表示怀疑)。所以同时驾驶两辆汽车会很困难,但是*汽车呢?

这种类图的缺点是你看不到是什么关系。我假设operates但它可能意味着owns。角色名称将澄清这种歧义。

于 2015-12-06T20:33:28.103 回答
2

当前历史的关系都可以使用关联来表达。

在当前驾驶员的情况下Driver,以及曾经驾驶过汽车的每个人都可以使用两种不同的关联来表示。

ACar只能有一个CurrentDriver,并且 aDriver一次只能驾驶一个Car,但是随着时间的推移HistoricalDrivers,可能会有很多人驾驶过很多不同的东西Cars

汽车司机协会

Engine您建模和聚合的事实Wheel让我有些惊讶。聚合实际上是一个共享的AggregationKind,我从未见过一个Engine或一个Wheel同时属于两辆车的情况。我真的不明白为什么你不会在这里使用组合物。

于 2015-12-07T07:26:23.043 回答