首页 > 代码库 > UML之序列图

UML之序列图

一 序列图概述:

序列图主要用于展示对象之间交互的顺序。

序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。

横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时。生命线是一个双道线。

消息用从一个对象的生命线到还有一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。

 


二 序列图中涉及的元素:

1. 角色(Actor)

系统角色, 能够是人、其它系统或者子系统

2. 对象(Object)

有三种命名方式:

(1)包含对象名和类名

(2)仅仅显示类名。不显示对象名。即表示他是一个匿名对象

(3)仅仅显示对象名不显示类名

技术分享

3. 生命线

生命线在序列图中表示为从对象图标向下延伸的一条虚线, 表示对象存在的时间。 

4. 控制焦点(Focus of Control)

控制焦点是序列图中表示时间段的符号, 在这个时间段内对象将运行对应的操作,用小矩形表示。

5. 消息

消息一般分为同步消息(Synchronous Message)。异步消息(Asynchronous Message)和返回消息(Return Message

(1)同步消息:消息的发送者把控制传递给消息的接收者。然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。

(2)异步消息:消息发送者通过消息把信号传递给消息的接收者。然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。

(3)返回消息:返回消息表示从过程调用返回

技术分享

6. 自关联消息(Self-Message)

表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。

技术分享

三 储户取款的样例:

用序列图表示用户从ATM机上取款的样例:

技术分享

四 心得总结:

1. 先用序列图画出主要流程, 用注解或文字说明特殊流程。

2. 假设特殊流程也非常重要。 那么能够再用一个序列图来表达。

3. 假设分支非常多而且都比較重要时, 首选活动图而不是顺序图。

原文: http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html


UML之序列图