参考:http://www.javashuo.com/article/p-tobyyflj-kk.html
序列图主要用于展现对象之间交互的顺序。异步
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴表明了在协做中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。ide
消息用从一个对象的生命线到另外一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。 oop
序列图中涉及的元素:spa
1. 生命线:对象
生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线表明一个类的特定实例。blog
2. 同步消息进程
发送人在它继续以前,将等待同步消息响应。事件
3. 异步消息ci
在发送方继续以前,无需等待响应的消息。同步
4. 注释
5. 约束
约束的符号很简单;格式是: [Boolean Test]
6. 组合片断
组合片断用来解决交互执行的条件及方式。它容许在序列图中直接表示逻辑组件,用于经过指定条件或子进程的应用区域,为任何生命线的任何部分定义特殊条件和子进程。
经常使用的组合片断有:
抉择(Alt)
抉择用来指明在两个或更多的消息序列之间的互斥的选择,至关于经典的if..else..。
抉择在任何场合下只发生一个序列。 能够在每一个片断中设置一个临界来指示该片断能够运行的条件。else 的临界指示其余任何临界都不为 True 时应运行的片断。若是全部临界都为 False 而且没有 else,则不执行任何片断。
选项(Opt)
包含一个可能发生或不发生的序列
循环(Loop)
片断重复必定次数。 能够在临界中指示片断重复的条件。
并行(Par)
下表列出了经常使用的组合片断:
片断类型 |
名称 |
说明 |
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 片断中。 |