协作图说明

bob222

UML中的协作图是什么?

协作图也称为通信图。它们可以演示对象如何通信以执行特定用例的操作或用例的一个方面。设计者可以使用协作图来解释和识别在用例中执行特定事件流的对象的角色。它们是用于建立类角色和接口的主要信息源。

协作图是通过首先确定包含界面功能所需的设计元素来开发的。然后使用这些元素之间的交互来构建模型。协作图的目的是说明结构的系统维度,即各种生命线如何在结构内链接。协作是一组命名的操作和系统,它们与这些操作和系统有连接。他们一起工作来执行任何任务。

通过相互作用,对象可以生成(可用的)高级功能。对象通过相互通信(传递消息)进行协作和操作。协作图表示对象之间的关系。协作图说明了类和对象(实例)之间如何交换消息。它是为系统的每个过程生成的,并且与现有的开发阶段相关。

协作图的应用场景

协作图可能有益的情况包括:

  • 创建协作对象集合的鸟瞰视图,特别是在实时系统中。
  • 通过探索系统的行为属性为类分配功能。
  • 在系统架构中对协作、过程或分层组织进行建模。
  • 提供在面向对象框架内一起操作的对象的描述。
  • 为同一用例显示多个备选方案。
  • 说明正向和逆向工程。
  • 捕获对象之间传递的信息。
  • 将系统的复杂逻辑可视化。

协作图的好处

  • 它加强了交互系统的结构方面,即生命线是如何连接的。
  • 通过顺序传输的消息通过每个消息的分层计数来显示。
  • 它使我们能够关注结构元素,而不是序列图中所述的消息流。

协作图的缺点

  • 探索图中的每个对象并不容易。
  • 对象的状态经常更改,这使得跟踪系统中存在的每个对象中的每个更改非常麻烦。
  • 有些情况下,协作关系图中存在过多对象,这会使关系图拥挤。

协作图与序列图的关系

序列图和协作图显示相同的细节,但只是呈现方式不同。在UML中,协作图和序列图是交互图的两种形式。虽然两种样式都使用相关和相似的数据,但它们以不同的方式呈现信息。

协作图已被用于设想对象之间的结构组织和交互。另一方面,序列图集中于对象之间移动消息的顺序。尽管如此,在大多数情况下,一个图形不足以解释系统的行为,因此两个图表都是必要的。

协作图符号和组件

协作图符号
  • 链接:链接连接对象和参与者。这些是关联的情况,类图中的每个链接都与一个连接相关。
  • 演员:通常,参与者的实例作为关系中交互的开始而存在。如果同一个图中存在多个参与者实例,请将重点放在使它们朝向图的外部。
  • 对象:对象由一个对象符号表示,该符号显示对象的名称,并在其类的下面加下划线,以冒号区分。
  • 消息消息是传递信息的对象之间的交互,相信动作会随之发生。消息在协作关系图中显示为标签箭头,位于链接附近。

如何使用EdrawMax创建协作图?

UML协作图可以通过在结构中设计对象并将对象之间的连接作为链接来说明。下面给出了使用Edraw Max创建协作图的分步指南。

  • 步骤1:打开一个UML图模板。
  • 单击new,选择Software,然后选择UML模型图。

    协作图步骤1
  • 步骤2:添加UML协作图形状。
  • 协作图步骤2
  • 步骤3:使用连接器连接图中的形状以创建UML协作图。
  • 协作图步骤3
  • 步骤4:双击并键入UML协作图的内容。
  • 协作图步骤4
  • 步骤5:“保存”和“导出”图表。
  • 协作图步骤5

协作图示例

图1:购买旅程

在此示例中,说明了消费者在电子商务网站上的购买旅程的协作图。它描述了从“Item”对象到显示的“order details”消息的采购订单。

协作图

图2:管理面板

本示例描述了管理面板的协作图。它显示用户使用其唯一Id登录以访问配置文件、产品等的界面。

协作图示例

总结

协作图特别适合于描述少量对象之间过于简单的交互。虽然协作图不像序列图那样频繁使用,但它们是UML的一个非常有用的方面。它有助于在单个图表中设想协作的所有复杂维度以及对象之间的关系。