Uml 客户与个人/组织之间的聚合关系

Uml 客户与个人/组织之间的聚合关系,uml,domain-model,Uml,Domain Model,我有一个客户对象,该对象将包含个人对象或组织对象。这些个人对象或组织对象可能独立于客户对象而与其他对象有关系。在这种情况下,我应该使用Client->Person和Client->Organization之间的一般聚合关联,其中Client对象是整个对象 还要注意以下情况: 人在以下情况下可能是正常的人个人代表客户(*组织*)付款 人可能是从我们那里购买了产品的客户 人可能是供应商 不要忘记两个关联之间的xor约束(因为客户机不能同时连接到个人和组织)虽然您确实没有提供足够的信息,但听起来您在描

我有一个客户对象,该对象将包含个人对象或组织对象。这些个人对象或组织对象可能独立于客户对象而与其他对象有关系。在这种情况下,我应该使用
Client->Person
Client->Organization
之间的一般聚合关联,其中Client对象是整个对象

还要注意以下情况:

  • 在以下情况下可能是正常的个人代表客户(*组织*)付款
  • 可能是从我们那里购买了产品的客户
  • 可能是供应商

  • 不要忘记两个关联之间的xor约束(因为客户机不能同时连接到个人和组织)

    虽然您确实没有提供足够的信息,但听起来您在描述一个典型的客户机

    我怀疑你的客户实际上并没有一个人或一个组织,而是一个人或一个组织是一个客户,或者说,一个人或一个组织可以在某种关系中扮演客户的角色


    有多种方法对此进行建模,但没有一种正确的解决方案。您可能会发现这很有帮助

    您知道如何在BOUML中实现它吗?您是否同意我应该使用一般聚合?没有足够的信息来确定这是聚合还是正常关联,但语义几乎相同,因此没有那么重要客户机对象将拥有更多(客户机)除了Person或Organization类将拥有的数据之外的信息。我已经检查了您提供的文章,我更喜欢第4条(角色类泛化),但由于PHP不支持多重继承,我将尝试第3条(角色类关联),这是我建议的,但它使用的是正常关联。