UML 2.0 - 概述


UML 2.0在统一建模语言世界中是一个完全不同的维度。它本质上更复杂和广泛。与UML 1.5版本相比,文档的范围也有所增加。UML 2.0增加了新功能,因此可以更广泛地使用它。

UML 2.0添加了正式和完全定义的语义的定义。这种新的可能性可用于模型的开发,并且可以从这些模型生成相应的系统。然而,为了利用这个新的维度,必须付出相当大的努力来获取知识。

UML 2.0中的新维度

UML的结构和文档在最新版本的UML 2.0中进行了全面修订。现在有两个描述UML的文档 -

  • UML 2.0 Infrastructure定义了UML所基于的语言的基本结构。本节与UML的用户没有直接关系。这更倾向于建模工具的开发人员。此区域不在本教程的范围内。

  • UML 2.0 Superstructure定义了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中,它被命名为 通信图

因此,协作被定义为具有属性(属性)和行为(操作)的类。协作类的分区可以是用户定义的,可以用于交互(序列图)和结构元素(复合结构图)。

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

协作图

建模通信

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

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

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

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

下图显示了一个对象图,其中包含三个对象和两个链接,这些链接构成了通信图的基础。通信图上的每个对象称为对象生命线。

通讯图

建模交互概述

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

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

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

下图显示了具有决策菱形,框架和终止点的交互概览图。

交互图

建模时序图

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

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

  • 州时间线

  • 一般值时间线

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

时序图

概要

UML 2.0是一个增强版本,其中添加了新功能以使其更加可用和高效。UML 2.0有两个主要类别,一个是UML超级结构,另一个是UML基础结构。虽然新图表基于旧概念,但它们仍然具有一些额外的功能。

UML 2.0提供了四个交互图,序列图,通信图,交互概述图和可选的时序图。所有四个图都使用框架符号来包含交互。帧的使用支持交互的重用作为交互发生。