步步为营UML建模系列五、时序图(Squence diagram)

转载 2012年03月31日 09:39:33

概述

顺序图是一种详细表示对象之间以及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)以及它们之间可发送的消息组成,它强调消息之间的顺序。

顺序图是一种详细表示对象之间以及对象与系统外部的参与者之间动态联系的图形文档。它详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用况时的行为依赖关系,以及操作和消息的时序关系。类图对对象之间的消息(交互情况)表达不够详细;详细说明对消息的表达虽然详细,但不够直观;顺序图既详细又直观,但通常只能表示少数几个对象之间的交互。

 

时序图基本上包含四种元素:
描述操作流程的用例文本:位于时序图的左边,使用空白将文本分开,这样将容易知道哪句话对应于右边的哪个元素。
对象:使用包含两个名称的方框表示,是直接从健壮性图中搬过来的。这两个名称分别是类名和对象名(实例编号),格式为 class:object;可省略其中的任何一个名称。也可以使用健壮性图构造类型的方式来显示对象,这将有助于跟踪参与者,边界对象和实现对象之间传递的消息。
消息:对象之间的箭头。消息箭头可位于两条虚线,直线和方法矩形之间或两个方法矩形之间。

方法(操作):用位于虚线上的矩形表示,该虚线属于该方法所属的对象。可以使用矩形的长度来反映拥有控制焦点的时间。控制焦点在理论上很有用,但实际上并非如此,因为大多数可视化建模工具在这方面的功能都不太强。如果在时序图上显示控制焦点较难,只需关闭这种功能即可。

 

序列图的结构

序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流等元素构成的。

1、对象

对象就是指类的实例。我认为在序列图中对象有三种状态:激活、运行(存在)和销毁。

image

2、生命线

生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在。如下图TravelApplication就是Manage类New的一个新生命线,他在初始化后运行了CalculateDate()方法.

image

3、激活

序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程。在UML图中通过一个窄长的矩形来表示,矩形的高度表示对象存在的过程。

image

 

4、消息

消息(Messages)是对象间的一种通信机制。由发送对象向另一个或其他几个接收对象发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。

image

  同步消息=调用消息(Synchronous Message)

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

  异步消息(Asynchronous Message)

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

  返回消息(Return Message)

  返回消息表示从过程调用返回

 

自关联消息(Self-Message

  表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。如下图所示,在Context类里调用了自身DoAction方法,DoAction方法又调用了SubmitData方法,SubmitData方法又调用了SendRequest方法.

image

 

5、执行者

表示这个对象是由谁来操作的.如下图,都是由员工来操作的。

image

 

6、条件判断:用于描述代码中if…else…这种结构,标记为“alt”

image

 

7、Switch满足条件就运行。

image

8、Loop循环,跟.NET中的For 和Foreach一样.

image

 

9、Gateway 进入窗口,代码从这里进行。如果Client就是一个gateway

image

 

10、接口,表示跟其它应用程序交互的接口.

image

 

11、丢失消息,Lost Message.

image

 

 

最后再来看下总体的Sequence diagram

image

 

image

 

[读书笔记]Android LayoutInflater.inflate方法参数详解原理分析

LayoutInflater 在看inflate()方法时,我们随便看下如何获得 LayoutInflater ,获得LayoutInflater 实例有三种方式 LayoutInflater inf...

android源码解析--ListView(上)

每当自己想要学一点东西的时候,就快要到10点半了,还有十几天就要回家,总是有些兴奋,今天得知娜姐进了澳网的女单决赛,周末的时候可以看一下,希望能在澳网女单决赛之前写好这篇博客,好了,不废话,开始正题。...

步步为营UML建模系列七、表图(Data model diagram)

概述 数据模型Profile是Enterprise Architect的UML扩展来支持关系数据库建模。它包括一些定制扩展,如:表,数据库图表,表键,触发器和约束。它是一种在UML中对关系数据库建模...

步步为营UML建模系列二、部署图(Deployment Diagram)

概述 部署图(deployment diagram,配置图)是用来显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运...

步步为营UML建模系列六、类图(Class diagram)

概述 类图(Class Diagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。类图是定义其他图的基础,在类图基础上,可以使用状态图、协作图、组件 ...

UML建模之时序图(Sequence Diagram)

转自--http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html 一、时序图简介(Brief introduction)       ...

UML建模之时序图(Sequence Diagram)

一、概述 用例试图描概括了用例中角色和系统之间的关系,描述了系统功能需求,角色和系统的交互以及系统的反应。       会员具有浏览商品类别、根据关键字产讯商品和选择商品加入...

UML建模之时序图(Sequence Diagram)

FROM:   http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html 一、时序图简介(Brief introduction) ...

UML建模之时序图(Sequence Diagram)

一、时序图简介(Brief introduction)        二、时序图元素(Sequence Diagram Elements) 角色(Actor) 对象(Obje...

UML建模之时序图(Sequence Diagram)

引自:http://www.cnblogs.com/ywqu/archive/2009/12/22/1629426.html 一、时序图简介(Brief introduction)      ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:步步为营UML建模系列五、时序图(Squence diagram)
举报原因:
原因补充:

(最多只允许输入30个字)