UML 建模(5):创建协作图


原文地址:http://gceclub.sun.com.cn/prodtech/javatools/jsenterprise/learning/tutorials/jse8/uml_collab_diagram.html

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

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

要使用本教程,您必须在系统中安装 Java Studio Enterprise IDE,并且应该熟悉 IDE 的基本组成部分。同时,还应该对 Java 编程语言和 UML 建模有基本的了解。要了解 Java Studio Enterprise IDE 的基础知识,请参见联机帮助中的“IDE 基础知识”主题。http://www.uml.org/ 是 UML 资源的官方网站,其中提供了大量有关 UML 建模技术及理论的资源。


目录

使用协作图

什么是协作图?

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

协作图具有以下用途:

  • 通过描述对象之间消息的移动情况来反映具体的脚本
  • 显示对象及其交互关系的空间组织结构,而非交互的顺序
返回页首

创建协作图

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

本部分包含以下内容:

生成协作图

  1. 如果需要,请启动 IDE。

  2. 在“项目”窗口中,展开 "UMLTutorialProject" >“模型”节点。

  3. 选择以下类节点:

    • ATM
    • Branch
    • Consortium

     

    注意:  按住 Ctrl 键然后单击每个类节点可选择多个类。

     

  4. 右键单击最后选定的类,然后从上下文菜单中选择“通过选定的元素创建图”。

    将打开“新建向导”窗口,并显示“创建新图”页面。

  5. 在“图类型”列表中,选择“协作图”。

  6. 在“图名称”字段中,键入 CollaborationDiagram

  7. 保留“名称空间”字段中的缺省设置,并单击“确定”。

    IDE 将执行以下操作:

    • 在“模型”节点下创建 CollaborationDiagram 节点
    • 在图编辑器中显示新图,该图是由三个表示为生命线元素的类构成的
    • 打开“建模组件面板”

完善生成的协作图

  1. 单击并拖动元素来重新排列此图,使其与下面的图类似。

    重新排列生命线后的协作图

  2. 在“项目”窗口中,选择标记为 User 的类节点。

  3. 将选定的类拖放到图编辑器上,然后将其置于 ATM 生命线元素之上,如下图所示。

    添加了生命线的协作图

返回页首

添加连接器链接

协作图中的每个元素均可通过连接器链接与其他元素建立连接。您可以标识这些链接,并在其中添加消息流。
  1. 从“建模组件面板”的“基本”类别,选择“连接器”图标 显示“连接器”图标。

  2. 单击标记为 "User" 的生命线元素,然后单击 "ATM"。

    两元素之间即会出现一条连接器链接。

  3. 使用相同的步骤绘制以下链接:

    • 从 ATM 到 Consortium 的链接
    • 从 Consortium 到 Branch 的链接
    • 从 ATM 到 Branch 的链接


    注意: 

    在创建从 ATM 到 Branch 的链接时,从 ATM 生命线向右水平拉出链接线,并在到达 Branch 生命线正上方时单击一下鼠标。这样便会在链接线上放置一个顶点,然后再向正下方绘制一条连接到 Branch 生命线的链接。

    现在,该图应当与下面的图类似。

    带有链接的协作图

  4. 单击鼠标右键以取消选择连接器图标。


返回页首

显示消息号

协作图通过使用带有编号的消息来表示特定的脚本。UML 建模功能缺省情况下将隐藏这些编号。您可以通过以下步骤来显示消息号:
  1. 右键单击 "CollaborationDiagram" 图编辑器的背景。

  2. 从上下文菜单中选择“显示消息号”

    这样当您插入操作流(在下一部分中介绍)时,便会显示出消息号。

    注意:  整数表示下一个更高级别的过程调用中消息的顺序。对于消息号相差为 1 的消息,它们将在其嵌套的级别内按数字顺序排列。例如,在激活 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 建模:创建序列图”来了解如何完成此项操作。您可以通过下面的 URL 找到此教程:Sun Java Studio Enterprise 8 教程

posted @ 2006-04-25 20:57  ahwey  阅读(1576)  评论(0)    收藏  举报