2013-07-25 44 views
4

我有一个客户端进行初始调用以设置会话的序列图。在首次调用之后,检查服务器上调用的每个后续操作(例如调用X,调用Y,调用Z)以查看会话是否存在。有没有办法一般性地描述这种行为,而不必为每个呼叫显示它?我想一个选项是添加一个注释,但是可能有更好的方法?uml序列图 - 建模应用于操作的通用行为

session sequence diagram

回答

4

由于序列图是显示特定的执行(客户端和服务器应该是:客户端和:图中服务器)它是难以引入因式分解。您可以使用InteractionUse重用序列片段,但在这种情况下,由于您只有一条消息(“检查会话”),因此无法提供帮助。

不要忘记,图表是系统的视图,特别是序列图是特定事务的视图。您不必在图表中显示所有内容。您不需要在此图中显示“检查会话”消息,并使用另一个来显示服务器始终检查会话,可能会使用状态图。

+1

没错。序列图不能正式指定一个系统(例如,状态机更适合于此)。他们在那里*将一个典型的场景传达给另一个人。在我看来,一个简单的顺序图比“完整的”更有用。你可以忽略任何你想要的信息。在这种特殊情况下,我只需添加文本:“请注意,服务器在每次方法调用时检查会话”。 –

2

在所有顺序图上,我在一个图表笔记中包含了前置条件,总结条件和后置条件。这可以防止审阅者产生大量混淆和后续问题。先决条件包括任何必需的初始化和执行。在这种情况下,前提条件可能是“安装会话场景已运行”。