UML 顺序图

顺序图 并发

顺序图是交互图的一种形式,它显示对象沿生命线发展,对象之间随时间的交互表示为从源生命线指向目标生命线的消息。顺序图能很好地显示那些对象与其它那些对象通讯,什么消息触发了这些通讯,顺序图不能很好显示复杂过程的逻辑。 框架

生命线 异步

一条生命线在顺序图中表明一个独立的参与者。表示为包含对象名的矩形,若是它的名字是"self",则说明该生命线表明控制带顺序图的类元。 spa

有时,顺序图会包含一个顶端是执行者的生命线。这状况说明掌握这个顺序图的是用例。健壮图中的边界,控制和实体元素也能够有生命线。 3d

消息 对象

消息显示为箭头。消息能够完成传输,也可能丢失和找回,它能够是同步的,也能够是异步的,便可以是调用,也能够是信号。在下图中,第一条消息是同步消息(标为实箭头)完成传输,并隐含一条返回消息。第二条消息是异步消息 (标为实线箭头),第三条是异步返回消息(标为虚线)。 blog

执行发生 递归

向下延伸的细条状矩形表示执行事件或控制焦点的激活。在上图中有三个执行事件。第一个是源对象发送两条消息和收到两条回复。第二个是目标对象收到一条同步消息并返回一条回复。第三个是目标对象收到一条异步消息并返回一条回复。 事件

内部通讯 同步

内部消息表现为一个操做的递归调用,或一个方法调用属于同一个对象的其余方法。显示为生命线上执行事件的嵌套控制焦点。

迷路消息和拾取消息

迷路消息是那些发送了却没有到达指定接收者,或者到达的接收者再也不当前图中。拾取消息是收到来自那些未知的发送者,或者来自没有显示在当前图的发送者的消息。它们都代表是去往或来自一个终点元素。

生命线开始与结束

生命线能够在顺序图时间刻度范围内建立和销毁,在下面的例子中,生命线被中止符号(叉号)终止。在前面的例子中,生命线顶端的符号(Child)显示在比建立它的对象符号(parent)沿页面要低的位置上。下图显示建立和终止对象。

时间和期限约束

消息默认显示为水平线。由于生命线显示为沿屏幕向下的时间通道,因此当给实时系统建模,或是有时间约束的业务过程建模,考虑执行动做所需时间长度是很重要的。所以能够给消息设置一个期限约束,这样的消息显示为下斜线。

复合片断

如前面所说,顺序图不适合表达复杂的过程逻辑。在一种状况下,有许多机制容许把必定程度的过程逻辑加入到图中,并把它们放到复合片断的标题下。复合片断是一个或多个处理顺序被包含在一个框架中,并在指定名称的环境下执行。 片断能够是:

  • 选择性片断 (显示 "alt") 为 if…then…else 结构建模。
  • 选项片断 (显示 "opt") 为 "switch"(开关) 结构建模。
  • 中断片断对被处理事件的可选择顺序建模,而不是该图的其余部分。
  • 并行片断(显示 "par") 为并发处理建模。
  • 弱顺序片断 (显示 "seq") 包含了一组消息,这组消息必须在后继片断开始以前被处理。但不会把片断内消息的前后顺序强加到不共享同一条生命线的消息上。
  • 严格顺序片断 (显示 "strict") 包含了一系列须要按照给定顺序处理的消息。
  • 非片断 (显示 "neg") 包含了一系列不可用的消息。
  • 关键片断 具备关键部分。
  • 忽略片断 声明一个没有意义的消息,若是它出如今当前上下文中。
  • 考虑片断与忽略片断相反,不包含在考虑片断内的消息都应该被忽略。
  • 断言片断 (显示 "assert")标明任何没有显示为声明操做数的顺序都是无效的。
  • 循环片断 包含一系列被重复的消息。

    下图显示的是循环片断:

    这也是一个相似于复合片断的交互发生。 交互发生被其余图参考,显示为左上角带"ref",将被参考图名显示在方框的中间。

    门是链接片断内消息和片断外消息的链接点。 在EA中,门显示为片断框架上的小正方形。做用为顺序图与页面外的链接器。 用来表示进来的消息源,或者出去消息的终点。下面两个图显示它们在实践中的使用。注意:" top level diagram"中的门用消息箭头指向参考片断,在这里没有必要把它画成方块。

       

    部分分解

    一个对象能够引出多条生命线,使得对象内部和对象之间的消息显示在同一图上。

    状态常量 / 延续

    状态常量是生命线的约束,运行时始终为"真"。显示为两侧半圆的矩形,以下图:

    延续虽与状态常量有一样的标注,可是被用于复合片断,并能够延伸跨越多条生命线。

相关文章
相关标签/搜索