【问题标题】:Is this UML Object Diagram allowed for this Class Diagram?这个类图是否允许这个 UML 对象图?
【发布时间】:2020-05-14 16:01:20
【问题描述】:

我有这个基本的类图:

并且想知道是否允许此对象图:

给出了类图,我想知道是否可以创建一个对象图,其中两个客户(可能是妻子和丈夫)使用这种结构共享同一个银行帐户。但是因为使用了组合,如果其中一个所有者被删除,银行账户就会被删除,对吧?所以这个类图不太适合共享账号吧?

【问题讨论】:

    标签: class uml diagram software-design


    【解决方案1】:

    第二张图中对象的这种场景确实是无效的。原因是composition 意味着独占所有权。

    要让多个客户共享一个帐户,您必须更改类图,例如:

    • 使用聚合而不是组合(白色菱形)。尽管 UML 规范中没有很好地定义它的语义,但它在任何情况下都允许共享所有权。
    • 使用简单的关联(不带菱形)。您可以用明确的多重性来表达一个帐户有多个客户的事实。
    • 使用复合客户端:客户端可以是一个人,也可以是多个客户端的组。这种结构更复杂。

    【讨论】:

    • 我会交换前两个项目符号,因为聚合是一个相当模糊的结构(这个定义是故意留空的)。
    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 2018-03-22
    • 1970-01-01
    • 2020-04-19
    相关资源
    最近更新 更多