2016-05-18 157 views
1

我开发了一个Web应用程序,它将HTTP请求发送给JSON API并从中获取响应。它还通过SMTP服务器向用户发送电子邮件。我被困在如何在序列图中模拟这些场景。发送请求到JSON API和使用SMTP服务器的序列图?

编辑:

用于登录的顺序变为如下所示:

1 - 用户输入其用户名和密码的视图

2-视图发送所输入的数据到控制器

3-控制器调用位于WebService类中的函数

4-函数创建登录请求模型的实例(登录请求模型是与将要发送的JSON数据具有相同格式的类)

5-函数将创建的实例序列化为JSON并通过HTTP将其发送到远程Web服务

6-功能读取响应流,并将其反序列化到

7所述然后创建的实例被发送回控制器响应类的新实例

8 - 控制器对收到的实例运行测试以查看i f根据测试结果,控制器将用户重定向到登陆页面(如果他输入了正确的凭证),或者在索引页面发送一条消息,表明该用户已经提供了正确的凭证凭据是错误的

在这种情况下,我的顺序图中的演员将是什么,我应该如何放置它,以及应该留下什么不妥协的符号?

+1

为什么在法国,你想要什么? – jim

+0

@jim这是法语,因为那是我正在使用的语言。我想要做的是我的项目的序列图。 –

+0

那么,你有它。更好的是,它是用法语! – jim

回答

1

您的初始图是一个好的开始。

我在这里用黑色的英文文字对它进行了注释(因此每个人都可以从中受益),序号列表的引用以及洋红色的一些变化。我还添加了3个圈子来突出显示一些一般性评论: enter image description here

备注1:目前还不清楚第一条消息是否同步(纯箭头)。您的用户级别是否真的等待回报?我认为这可能是异步的,最终返回的消息不一定是return message(虚线)。

备注2:请求模板/模型上的传入消息4是异步的。所以我希望答案也是一个异步消息(不是虚线)。

备注3:在这里(和其他几个场合),你有一个传入"create" message。如果你创建一个新对象,你最好在那里启动生命线,到show the instantiation

备注:通过使用alt区域,您可以更加模糊地减少show alternative相互作用(在序列末尾)。

最后的评论:你担心不同类型的传输(即JSON与SMTP)。 UML图不显示消息的格式。因此,如果流程相同但只有协议发生变化,您可以保留它(并最终做出注释以显示其JSON或SMTP)。如果你在序列中有不同类型的交互,你可以使用alt

+0

非常感谢。你所有的评论都非常好。 –

相关问题