eclipse - UML 序列图

标签 eclipse uml modeling

我在使用 Eclipse Papyrus 建模 SD 时遇到了一些问题,不是因为该工具(实际上制作得非常好),而是因为我对 OMG 规范的理解错误。

考虑这个简单的例子:

我有一个类 ClassA 的模型,其中包含两个不同类 的两个实例(比如 bObj:ClassB 和 cObj:ClassC)ClassA 提供与通过 SequenceDiagram 指定的行为相关的操作(即 classAOperation(int param))。

现在,该行为包括调用 bObj:ClassB 的操作(.classBOperation(int param))和 cObj:ClassC 的操作(即 classCOperation(int参数))。

我想知道如何通过 SD 来建模这个非常简单的行为。 这个问题基本上与LifeLine有关。

根据 OMG 规范。生命线只能代表(代表属性)一个 ConnectableElement,在我的例子中是两个,对应于实现组合为 ClassBClassC 的 ClassA 属性 实例(bObj 和cObj)

问题是,我还需要引用这些可连接元素的容器,也就是说实际执行此类紧急行为的 ClassA 实例。正是该实例向 bObj:ClassBcObj:ClassC 生命线发送消息(与操作调用相关)。 此外,由于此行为对应于 ClassA:classAOperation(int param) 调用,我还需要通过正式门来表示 classAOperation(int param) 消息。但同样,由于我无法对容器生命线进行模式化,所以我看不到将 classAOperation(int param) 消息附加到哪个结尾。

最佳答案

确实可以引用 self 实例

事实上 UML 规范 2.5b1 第 607 页,提到了关于生命线的内容。 如果名称是关键字 self,则生命线表示包含拥有生命线的交互的分类器的对象。即使包括自身,也可以单独显示外壳的端口。

enter image description here

查看 http://lowcoupling.com/post/47844944042/uml-sequence-diagrams

完整示例

关于eclipse - UML 序列图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14291857/

相关文章:

uml - 如何表示一个包的所有类都实现了一个接口(interface)

java - 在客户端-服务器环境中建模用户类的最佳实践

java - 比较编辑器示例

java - ANDROID - 测量用户发出的声音水平并显示它

uml - 评估 UML 类图

uml - 什么是 UML 中的剖面图?

java - 如何捕获字符串表达式并仅替换其中的一部分?

android - 该项目引用 RTL 属性,但未明确启用或禁用 RTL 支持

java - 我可以将 EMF/ECore 用于基于 XML 的模型吗?

c# - RavenDB 为日历应用程序建模