2016-12-04 72 views
0

我正在做一个UML序列图,我有一个想要创建一个新的Circle对象然后将其添加到ActiveDrawables对象的GUI控制器对象。下图中的图表是否正确?或者我应该像Circle的生命线一样发送add()(认为这有点奇怪)?UML新生命线

enter image description here

在代码中,例如,控制器将是一个在画面中调用add一样,但我是有怀疑,我应该从圆的生命线(发送的消息,虽然,再次,这看起来很奇怪)。

回答

1

当然,这取决于你的设计,但你画的是通常的方法。

另一种方法(与Circle联系ActiveDrawables)有时也被使用,例如,

  • 当所有Circles必须是在同一个ActiveDrawables
  • 出于效率的考虑GUIController可能传递ActiveDrawables标识符CircleActiveDrawables
  • 立即创建它,如果Circle需求总是被附加到ActiveDrawables你可能也像前一点那样传递标识符

关于您的关系图的几件事情需要考虑:

  1. 您没有编号为您的邮件。它是通信图中使用的技术,而不是顺序图。
  2. 最后一条消息似乎是上一条消息的返回(回复)。你应该使用不同的箭头。
  3. 而不是Circle命名为生命线c1: Circle。然后,您将有一个类型为Circle的对象c1。然后在add操作中,您可以使用c1精确显示您传递的是新创建的Circle对象,而不仅仅是一些Circle
+2

Re。 2.:代替“不同......”写上“虚线表示返回”。回覆。 3:虽然':'-notation更清晰,但在生命线中写入没有':'的对象名称并不罕见(请参阅规格:第570页) –

+0

非常感谢您的帮助:)。我明白了。消息的编号实际上是Visual Paradigm(我用来绘制图表的工具)似乎是默认添加的。我会尝试删除它们。 – PhantomR

+0

@PhantomR他的编号不会有问题。这只是多余的。不能帮助VP,但可能会有一些设置。 –