1

我正在学习基本的UML建模,并且作为一个练习示例,我正在为医院建模一个UML类图。该医院有多个护理中心(即孕产中心,急救中心等)。护理中心有志愿者协助护理中心。志愿者也可以一次成为多个护理中心的一部分。UML类设计:不确定关于类之间的关联

因此,我创建了两个班:志愿者和护理中心。 我的问题是,这两个类之间的关联和基数会是什么?这是多对多还是一对多的关系?我的第一个想法是,志愿者班的多样性为0 .. *,护理中心的多样性为1 .. *。但是,我不确定这种关系,希望能够澄清这种关系。

回答

3

这是一个多对多的关系。

志愿者班的基数为0 .. *,假设护理中心可能并不总是有志愿者。这个基数代表每个护理中心的志愿者人数。

CareCenter班级的基数将为1 .. *,因为如果不会有至少一个护理中心自愿参加,志愿者不会成为志愿者。这个基数代表每个志愿者的护理中心数量。

您可以选择模拟班级人员而不是班级志愿者,并呼叫协会“为志愿者”。在这种情况下,CareCenter侧面的基数将为0 .. *,因为不是每个人都是志愿者。

1

我会说它应该是一个1..*1..*的关系。

理性:

  1. 护理中心有义工协助护理中心。

    换句话说,护理中心至少有一个志愿者。

  2. 志愿者也允许有多个护理,中心的部分一次。

    志愿者正在协助至少一个护理中心。如果不是,那不是志愿者。

图:

enter image description here

+2

我认为保健中心可以在没有志愿者以及存在。 –