首页 > 代码库 > UML之序列图(Sequence Diagram)

UML之序列图(Sequence Diagram)

类图描述的是类之间的静态关系,而序列图展示的是对象之间的沟通方法,描述运行时的交互关系。
OOP编程语言里面合理的直接交互方式只有一种,方法调用(Event通讯是间接的)。所以序列图也可以
理解为方法调用交互图。方法调用有四个元素,参与者(两个,调用者和被调用者),方法名称,输入
和输出。

参与者

参与者用一个Lifeline来表示,图像为一个矩形外加底部的一条竖线。矩形里面显示对象名,格式为
name:ClassType的样式,都为可选项,Martin Fowler推荐a Handler的格式,我更喜欢Handler
不过记得序列图里面的参与者都是对象。竖线表示生命周期,从上往下来看,Active的地方为Bar形式,
其它为虚线。如下图:


方法调用

方法调用在序列图里面用消息来表示,为了简单起见,这里只考虑同步调用。方法名体现为消息名称;
输入置于消息名称之后,用逗号分隔,并用小括号括起来,很像Java或C#里面的参数列表;返回值用
独立的返回消息来表示,返回值为虚线。如下图:


数据库查询的例子

注意new关键字,OOP里面有构造函数的概念,新建一个对象的过程就是调用构造函数的过程。
图如下:


小结

我觉得序列图是类图的一个补充,用于描述一些重要的运行时对象调用关系。简单来理解的话,
序列图就是方法调用栈。参与者,方法名,输入,输出是调用的四个组成部分。