UML建模 时序图

概述

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

序列图的结构

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

1、对象

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

2、生命线

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

3、激活

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

4、消息

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

  异步消息(Asynchronous Message)

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

  返回消息(Return Message)

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 自关联消息(Self-Message) ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

5、执行者

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

7、Switch满足条件就运行。

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

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

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

11、丢失消息,Lost Message.

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

最后再来看下总体的Sequence diagram

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

image

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

 

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

作者:spring yang

ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2 ïãF#V §www.51laifu.cn±Ùbœê2

出处:http://www.cnblogs.com/springyangwc/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值