background image

 

Java 建模序列图中的条件逻辑

     序列图的两种类型

 

 

  序列图用于描述对象之间两种不同类型的交互。一种交互类型是 必须 (must) 交互,

 

其中对象 A 

 

必须向对象 B 

 

 

发送特定消息。另一种交互类型是 可能 (may) 交互,其中对象 

A 可能(但不一定)

 

向对象 B 发送特定消息。这两种形态的序列图描述了这两种不同类型的

 

 

交互。常规形态描述的是 必须交互,而实例形态则描述了 可能交互。
  常规形态的序列图描述初始刺激因素所产生的类交互。常规形态则记述了初始刺激因
素能够产生的一切交互。成功和失败条件与循环、条件和分支一样,都是这种图的组成部
分。

 

  常规序列图在水平轴方向上的每个框中只包含一个类名,如图 1 所示。它的含义是,
交互背后的对象是匿名的,该类的任何对象都可以参与到交互中。因此,必须为所有路径

 

明确建模。在常规序列图中,对象 A 

 

必须向对象 B 发送模型中的一条消息。

 

  图 1. 常规序列图

 

 

   序列图的第二种形态是实例形态。实例序列图描述了两个实例之间可能发生的单一

 

消息交换。这样的图将在水平轴方向的框中包含一个变量名及其类类型,如图 2 所示。这
种形态不包括常规形态中常见的循环、条件和分支。在系统中实际的控制流程中,在交互

 

过程中所进行的某些断言可能为假。如果发现断言为假,实例序列 图中的所有消息都为
空,这种情形将不出现。实例序列图描述了可能发生也可能不发生的单一情形。

 

  图 2. 实例序列图