我刚开始使用Dia。我正在尝试构建一个序列图。我想代表自己的电话。如何在Dia中做到这一点?我无法理解。
感谢。
答案 0 :(得分:13)
首先放置一个UML Message对象,并将其基础附加到生命线上。
然后,双击箭头(或右键单击“属性”),将“消息类型”下拉字段更改为“递归”,您将得到如下内容:
现在,您可以拖动绿色锚点,使消息箭头看起来像您想要的那样。 (需要注意的是:似乎使用Recursive Message对象,你只能通过点击它来准确选择绿色锚点所在的位置。我说“会是”因为当然你实际上看不到未选择对象时的绿色锚点。)
如果您愿意,可以创建另一个UML Lifeline对象,并将其与现有生命线重叠,如下所示:
但是,这并不理想,因为这第二条生命线实际上没有任何东西。 Recursive Message对象不允许您选择附加箭头的位置,因为它会自动附加到它所源自的生命线。而且因为第二条生命线没有附着在任何东西上,如果你去移动物体就会被遗忘。但是,它确实看起来很漂亮,如果这就是你所追求的。 :)
答案 1 :(得分:0)
UML中的自我调用(或任何其他关联)使用标准关联表示法而不是消息表达式更好地表达。在DIA中,从左侧的工具箱中插入关联表示法并将其添加到画布中。然后为了让它以递归方式连接一个类(对自己),双击它并单击选择“Autoroute”为no。这将使您能够自己塑造路线,并且不会将您约束到将类链接到自身时绘制的自动直线。
你最终会得到这样的东西(在这个例子中它是链接列表中Node的表示):