要么/ OR类图

时间:2018-05-14 08:43:59

标签: class uml class-diagram

我正在使用UML考试,并希望有人能够回答我的问题。

在问题领域,它表示每个参加活动的客户都会签订合同,包括收件人和组织者。我最后得到了一个类图,我将两个inviduals和组织者之间的关联联系到合同类,请查看附件。

我的问题:我是否可以通过与两者签订协议来表示签订合同或组织者签订合同?

enter image description here

2 个答案:

答案 0 :(得分:1)

根据我的理解你的问题,你应该使用与这两个关联相关联的xor。它可以是从一个关联到另一个关联的虚线,标记为{xor},也可以创建带有文本{xor}的注释,并将其链接到两个关联。您必须将多重性结束更改为0..1以避免生成错误的图表。

Xor表示对于特定合同,存在与两个关联之一相对应的一个链接。

Xor在UML specification中有具体描述。在规范的2.5.1版(当前版)中,见7.6.5节,图7.16。

答案 1 :(得分:1)

要做到这一点,最好的可能是引入“客户”概念,如下所示。客户与合同之间的关联意味着一个客户签署一份合同并且合同由一个客户签署。客户与组织者和个人之间的继承链接意味着他们是允许签署合同的客户。

enter image description here

如果你想保留你的原始设计,你可以添加一个约束来表达个人或组织者可以签署合同的事实,但对我来说似乎不太优雅。

enter image description here