画时序图就和写作文一样,经常会遇到一发而不可收的情况,结果就是得到一个巨大的时序图。这种情况下,作者首先会因为完成了一件大工程而感到自豪,可是一旦他把完成的时序图拿给别人看或者是需要维护的时候就开始意识到问题了,这样的时序图既难理解又难维护。
如果是写代码的话,可以通过定义函数和调用函数来解决这个问题,时序图也提供了类似的手段:交互和交互使用。
交互(interaction)
交互描述了在一个上下文中为了执行一个任务,消息在角色之间是如何交换的。交互描述了行为的模式。
----UML参考手册(第二版)
中文本身相信都能看懂,但想知道说什么却不是那么容易。让我们换一种说法。
定义一个函数除了需要函数体以外还需要函数声明。函数声明规定了调用函数是需要提供哪些信息,函数的返回值是什么。交互的作用也一样。
实例
下面以电车速度控制为例说明,首先看下面的时序图。