UML Class 与当前时刻或系统生命周期相关的关系
UML Class relationships with respect to current moment or system lifetime
我对下图有疑问
我的问题是 driver - Car 和 Passenger 和 Cars 之间的关系。
1- driver 端的 * 表示一辆车可以由多个 driver 驾驶,这是系统生命周期中两者的关系类。
2-另一种情况下车与乘客之间的关系是实时关系,同一辆车最多只能有0-7名乘客。
我是不是搞错了什么?
我应该如何考虑这些关系,是物体之间的实时关系还是汽车寿命的关系
这实际上看起来像废话:-)
表示一个Driver
操作1个或多个Cars
。多任务处理可能是人类的一些新能力(我对此表示怀疑)。所以同时开两辆车会很困难,但是 *
辆车呢?
这样的 class 图表的缺点是您看不出是什么关系。我假设 operates
但它很可能意味着 owns
。角色名称可以澄清这种歧义。
当前和历史关系都可以使用关联来表达。
在 Driver
当前驾驶员和曾经驾驶过汽车的每个人的情况下,可以使用两种不同的关联来表达。
一个Car
只能有一个CurrentDriver
,一个Driver
一次只能驱动一个Car
,但是可以有很多HistoricalDrivers
随着时间的推移,他们可能驾驶过许多不同的 Cars
。
您将 Engine
和 Wheel
建模为聚合这一事实让我有些吃惊。聚合实际上是 shared AggregationKind,我从未见过 Engine
或 Wheel
同时成为两辆车的一部分。我真的不明白你为什么不在这里使用组合的原因。
我对下图有疑问
我的问题是 driver - Car 和 Passenger 和 Cars 之间的关系。
1- driver 端的 * 表示一辆车可以由多个 driver 驾驶,这是系统生命周期中两者的关系类。
2-另一种情况下车与乘客之间的关系是实时关系,同一辆车最多只能有0-7名乘客。
我是不是搞错了什么? 我应该如何考虑这些关系,是物体之间的实时关系还是汽车寿命的关系
这实际上看起来像废话:-)
表示一个Driver
操作1个或多个Cars
。多任务处理可能是人类的一些新能力(我对此表示怀疑)。所以同时开两辆车会很困难,但是 *
辆车呢?
这样的 class 图表的缺点是您看不出是什么关系。我假设 operates
但它很可能意味着 owns
。角色名称可以澄清这种歧义。
当前和历史关系都可以使用关联来表达。
在 Driver
当前驾驶员和曾经驾驶过汽车的每个人的情况下,可以使用两种不同的关联来表达。
一个Car
只能有一个CurrentDriver
,一个Driver
一次只能驱动一个Car
,但是可以有很多HistoricalDrivers
随着时间的推移,他们可能驾驶过许多不同的 Cars
。
您将 Engine
和 Wheel
建模为聚合这一事实让我有些吃惊。聚合实际上是 shared AggregationKind,我从未见过 Engine
或 Wheel
同时成为两辆车的一部分。我真的不明白你为什么不在这里使用组合的原因。