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 中,它被称为通信图

因此,协作定义为具有属性(特性)和行为(操作)的类。协作类上的隔间可以由用户定义,并可用于交互(序列图)和结构元素(组合结构图)。

下图将观察者设计模式建模为可观察项角色中的对象与任意数量的对象作为观察者之间的协作。

Collaboration diagram

建模通信

通信图与早期版本的协作图略有不同。我们可以说它是早期 UML 版本的简化版本。通信图的区分因素是对象之间的链接。

这是一个可视化链接,在序列图中缺少。在序列图中,即使对象之间没有链接,也只显示对象之间传递的消息。

通信图用于通过使用对象图格式作为消息传递的基础来防止建模者犯此错误。通信图上的每个对象都称为对象生命线。

通信图中的消息类型与序列图中的相同。通信图可以对同步、异步、返回、丢失、找到和对象创建消息进行建模。

下图显示了一个具有三个对象和两个链接的对象图,它们构成了通信图的基础。通信图上的每个对象都称为对象生命线。

Communication diagram

建模交互概述

在实际使用中,序列图用于模拟单个场景。许多序列图用于完成整个应用程序。因此,在模拟单个场景时,可能会忘记整个过程,这可能会引入错误。

为了解决这个问题,新的交互概述图结合了活动图中的控制流程和序列图中的消息规范。

活动图使用活动和对象流来描述一个过程。交互概述图使用交互和交互出现。序列图中发现的生命线和消息仅出现在交互或交互出现中。但是,参与交互概述图的生命线(对象)可以与图名一起列出。

下图显示了一个具有决策菱形、框架和终止点的交互概述图。

Interaction diagram

建模时序图

该图的名称本身就描述了该图的目的。它基本上处理整个生命周期中事件的时间。

因此,时序图可以定义为一种特殊用途的交互图,用于关注对象在其生命周期中的事件。它基本上是状态机和交互图的混合体。时序图使用以下时间线:

  • 状态时间线

  • 一般值时间线

时序图中的生命线在框架的内容区域内形成一个矩形空间。它通常水平对齐,从左到右读取。多个生命线可以堆叠在同一个框架内以模拟它们之间的交互。

Timing diagram

总结

UML 2.0 是一个增强的版本,其中添加了新功能以使其更易于使用和更高效。UML 2.0 有两大类,一个是 UML 超结构,另一个是 UML 基础结构。尽管新的图基于旧的概念,但它们仍然具有一些附加功能。

UML 2.0 提供了四种交互图:序列图、通信图、交互概述图和可选的时序图。所有四个图都使用框架符号来包含交互。框架的使用支持将交互作为交互出现重用。

广告