【问题标题】:UML diagram for method argument方法参数的 UML 图
【发布时间】:2016-06-18 03:50:05
【问题描述】:

假设我有以下代码:

class A {
public:
    void doSomething(B* b);
}

class B {
}

如何在 UML 图中描述这一点?我的第一个想法是A使用B,所以从A到B应该有一条虚线。但是在一些学校论文中(这是学校作业报告的一小部分)他们似乎使用了聚合符号(空菱形和实线)。

这对我来说似乎不对 - 如果 A 实际上包含指向 B 作为成员的指针,那似乎是对的。但是当只有一些方法使用指向 B 的指针,并且不将其存储在任何成员变量中时,这似乎是错误的。

这里有什么?

(我可以问我的老师,但他们通常需要很长时间才能回答这类问题......老实说,我更相信 Stackoverflow 的集体智慧 :))

【问题讨论】:

    标签: c++ uml aggregation class-diagram


    【解决方案1】:

    您应该在 A 和 B 之间使用简单的依赖关系:

    A 只是在操作中使用 B 作为参数。如果您有一些 B 类型的属性,那么您将使用关联。聚合只提供了一点额外的语义,您可以(/应该)将其省略,除非您知道要传输某些特定信息。

    【讨论】:

      【解决方案2】:

      class Aclass B 之间不应有任何箭头。类之间的箭头用于表示“关联”。

      关联表明您正在开发的系统商店 关联类型的实例之间的某种链接。

      来源:Properties of associations on UML class diagrams

      要捕获/表示void doSomething(B* b);,您可以尝试使用活动图,更多信息请参见this link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-29
        • 2015-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多