Java向:Unified Modeling Language 统一(标准)建模语言(九):UML 交互图

概述

  • 交互图描述的是对象之间的动态合作关系以及合作过程中的行为次序。
  • 交互图常常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。
  • UML 交互图包括两种,分别是序列图和协作图。前者显示对象之间的关系,强调对象之间消息的时间顺序,显示对象之间的交互;后者描述对象之间的交互。

 

目的

  • 捕捉一个系统的动态行为。
  • 描述该系统中的信息流。
  • 描述对象的组织结构。
  • 描述对象之间的互动。

 

画交互图的方法

在绘制交互图之前,需要确定以下条件,

  • 参与互动的对象;
  • 对象之间的消息流;
  • 消息的顺序流程;
  • 对象的组织;

 

举个栗子 

下面描述了两个交互图建模的订单管理系统:第一个图是序列图,第二个图是协作图。

序列图

  • 序列图中包含了四个对象:客户、订单、特殊订单和正常订单。
  • 下面的关系图所示的消息序列为 SpecialOrder 对象和 NormalOrder 对象在相同的情况下使用。现在重要的是要了解时间顺序的消息流,与消息流无关,使用一个对象的方法调用。
  • 首先调用的是 sendOrder(),这是一个订单对象的方法;在下一次调用 confirm (),这是一个 SpecialOrder 对象的方法;最后调用 Dispatch (),它是一种方法的 SpecialOrder 对象。

所以这里的图主要描述方法从一个对象到另一个对象的调用,在系统运行时这也是实际情况,因此我们可以得到下面的序列图。

Java向:Unified Modeling Language 统一(标准)建模语言(九):UML 交互图

 

协作图

协作图显示对象的组织,但不同的是,序列图中未介绍的对象组织,而协作图中示出的对象的组织。如果时间序列是很重要的,那么序列图中被使用,并且,如果需要的组织,那么使用协作图。

因此我们可以得到下面的协作图。

Java向:Unified Modeling Language 统一(标准)建模语言(九):UML 交互图

 

交互图的作用

  • 按时间顺序的控制流建模。
  • 为了模拟流结构组织控制。
  • 正向和****。