序列图UML 2.0问题

时间:2015-09-09 13:02:02

标签: uml sequence diagram

关于序列图,我有几个问题,想知道是否有人能指出我正确的方向。

这是我到目前为止提出的图表:

http://i.stack.imgur.com/KyF01.png

我不确定这是否正确。

以下是我对此图和一般序列图的问题:

首先,我想知道我是否需要一个循环,因为添加另一个雇主不是务实,而是依赖于用户在显示的对话框上点击“添加另一个雇主”。

如果需要循环,有没有办法正确指定do while循环?因为图表看起来有点混乱,循环条件“添加另一个雇主”但是在调用“displayAddAnotherEmployer()”之后,在“if detailsValid”部分中确定添加另一个雇主

如果我有条件,例如“保存雇主详细资料”条件,我是否仍需要向雇主联络官显示保存雇主详细信息并与视图互动?或者if条件暗示了这一点吗?

演员可以在他们的生命线上执行吗?

最后,在“else if cancel”条件下,我是否需要一个“休息”,条件是“如果添加另一个雇主”,或者是否在视图关闭时暗示?

感谢您花时间阅读本文,我们非常感谢您的帮助。

编辑:同一图表的第二个版本,哪一个更清楚? http://i.stack.imgur.com/8BlgX.png

1 个答案:

答案 0 :(得分:1)

您不应过度使用关于算法细节的序列图。早在80年代,我们就认为图形化编程将成为未来。所以现在我们知道它只是废弃物。虽然一张图片可以说超过1000个单词,但在许多情况下编程语言告诉我们在通话情况下这不是真的。你花了多长时间来创建该图表?用元语言写几个单词需要多长时间?

如果您有某种更全局的依赖关系,您可以/应该使用片段,应该突出显示。再次,不要开始使用嵌套片段。最好使用两个图表,最后使用图表门来突出显示嵌套循环的两个(或更多)效果。

现在针对其他条件:如果事情很明显,则无需显示详细信息。通常,简单的注释比过度构造的序列图更有帮助。

演员很可能是生命线。只需实例化任何一个actor,它就可以向对象发送消息(点击鼠标,输入键等)。

对于else-if,只需看看我上面所说的内容。