前面我们主要讨论的是UML类图,下面我们要讨论的是另一种UML图——交互图(Interaction Diagram)。交互图描述的是一组对象之间的交互过程,或者说,这里我们实际上要回答这样一个问题:“方法调用过程在UML中怎样表示?”UML交互图
本文将通过一个非常简单的交易系统来说明UML交互图。这个系统包含六个Java类。从前面几篇文章中,我们已经知道UML类图是分析Java程序结构的有效方法,图一显示了这个交易和支付系统的类图。为了更清楚地说明各个类的职能和角色,图一利用了前面介绍过的彩色类原型表示法。
图一:一个简单交易系统的UML类图
如果我们跟踪任意一个Java程序的执行过程,就会发现,这个过程包含了一个或者多个对类和对象的方法调用。我们通过调用对象的方法来寻求特定问题的答案或执行一个特定的动作。很多时候,被调用的方法还会调用其他方法——或者是同一对象的方法,或者是同一类的其他对象的方法,或者是其他类的对象的方法。类似地,这些被调用的方法又会继续调用其他方法,直至问题得到了明确的答案或动作全部执行完毕(或者出现异常,这时问题将没有答案或动作不能完成)。
UML交互图以图形的形式表示出方法调用过程,它有两种形式:序列图(Sequence Diagram)和协作图(Collaboration Diagram)。
序列图
要达到某个特定的目标,必然要执行一系列的方法调用。UML序列图的典型用途就是显示