UML:多重概念

时间:2017-07-31 02:36:12

标签: uml erd

我的问题是关于UML的多样性。我试图理解多重性的概念,例如,允许一个人拥有许多汽车但是一辆汽车是一个人。如果有2个班级,人和汽车,它将是1比1和1比1.但是,与另一个例子相比;汽车和零件,1辆汽车会有很多零件,这是1到多...汽车零件怎么样?它是1:M作为1部分(螺丝)被许多汽车使用?或1:1导致该部件仅用于1辆汽车?

2 个答案:

答案 0 :(得分:1)

在尝试确定类和基数之间的关系时,始终建议考虑类的实例。在这种情况下,您有汽车和零件。例如:

  • 如果您有一辆汽车(例如红色轿车),它将有许多零件(例如发动机,油箱,轮胎等)。
  • 如果你有一个特定部件的项目(例如一个引擎),那只能安装并属于一辆汽车(例如红色轿车)。

汽车可以有一个和多个零件之间的任何位置(1..M),一个零件最多只能安装在一辆汽车中(0..1)。

因此,汽车与零件之间的关系为1:M(使用每侧的最大值,如下所示)。

--------                          --------
| Car  |  0..1  ----------  1..M  | Part |
--------                          --------

答案 1 :(得分:0)

同一对类可能有不同的连接:

  • 一个人有车 - 多样性是1:(0..n),一个人可以有几辆车,任何车都有车主。
  • 一个人驾驶汽车 - 多重性是(0,1):( 0,1),一个人驾驶一辆汽车,一辆汽车可以驾驶。
  • 一个人坐在车里 - 多重性是(0,n):( 0,1),一个人只能坐在一辆车里。汽车可容纳0人。

因此,这两个类块将具有三个不同名称的连接,每个连接都有自己的多重性。

你可以拥有更多的联系,例如,被汽车杀死的人,人,人,修理汽车的人,有权驾驶汽车的人,等等,这取决于你的任务。

如果你有许多不同的连接,那么为每种连接创建一个特殊的类会更容易理解。

但无论如何,这对类本身并没有定义这种连接。要设置连接,您必须写下更多信息。