登录操作的序列图

时间:2015-12-06 17:33:00

标签: uml visual-paradigm

这是我第一次使用视觉范例和uml,我对我应该如何展示某些行为感到有点困惑。 我希望在网站上绘制一个非常经典的登录操作的序列图:首先用户提交一个带有用户名和密码的表单,控制器检查是否有注册用户使用该用户名(1),然后查看是否提交的密码与为用户保存的密码相匹配。 如果答案为“是”,则向正在登录的用户(2)(与启动操作的用户不同的实体)发送“ok”信号,否则向原始用户发送“错误密码”响应( 3)。三个“错误密码”信号导致安全程序阻止任何登录尝试12小时(4)

这是我设法创建的

enter image description here

我自己非常怀疑这可以接近我想要描述的内容,首先(1)应该是终止点,程序必须由用户重新启动,我看不清楚如何这在图中显示,对于(3)也是如此,我怎样才能说明唯一正确的事件流是1.1,1.3,1.4? 在(2)我使用了实体生命线,因为我无法找到从生命线向实体添加消息的方法,事实上我发现我根本无法添加任何类型的消息使用序列工具菜单,它只有在我使用recource目录时,才能添加第二个响应消息,我必须复制第一个并重命名它。 现在最难的部分,我如何建模(4)?循环似乎不正确,因为它不是在程序的同一个实例中的3次迭代,而是在三个不同的序列之后接收到三个相同类型的消息。

TL;博士 如何在操作中建立一个可靠的顺序,以及我如何显示有一个分支,其中只有两个选项中的一个是可用的?如何(4)可以建模?

1 个答案:

答案 0 :(得分:4)

这看起来并不坏。您可能需要将第二个alt嵌套到第一个中以使其正确。您还可以添加[guards]来描述alt部分的条件。

然而,正如您所经历的那样,图形化SD方法不一定是最好的。通常使用伪语言来描述这些事情更容易,我建议这样做。 SD非常适合概述在场景中协作的对象。但是对于算法细节,任何文本(伪程序)描述都更适合。