UML 建模:创建活动图
最新更新日期:2007 年 3 月 29 日
本教程适用于 NetBeans™ 5.5 集成开发环境 (Integrated Development Environment, IDE) 以及 NetBeans 5.5 UML 建模模块。
在本教程中,您将了解如何使用 IDE 的 UML 建模功能来创建简单的 UML 活动图。本教程将使用典型的方法步骤来创建活动图,并为您介绍一些 UML 建模模块提供的功能。本教程的目的并不在于向您传授 UML 概念或 Java 编程语言。
有关使用 NetBeans IDE 的更多信息,请参见 NetBeans Web 站点中的文档和支持页。
先决条件
要使用本教程,您必须先在系统中安装 IDE,并且应该熟悉 IDE 的基本组成部分。同时,还应该对 Java 编程语言和 UML 建模有基本的了解。要了解 IDE 的基础知识,请参见联机帮助中的“IDE 基础知识”主题。http://www.uml.org/ 是 UML 资源的官方网站,为您了解 UML 建模技术和理论提供了很好的资源。
系统要求
本教程假定您的系统满足 NetBeans 5.5 UML 建模模块发行说明中指定的要求。
本教程所需的软件
开始之前,您需要在计算机中安装以下软件:
- NetBeans IDE 5.5(下载)
- NetBeans 5.5 UML 建模模块(下载信息)
目录
返回页首
活动图 - 概述
活动图是任何系统中的活动、活动之间的数据流或判断的可视表示。单击活动图的图编辑器标签时,将在 IDE 的建模组件面板中显示一组特定的图标。活动图可以表示内容非常广泛的业务流程。
该图具有以下用途:
- 描述活动以及活动之间的数据流或判断
- 提供内容广泛的业务流程图
- 描述在一个用例内发生的活动
- 使用完全不同的符号显示多个不同的活动
- 显示并行线程
下面提供了创建活动图时所要执行的任务。该表和下面的步骤描述了一种创建活动图的方法。
- 建立活动图
- 放置分区
- 标识操作状态
- 添加元素
- 添加活动组
- 添加调用
- 添加初始节点元素
- 添加水平分叉元素
- 添加活动终结节点和判断节点
- 放置边和依赖关系
- 使用组种类和条件
返回页首
建立活动图
要创建活动图,您必须先创建 UML 项目和一个包含空活动图的 Java 包。本部分包含以下步骤:
创建 UML 项目
- 从主菜单中,选择“文件”>“新建项目”,然后执行以下操作:
- 在“类别”下选择 "UML"。
- 在“项目”下选择“与平台无关的模型”。
- 单击“下一步”。
- 键入
ActivityDiagProj 作为项目名称,键入 ActivityDiagTut 作为项目的位置。
请注意,在键入项目名称后,IDE 会自动建议将此名称用作项目文件夹的名称。
- 单击“完成”。
将打开新建向导,并显示“创建新图”页。
- 就本示例而言,请单击“取消”。
IDE 将执行以下操作:
- 创建与平台无关的空建模项目
- 在“项目”窗口中显示项目图标
返回页首
创建一个包含活动图的包
- 在“项目”窗口中,右键单击“模型”节点。
- 从弹出式菜单中选择“添加”>“包”。
- 在“名称”字段中,键入
ActDiagPkg 作为包的名称。
- 接受“名称空间”字段中的缺省值。
- 选中“创建指定了作用域的图”复选框。
- 在“图名称”字段中,键入
actDiagram 作为图的名称。
- 从“图类型”列表中选择“活动图”,然后单击“完成”。
IDE 将执行以下操作:
- 使用您输入的包名称在“模型”节点下创建一个包节点
- 在包节点下创建一个图节点
- 在图编辑器中显示新图(此时该图为空图)
- 打开建模组件面板,其中显示了用于构建活动图的图标
IDE 应当与下面的图类似:

返回页首
放置分区
可以使用 IDE 为活动图添加分区。分区元素用于分隔各个节点和边,以限制所包含的节点并显示这些节点视图。
- 从建模组件面板的“数据”类别中,选择 "Partition" 图标
。
- 在图编辑器中单击鼠标左键,在图上放置一个分区元素。
这会在图编辑器中放置一个未命名的分区元素。
- 在图编辑器中的任意位置单击鼠标右键以取消选择 "Partition" 图标。
- 向图编辑器的左侧拉伸该矩形框。
- 在选定该分区元素的情况下,单击鼠标右键,然后从弹出式菜单中选择“分区”>“将分区列添加到右侧”。
- 扩展分区的右列。
- 双击分区顶部的 Unnamed 一词并键入 Bank 以命名该分区。
- 按 Enter 键。
- 双击左列中的 Unnamed 一词并键入 Bank Lobby 以命名左列。
- 将右列命名为 Teller。
此时,活动图应当与下面的图类似。

返回页首
标识操作状态
本部分包含以下步骤:
添加活动组
- 从建模组件面板的“基本”类别中,选择 "Activity Group" 图标
。
- 在图编辑器的 "Bank Lobby" 子分区内单击鼠标左键,将活动组元素放在图的左子分区内。
这会将活动组嵌套在 Bank Lobby 子分区内。
- 单击鼠标右键以取消选择该图标。
- 双击新活动组上的 Unnamed 一词,键入 Customer,然后按 Enter 键。
- 选择刚添加的活动组。移动并放大该活动组使其几乎填充此子分区的整个区域。
返回页首
添加调用
- 从建模组件面板的“基本”类别中,选择 "Invocation" 图标
。
- 在 Bank Lobby 子分区的 Customer 活动组元素内单击鼠标左键,将两个调用元素放在该图上,其中一个元素在另一个元素的正下方。
- 取消选择该图标。
- 移动调用元素并调整其大小,使其完全包含在 Customer 活动组内,如下图所示。

- 双击刚添加的且位于上方的调用节点,键入 Approach Teller Counter,然后按 Enter 键以标记该元素。
- 选择位于下方的调用节点,并将其命名为 Enter Transaction。
- 在 Teller 子分区中再放置六个调用元素,并使用以下名称进行命名:
- Receive Transaction Request
- Search Customer Info
- Send to Customer Service
- Process Transaction
- Update Account Info
- Notify Customer
此时,活动图应当与下面的图类似。

返回页首
添加初始节点元素
- 从建模组件面板的“基本”类别中,选择 "Initial Node" 图标
。
- 在 Bank Lobby 子分区内、且位于 Approach Teller Counter 元素的左侧,单击鼠标左键。
- 取消选择该图标。
返回页首
添加水平分叉元素
- 在建模组件面板的“控制”类别中,单击 "Horizontal Fork" 图标
。
- 将表示水平分叉元素的条形图标放在 Update Account Info 和 Notify Customer 调用元素的上方。
- 取消选择该图标。
- 拉伸该条形图标,使其宽度相当于这两个调用元素的宽度。
- 将另一个水平分叉元素放在 Update Account Info 和 Notify Customer 调用元素的下方,并且拉伸该条形图标,使其宽度相当于这两个调用元素的宽度。
返回页首
添加活动终结节点和判断节点
- 从建模组件面板的“基本”类别中,选择 "Activity Final Node" 图标
。
- 将终结节点放在下面的水平分叉元素的下方。
- 取消选择活动终结节点图标。
- 从建模组件面板的“控制”类别中,选择 "Decision" 图标
。
- 将判断元素放在位于 Search Customer Info 与 Send to Customer Service 元素之间的流上。
此时,活动图应当与下面的图类似。

- 取消选择判断图标。
返回页首
放置边和依赖关系
本部分包含以下步骤:
添加一个活动边元素
- 从建模组件面板的“基本”类别中,选择 "Activity Edge" 图标
。
可以使用活动边将初始节点元素与调用元素连接起来。
- 单击初始节点元素,然后再单击标记为 Approach Teller Counter 的调用元素。
现在,活动边链接会将两个元素连接起来。这些活动边链接的标签通常是隐藏的,您需要让这些标签显示出来。
- 在图编辑器中的任意位置单击鼠标右键以取消选择该图标。
- 选择并右键单击活动边元素。
- 从弹出式菜单中选择“标签”>“显示名称”。
该链接将被标记为带有突出显示的文本 Unnamed。
- 要命名该链接,请键入 Initiate Cash Withdrawal,然后按 Enter 键。
返回页首
添加多个活动边元素
- 从建模组件面板的“基本”类别中,选择 "Activity Edge" 图标。
- 绘制以下链接:
- 从 Approach Teller Counter 至 Enter Transaction 的链接
- 从 Enter Transaction 至 Receive Transaction Request 的链接
- 从 Receive Transaction Request 至 Search Customer Info 的链接
- 从 Search Customer Info 至判断节点的链接
- 从判断节点至 Send to Customer Service 的链接
- 从判断节点至 Process Transaction 的链接
- 从 Process Transaction 至上面的水平分叉元素的链接
- 从上面的水平分叉元素至 Update Account Info 和 Notify Customer 的链接
- 从 Notify Customer 至下面的水平分叉元素的链接
- 从 Update Account Info 至下面的水平分叉元素的链接
- 从下面的水平分叉元素至终结状态元素的链接
- 单击鼠标右键以取消选择该图标。
此时,活动图应当与下面的图类似:

返回页首
使用组种类和条件
本部分包含以下步骤:
为活动边添加触发条件
通过使用 UML 建模功能,您可以在属性窗口或图编辑器中为活动图添加触发条件。
- 在图编辑器中,右键单击判断节点和 Send to Customer Service 元素之间的活动边元素。
- 从弹出式菜单中选择“标签”>“显示触发条件”。
- 在触发条件方括号内,键入 No Customer Info,然后按 Enter 键。
- 对于判断节点和 Process Transaction 之间的活动边,请重复第 2 步和第 3 步。为此触发条件键入 Customer Info。
返回页首
选择并修改组种类属性
在 IDE 中,活动组用于描述活动流中的循环。例如,活动组标注了流中存在的迭代。IDE 的 UML 建模功能提供了以下三个组种类:
- 在图编辑器中,选择标记为 Customer 的活动组。
- 在属性窗口的 "GroupKind" 属性行中,单击向下方向键。
- 从下拉列表中选择“结构化”。
图中的 Customer 活动组将被重新标记为结构化组。
完成的活动图应当与下面的图类似:

返回页首
小结
在本文中,您为一个简单的银行应用程序创建了活动图。您了解了如何使用 UML 建模模块提供的功能来创建一个典型的活动图。
有关 NetBeans 5.5 UML 建模模块的详细信息,请参阅 IDE 中的联机帮助并访问 NetBeans UML 建模项目页,该页包含了其他教程和视频剪辑等信息。
返回页首