📅  最后修改于: 2020-12-13 15:10:08             🧑  作者: Mango
UML 2.0与统一建模语言世界完全不同。它本质上更加复杂和广泛。与UML 1.5版本相比,文档范围也有所增加。 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 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提供了四个交互图,即顺序图,通信图,交互概述图和可选的时序图。所有四个图都使用框架符号来封装交互。框架的使用支持将交互作为交互事件重用。