UML 2.0 - 概述
UML 2.0 是统一建模语言世界中完全不同的维度。 它的性质更加复杂和广泛。 与 UML 1.5 版本相比,文档的范围也有所增加。 UML 2.0增加了新的功能,使其用途更加广泛。
UML 2.0 添加了正式和完全定义的语义的定义。 这种新的可能性可以用于模型的开发,并且可以从这些模型生成相应的系统。 然而,要利用这个新维度,必须付出相当大的努力来获取知识。
UML 2.0 中的新维度
最新版本的 UML 2.0 对 UML 的结构和文档进行了全面修改。 现在有两个可用的文档来描述 UML −
UML 2.0 基础结构定义了 UML 所基于的语言的基本构造。 本节与 UML 用户没有直接关系。 这更多是针对建模工具的开发人员。 该领域不属于本教程的讨论范围。
UML 2.0 上层结构定义了 UML 2.0 的用户构造。 它意味着用户将在直接级别使用 UML 的那些元素。 这是 UML 用户社区的主要关注点。
创建此 UML 修订版是为了实现重组和细化 UML 的目标,从而简化可用性、实现和适应。
UML 基础架构用于 −
提供可重用的元语言核心。 这用于定义 UML 本身。
提供调整语言的机制。
UML 上层结构用于 −
为基于组件的开发提供更好的支持。
改进架构规范的构造。
为行为建模提供更好的选择。
需要注意的重要一点是上述的主要划分。 这些划分用于提高 UML 的可用性并定义对其用法的清晰理解。
这个新版本中已经提出了另一个维度。 这是一个全新的对象约束语言(OCL)和图表交换的提案。 这些功能共同构成了完整的 UML 2.0 包。
UML 2.0 中的建模图
交互建模
UML 2.0 中描述的交互图与早期版本不同。 但是,基本概念与早期版本相同。 主要区别在于 UML 2.0 中的图表中添加了增强功能和附加功能。
UML 2.0 通过以下四种不同的方式对对象交互进行建模。
序列图是对象之间交互的时间相关视图,以实现系统的行为目标。 时间序列与早期版本的序列图类似。 交互可以在系统设计中的任何抽象级别进行设计,从子系统交互到实例级别。
通信图是UML 2.0中添加的新名称。 通信图是对象之间消息传递的结构视图,取自 UML 1.4 及早期版本的协作图概念。 这可以定义为协作图的修改版本。
交互概述图也是 UML 2.0 中的新增内容。 交互概述图描述了组合成逻辑序列的一组交互的高级视图,包括在交互之间导航的流控制逻辑。
时序图也在UML 2.0中添加。 它是一个可选图,旨在指定交互过程中发送和接收消息的时间限制。
从上面的描述中,值得注意的是,所有图表的目的都是发送/接收消息。 这些消息的处理是对象内部的。 因此,对象还可以选择接收和发送消息,这就是另一个重要方面,称为接口。 现在,这些接口负责相互接受和发送消息。
因此可以得出结论,UML 2.0 中的交互是以不同的方式描述的,这就是新图名称出现的原因。 如果我们分析新图表,那么很明显,所有图表都是基于早期版本中描述的交互图创建的。 唯一的区别是 UML 2.0 中添加的附加功能,以使图表更加高效且面向目的。
建模协作
正如我们已经讨论过的,协作用于对对象之间的常见交互进行建模。 我们可以说协作是一种交互,其中一组消息由一组具有预定义角色的对象处理。
需要注意的重要一点是早期版本中的协作图与 UML 2.0 版本中的协作图之间的差异。 为了区分,协作图的名称在 UML 2.0 中已更改。 在UML 2.0中,它被命名为通信图。
因此,协作被定义为具有属性(properties)和行为(操作)的类。 协作类上的隔间可以由用户定义,并可用于交互(序列图)和结构元素(复合结构图)。
下图将观察者设计模式建模为充当可观察项角色的对象与任意数量的观察者对象之间的协作。

建模通信
通信图与早期版本的协作图略有不同。 我们可以说它是早期 UML 版本的缩减版本。 通信图的区别因素是对象之间的链接。
这是一个可视链接,在序列图中缺失。 在序列图中,即使对象之间没有链接,也仅显示对象之间传递的消息。
通信图用于通过使用对象图格式作为消息传递的基础来防止建模者犯此错误。 通信图上的每个对象称为对象生命线。
通信图中的消息类型与序列图中的消息类型相同。 通信图可以建模同步、异步、返回、丢失、找到、对象创建消息。
下图显示了一个对象图,其中包含三个对象和两个链接,它们构成了通信图的基础。 通信图上的每个对象称为对象生命线。

交互建模概述
在实际使用中,序列图用于对单个场景进行建模。 使用许多序列图来完成整个应用程序。 因此,在对单个场景进行建模时,可能会忘记整个过程,这可能会引入错误。
为了解决这个问题,新的交互概述图结合了活动图的控制流和序列图的消息传递规范。
活动图使用活动和对象流来描述流程。 交互概述图使用交互和交互发生。 序列图中的生命线和消息仅出现在交互或交互发生中。 但是,参与交互概述图的生命线(对象)可能会与图名称一起列出。
下图显示了带有决策菱形、框架和终止点的交互概述图。

建模时序图
该图的名称本身描述了该图的用途。 它基本上处理整个生命周期中事件的时间。
因此,时序图可以定义为一种专用交互图,用于关注对象在其生命周期中的事件。 它基本上是状态机和交互图的混合。 时序图使用以下时间线 −
说明时间线
价值时间线
时序图中的生命线在帧的内容区域内形成一个矩形空间。 它通常水平对齐,以便从左到右阅读。 多个生命线可以堆叠在同一框架内以模拟它们之间的交互。

摘要
UML 2.0 是一个增强版本,添加了新功能以使其更加可用和高效。 UML 2.0有两大类,一类是UML超级结构,另一类是UML基础设施。 尽管新图表基于旧概念,但它们仍然具有一些附加功能。
UML 2.0 提供四种交互图:序列图、通信图、交互概述图和可选的时序图。 所有四个图都使用框架符号来封闭交互。 框架的使用支持交互重用作为交互发生。