1. 用来描述对象之间动态的交互关系。着重提现对象之间消息传递的时间顺序。
  2. 顺序图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在协作中各位独立的对象。

  时序图的组成

时序图包含了5个元素:

        ①参与者

        ②对象(Object)

        ③生命线(Lifeline)

        ④消息(Message)

        ⑤激活(Activation)

        ⑥ 约束(Constraint)

       1.对象

  1. 如果对象位于时序图的顶部,说明在交互开始之前该对象已经存在额。
  2. 如果对象是在交互的过程中创建的,那么它应当位于图的中间部分。

对象包括三种:

  • 指定类名和对象名的对象 objectName: className
  • 指定类名但没有对象名的对象 (匿名对象) :className
  • 指定对象名但不指定类名的对象 objectName

图形表示:
第一类:

第二类:

第三类:

创建对象的两种方法:

 1.1对象的撤销

  1. 如果要象的撤销一个对象,只要在其生命线终止点放置一个“X”符号即可,该点通常是对删除或取消消息的回应。

 2.生命线

  1. 生命线是对一条垂直的虚线,表示时序图中的对象在一段时间段内的存在。每个对象的底部中心的位置都带有生命线。
  2. 生命线是一个时间线,从顺序图的顶部一直延伸带底部,所用的时间取决与交互持续时间。

3.消息

  1. 消息定义的对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销。
  2. 消息是对两个对象之间的单路通信。
  3. 消息可以用于在对象间传递的参数。
  4. 消息可以是信号的,也可以是调用的。

4.激活 

  1.  激活表示该对象被占用以完成某个任务,去激活指的则是对象处于空闲的状态、在等待消息。
  2. 在UML中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形。其中的矩形称为激活条或控制期。

5.消息

1. 同步消息:

  • 发送者要发送一条消息且接收者已经做好接收这个消息的准备才能传送的消息叫同步消息。实心箭头。消息的名称是被调用者的方法名。

2. 异步消息

  • 发送者不管接收者是否做好准备都可以发送的消息叫异步消息。

3. 返回消息

4. 创建对象

5. 撤销对象

6. 自关联消息

6.约束

  1. 约束条件
  • 消息前加约束条件。通常有条件约束、循环约束。
  • 条件约束:[条件],只有在符合条件时,才发送消息。

   循环约束:*[条件]

约束片段

片段类型名称说明
Opt

包含一个可能发生或可能不发生的序列。 可以在临界中指定序列发生的条件。
Alt

包含一个片段列表,这些片段包含备选消息序列。 在任何场合下只发生一个序列。可以在每个片段中设置一个临界来指示该片段可以运行的条件。 else 的临界指示其他任何临界都不为 True 时应运行的片段。 如果所有临界都为 False 并且没有 else,则不执行任何片段。
Loop

片段重复一定次数。 可以在临界中指示片段重复的条件。Loop 组合片段具有“Min”和“Max”属性,它们指示片段可以重复的最小和最大次数。 默认值是无限制。
Break

如果执行此片段,则放弃序列的其余部分。 可以使用临界来指示发生中断的条件。
Par

并行处理。 片段中的事件可以交错。
Critical

用在 Par 或 Seq 片段中。 指示此片段中的消息不得与其他消息交错。
Seq

有两个或更多操作数片段。 涉及同一生命线的消息必须以片段的顺序发生。 如果消息涉及的生命线不同,来自不同片段的消息可能会并行交错。
Strict

有两个或更多操作数片段。 这些片段必须按给定顺序发生。
Consider

指定此片段描述的消息列表。 其他消息可发生在运行的系统中,但对此描述来说意义不大。在“Messages”属性中键入该列表。
Ignore

此片段未描述的消息列表。 这些消息可发生在运行的系统中,但对此描述来说意义不大。在“Messages”属性中键入该列表。
Assert

操作数片段指定唯一有效的序列。 通常用在 Consider 或 Ignore 片段中。
Neg

此片段中显示的序列不得发生。 通常用在 Consider 或 Ignore 片段中。


  1. 循环分支属于业务流程中比较常见的特殊结构。
  • loop,也叫循环,是满足循环条件的前提下,不断地重复做某些事情;
  • alt,条件分支,是根据不同的条件选择不同的分支;
  • opt,可选分支,是满足一定条件则执行该分支,否则就跳过。

如下图:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐