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 基础结构定义了 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 中,它被命名为通信图。
    因此,协作被定义为具有属性(属性)和行为(操作)的类。协作类上的隔间可以由用户定义,并可用于交互(序列图)和结构元素(复合结构图)。
    下图将观察者设计模式建模为作为可观察项角色的对象与作为观察者的任意数量的对象之间的协作。
    协作图

    建模通信

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

    交互建模概述

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

    时序图建模

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

    UML 2.0 是一个增强版本,其中添加了新功能以使其更加可用和高效。UML 2.0 中有两大类,一类是 UML 超级结构,另一类是 UML 基础架构。尽管新关系图基于旧概念,但它们仍然具有一些附加功能。
    UML 2.0 提供了四个交互图:序列图、通信图、交互概述图和可选的时序图。所有四个图都使用帧表示法来包含交互。框架的使用支持将交互作为交互事件重用。