UML序列图

时间:2013-01-12 09:03:37

标签: eclipse uml modeling

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

考虑这个简单的例子:

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

现在行为包括调用bObj的操作:ClassB( ie .classBOperation(int param))和cObj:ClassC的操作(即classCOperation(int param))。 / p>

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

根据OMG规范。生命线只能代表(表示属性)一个ConnectableElement,在我的情况下是两个,对应ClassA属性,实现ClassBClassC实例(bObj and cObj)的组合}。

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

2 个答案:

答案 0 :(得分:2)

确实可以引用自我实例

实际上UML规范2.5b1第607页,关于生命线的说法。 如果名称是关键字self,则生命线代表包含拥有生命线的交互的分类器的对象。即使包括self,封闭器的端口也可以单独显示。

enter image description here

请参阅 http://lowcoupling.com/post/47844944042/uml-sequence-diagrams

获取完整示例

答案 1 :(得分:-1)

我认为,在序列图中,您需要显示调用序列,而不是更多。我认为,对于可连接元素,对容器等的引用并不重要。它只是显示对象之间的调用链。我可以调用序列图:消息传递图。

sequence diagram