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 超结构用于:
- 更好地支持基于组件的开发。
-
改进体系结构规范的构造。
-
为行为建模提供更好的选项。
需要注意的重要要点是上述主要划分。这些划分用于增加 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提供了四种交互图,分别是序列图、通信图、交互概览图和可选择的时序图。这四种图表都使用框架符号来包围一个交互。使用框架支持将交互重用为交互实例。