在设计类图时,我对基数/多重性感到困惑。我的主要困惑是何时表示 1---* 关系。例如,在乘客和座位等级的情况下,乘客将被分配到一个座位,因为座位可以在 A POINT IN TIME 分配给一名乘客,但在其存在的一段时间内,它可以分配给许多乘客。
那么座位--->乘客应该是1-1还是1-*?
在设计类图时,我对基数/多重性感到困惑。我的主要困惑是何时表示 1---* 关系。例如,在乘客和座位等级的情况下,乘客将被分配到一个座位,因为座位可以在 A POINT IN TIME 分配给一名乘客,但在其存在的一段时间内,它可以分配给许多乘客。
那么座位--->乘客应该是1-1还是1-*?
让我们总结一下:
Passenger
将被分配给恰好一Seat
(1) 个。开放式问题:Passenger
分配之前是否已经存在(即 1 或 0..1)?Seat
都可以分配一个Passenger
,但它可能保持为空(所以 0..1) Passenger
都可以分配到多个座位(每个航班一个)Seat
很多。Passenger
Seat
结论:和之间的关系Passenger
是*-*
(多对多)
这完全取决于你的模型。
等等
我可以想象很多其他的可能性。
这个想法是你为一个特定的系统建模,你需要代表特定的业务需求。多样性将取决于此。根据经验,您对某个时间点的情况感兴趣(请注意,在我的最后两个示例中,您正在处理某个时间点的座位分配历史记录)。
所以我的结论是:没有简单的答案。