1

我必须对初始化的顺序进行建模。在这个序列中,一个模块 A 必须设置模块 B 的全局变量。

那么如何在 UML 中对此进行建模。

由于没有消息或事件,我无法绘制从模块 A 到模块 B 的箭头。

我的想法是在模块 A 的生命线旁边设置注释或标签,以设置模块 B 的全局变量。

但这感觉并不真正“干净”。

4

2 回答 2

2

一张便条就可以了。发送消息也可以,因为访问属性或全局变量基本上没有区别。您可能会将该全局变量标记为具有类似<<global>>或类似的刻板印象的属性。

附带说明:SD 不是为图形编程而发明的,您不应该将每个细节都放在一个 SD 中。它们用于说明复杂的对象交互场景并帮助传达它们。为编码人员留出空间,因为他们不是需要精确定义每一位的愚蠢机器。

于 2019-08-19T08:35:19.413 回答
1

显然,模块 B 没有setGlobals设置变量的操作(或单独的设置器)。模块 B 没有适当的封装。这是不可取的,但我会接受它作为一个事实。

通常,序列图旨在显示对象之间的消息交换(在您的情况下:模块)。由于没有用于设置变量的消息交换,您可以考虑根本不在序列图中显示此操作。

如果您确实想在序列图中显示操作,因为这是流程中的重要步骤,我建议在模块 A 中设计一个私有方法来设置变量,例如setGlobalsOfModuleB然后调用它:

sd

或者,您可以使用注释。

于 2019-08-20T10:29:50.873 回答