您的位置:js12345金沙官网登入 > 网络编程 > UML—顺序图,Sequence

UML—顺序图,Sequence

2019-10-09 04:18

时序图是一种强调时间顺序的对象交互图(1.是描述对象间交互的图 2.这种图是强调时间顺序的),换句话说就是描述谁和谁先做什么,然后再做什么的图在时序图中,首先把参与交互的对象放在图的上方,沿X轴方向排列,通常把发起交互的对象放在左边,较下级的对象依次放在右边,然后把这些对象发送和接受的消息沿Y轴方向按时间顺序从上到下放置。这样就提供了控制流随着时间推移的清晰的可视化轨迹。

1、概念

顺序图是强调消息时间顺序的交互图,描述了对象之间传送消息的时间顺序,用于表示用例中行为的顺序。顺序图将交互关系表示为一个二维图,横向轴代表了在协作中各独立对象的类元角色,纵向轴是时间轴,沿竖线向下延伸。

  • 1.对象

2、建模元素

顺序图中的建模元素有角色actor、对象object、生命线lifeline、激活activation、消息message等。

a)角色

可以是人或系统或其子系统。

b)对象

与类图中对象定义一致,它们之间可以进行交互,用矩形框表示,对象名带有下划线。

对象有三种命名方式:对象名:类名对象名:类名(即匿名对象,适应于该类的任何对象)。

若对象置于顺序图顶部,则表示在交互初对象就已经存在,如不在顶端,则表示对象是在交互过程中被创建的。

c)生命线

从对象图标底部中心位置向下延伸的一条虚线(UML 2中定义可以用实线表示)。

对象在生命线上,有休眠状态激活状态两种状态。

d)激活期

也被称为控制焦点,代表对象执行一项操作的时期,是顺序图中表示时间段的符号,用小矩形表示,被称为激活条或控制期,矩形长度代表激活的持续时间。

e)消息

对象之间某种形式的通信,用带有箭头的线并附以消息表达式的方式表示。它可以激发某个操作、唤起信号或引起目标对象的创建或撤销。消息从源对象指向目标对象,对象也可以发送消息给自己。

消息表达式:序号:消息名(参数)

消息分为同步消息、异步消息、同步且立即返回消息三种。

仅当发送者要发送一个消息而且接受者已经做好接收这个消息的准备时才能发送的消息称为同步消息,用一个带有实心箭头的实线表示。最常见的情况是调用,消息发送者对象在一个操作执行时调用接受者对象的一个操作。

图片 1

同步消息

不管接受者是否做好了准备,发送者都可以发送的消息称为异步消息。发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接收者返回消息或者控制,用一个带有两条线的实线表示。

图片 2

异步消息

返回消息表示从过程调用返回,用一个开放箭头的虚线表示。

图片 3

返回消息

:表示的是时序图中的参与者:在外面画一个矩形,矩形内部的描述文字有三种格式:1.对象名: 类名 2. 类名 3.对象名。大多数情况下,在描述上并没有将对象单独拿出来作为一种基本元素,都是将对象放在生命线中一起提到

3、其他操作

a)创建对象,create

一个对象可以通过发送消息来创建另一个对象。

图片 4

创建对象

b)撤销对象,destroy

当一个对象被删除或自我删除时,该对象用×标记。

图片 5

撤销对象

c)自关联消息,self-message

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

图片 6

自关联消息

d)约束

有时需要在满足某种条件时消息才会传递给对象,即约束。约束用做控制流,约束条件放在 [ ] 中,用来描述代码中的if语句。

图片 7

条件约束

也可以实现循环,用 *[ ] 表示,* 代表循环,[ ] 代表循环条件。

图片 8

循环约束

图片 9UMLSequenceObject

4、实例

图片 10

实例

——部分内容整理自网络——

  • 2.生命线(Lifelines)

:每个对象的底部中心的位置都带有生命线。生命线是一个时间线,从时序图的顶部一直延伸到底部,长度当然由你的业务来决定啦,生命线表示了对象存在的时间:表示为从对象图标向下延伸的一条虚线

图片 11UMLSequenceLifeLine

  • 3.控制焦点(Focus Of Control)

:用来表示时序图中对象执行某个操作的一段时间,在很多文章里面将其形象的理解为程序函数 { } 中的内容。:用一个细长的矩形狂表示,顶端与收到的消息产生时间对齐

图片 12UMLSequenceFocusOfControl

  • 4.消息

:A 向 B 发送消息message1,其实就是叫 B 去调用 message1这个方法。消息一般分为同步消息,异步消息和返回消息,自关联消息(也就是自己调用自己的方法):同步消息用带实心箭头的直线表示,异步消息用带普通箭头的直线表示,返回消息用虚线普通箭头表示,返回消息也可以区分同步和异步,在StarUML中可以自行修改。:同步和异步的区分一方面是按照函数本身的执行方式来区别,另一方面是按照实际做的业务本身来区别。举个栗子比如说下载素材,下载这件事情本来是异步去执行,但是有可能这个具体的函数看起来是同步执行的,这个时候就看你怎么选择了。

图片 13UMLSequenceMessage

本文由js12345金沙官网登入发布于网络编程,转载请注明出处:UML—顺序图,Sequence

关键词: