首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OOAD对多重性或基数的澄清

OOAD对多重性或基数的澄清
EN

Stack Overflow用户
提问于 2016-03-30 22:58:33
回答 2查看 476关注 0票数 1

在设计类图时,我对基数/多重性感到困惑。我主要的困惑是什么时候代表1-*关系。如属乘客及座位类别,乘客将获分配至一个座位,而由于座位可在某一时间点分配给一名乘客,但在该座位存在的一段期间内,该座位可分配予多名乘客。

所以座位-->乘客是1-1还是1-*

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-01 15:43:13

让我们总结一下:

  • 在一个精确的时刻:
    • 每个Passenger将被分配给恰好一个Seat (1)。公开问题:Passenger是否已经存在于分配之前(即1或0..1)?
    • 每个Seat可以有一个已分配的Passenger,但它可能仍然是空的(所以.1)

  • 他们的一生:
    • 每个Passenger都可以分配到多个座位(每个航班一个)。
    • 每个Seat都可以分配许多Passenger

结论:SeatPassenger的关系是*-* (多到多)。

票数 1
EN

Stack Overflow用户

发布于 2016-05-17 19:20:37

这完全取决于,你要做什么模型。

  • 如果我们是在模拟每次旅行的预订,那将是一个座位1-- 0..1 乘客。
  • 如果我们是在模拟每次旅行的预订,并且每一班只有几个座位(但没有指定一个特定的座位),那么它可以是SeatClass 1-- 0..SeatClass.availableSeats乘客。
  • 如果我们建立一个分析乘客行为的系统(例如,为某位乘客提供最佳座位),那么它将是一个乘客1<>-*座位。
  • 如果我们建立一个分析座位使用情况的系统,它可以是座位1<>-*乘客。

等。

我可以想象还有很多其他的可能性。

其思想是您对特定的系统进行建模,并且需要表示特定的业务需求。多样性将取决于这一点。根据经验,你对某个时间点上的情况感兴趣(请注意,在我的最后两个例子中,您在某个时间点处理座位分配的历史记录)。

所以我的结论是:没有简单的答案。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36321220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档