UML软件工程组织

UML 建模:创建协作图

 

2007-12-07 来源:gceclub.sun.com.cn

 

本教程适用于 Sun Java Studio Enterprise 8 和 8.1 版本。

本教程要求您首先完成其配套教程 UML 建模:创建类图,因为本教程需要使用在该配套教程中完成的类图。

在本教程中,您将了解如何使用 Sun Java Studio Enterprise 集成开发环境 (Integrated Development Environment, IDE) 的 UML 建模功能来创建 UML 协作图。协作图是一种交互图,用于着重描述发送和接收消息的对象的结构组织,并显示各个实例之间的组织交互关系以及实例彼此之间的链接。

要使用本教程,您必须在系统中安装 Java Studio Enterprise IDE,并且应该熟悉 IDE 的基本组成部分。同时,还应该对 Java 编程语言和 UML 建模有基本的了解。要了解 Java Studio Enterprise IDE 的基础知识,请参见联机帮助中的“IDE 基础知识”主题。

目录

使用协作图

协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系。另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺序。协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。

协作图具有以下用途:

  • 通过描绘对象之间消息的移动情况来反映具体的方案。
  • 显示对象及其交互关系的空间组织结构,而非交互的顺序。

返回页首

 

创建协作图

本教程将使用 UML 建模:创建类图教程中创建的类图。在开始执行下列步骤之前,请首先完成类图教程。

本部分包含以下步骤:

生成协作图
  1. 启动 IDE(如果需要)。
  2. 在“项目”窗口中,展开 "UMLTutorialProject" >“模型”节点。
  3. 选择以下类节点:
    • ATM
    • Branch
    • Consortium
    注意:  通过按住 Ctrl 键并单击每个类节点可以选择多个类。
  4. 右键单击最后选定的类,然后从弹出式菜单中选择“通过选定的元素创建图”。
    将打开新建向导,其中显示“创建新图”页。
  5. 在“图类型”列表中,选择“协作图”。
  6. 在“图名称”字段中,键入 CollaborationDiagram。
  7. 保留“名称空间”字段中的缺省设置,然后单击“完成”。
    IDE 将执行以下操作:
    • 在“项目”窗口的“模型”节点下创建 CollaborationDiagram 节点
    • 在图编辑器中显示新图(该图由三个表示为生命线元素的类构成)
    • 打开建模组件面板
返回页首
完善生成的图
  1. 单击并拖动元素以重新排列图,使其与下面的图类似。

    重新排列生命线后的协作图
  2. 在“项目”窗口中,选择标记为 User 的类节点。
  3. 将选定的类拖放到图编辑器中,使其位于 ATM 生命线元素的上方,如下图所示。

    添加了生命线的协作图

返回页首

 

添加连接器链接

协作图中的每个元素均可通过连接器链接与其他元素建立连接。您可以标识这些链接,并在其中添加消息流。

  1. 从建模组件面板的“基本”类别中,选择 "Connector" 图标 "Connector" 图标
  2. 单击标记为 User 的生命线元素,然后单击 ATM。
    将在两个元素之间绘制一条连接器链接。
  3. 使用相同的步骤绘制以下链接:
    • 从 ATM 至 Consortium 的链接
    • 从 Consortium 至 Branch 的链接
    • 从 ATM 至 Branch 的链接
    注意:  在创建从 ATM 至 Branch 的链接时,请由 ATM 生命线向右水平拉出链接线,并在到达 Branch 生命线正上方时单击一下鼠标。这样便会在链接线上放置一个顶点,然后再垂直向下绘制链接以到达 Branch 生命线。
    此时,协作图应当与下面的图类似。

    添加了链接的协作图
  4. 在图编辑器中的任意位置单击鼠标右键以取消选择 "Connector" 图标。

返回页首

 

显示消息号

协作图通过使用带有编号的消息来表示特定的方案。缺省情况下,UML 建模设置将隐藏这些编号。请使用以下步骤来显示消息号:

  1. 在 CollaborationDiagram 图编辑器的背景中单击鼠标右键。
  2. 从弹出式菜单中选择“显示消息号”。
    这样当您插入操作流(在下一部分中介绍)时,便会显示消息号。
    注意:  整数表示消息在下一个更高级别的过程调用中的顺序。依据整数编号进行区分的消息按照其嵌套级别进行排序。例如,在激活 3.1 中,消息 3.1.4 排在消息 3.1.3 之后。

返回页首

 

显示操作流

操作流在图中显示为与链接平行的带标记箭头。此链接用于向目标元素传输消息或实现这种传输。

  1. 在图编辑器中,选择 User 和 ATM 之间的连接器链接。
  2. 右键单击距 ATM 生命线最近的连接器链接部分。
  3. 从弹出式菜单中选择“操作”> "public float getCashOnHand"。
    将在图中放置一个编号为 1 的操作流。
    注意:  单击“适应窗口大小”按钮 “适应窗口大小”图标的图像 以在图编辑器中查看整个图。
  4. 选择 ATM 和 Consortium 之间的连接器链接,然后右键单击靠近 Consortium 元素的链接部分。
  5. 从弹出式菜单中选择“操作”> "public void validateAccountInfo"。
    IDE 会在此链接上放置选定的操作,并将其编号为 1.1。
     
    注意:  您可以根据需要选择并移动操作流。

返回页首

 

向类中添加操作

在此过程中,您将向连接器链接添加一个新的操作。该操作还会被添加到 ClassDiagram 图的 Branch 类以及 Java 源代码中。

  1. 右键单击 Consortium 和 Branch 之间靠近 Branch 生命线元素的连接器链接。
  2. 从弹出式菜单中选择“操作”>“添加操作”。
    图中将出现一个标签,并突出显示 Unnamed 一词。
  3. 键入 verifyCardWithBank。
  4. 使用向右方向键将光标移至操作参数字段。
  5. 键入 int stringCardStrip 作为参数,然后按 Enter 键。
    该链接将被标记为 1.1.1: public void verifyCardWithBank( int stringCardStrip ),并且添加的操作会显示在 ClassDiagram 图的 Branch 类中。
  6. 在 ATM 和 Branch 之间的连接器链接上,右键单击靠近 Branch 生命线的链接部分。
  7. 从弹出式菜单中选择“操作”> "public char getConnected"。
    该链接将被标记为 1.2: public char getConnected()。

完成的协作图应当与下面的图类似。

完成的协作图

返回页

 

保存图

完成协作图后,您可以保存该图。

  1. 在图编辑器中,右键单击 "CollaborationDiagram" 标签。
  2. 从弹出式菜单中选择“保存文档”。
    将关闭菜单并保存图。
    注意:  退出 IDE 时,系统会提示您是否要保存项目。

返回页首

小结

在本教程中,您了解了如何使用现有的类图来创建协作图。具体执行的任务如下所示:

  • 生成协作图
  • 向图中添加连接器链接
  • 在图上显示消息号
  • 显示并标记操作流
  • 向图中的现有链接添加操作
  • 保存图

有关 Java Studio Enterprise UML 建模的详细信息,请参阅 IDE 中的联机帮助并访问 Java Studio Enterprise 开发者资源门户,以获取有关 UML 建模的教程、视频和其他资源。

您可以利用此协作图直接创建指定了作用域的序列图。要了解如何执行此操作,请参见教程 UML 建模:创建序列图。

返回页首