在你开始前
Rational Application Developer提供的图使您能够使用UML 2.0表示法从不同的角度查看代码。 这些图被称为UML可视化,不要与UML建模相混淆。 Rational Application Developer中的所有UML可视化都与源文件同步。 对源文件的修改将动态更改图,反之亦然。 要创建UML 2.0模型,您需要使用Rational Software Modeler或Rational Software Architect。 敬请关注developerWorks,以获取涉及这两个产品视觉功能的未来教程。
关于本教程
本教程向您介绍使用Rational Application Developer创建UML和非UML图的过程。 本教程演示了以下Rational Application Developer图:
- 类图
- 顺序图
- 浏览图
- 主题图
注:在类图中,可以使用Rational Application Developer来绘制多个Java类。 数据库组件也可以绘制出来。 但是,本教程不涵盖此内容。 有关绘制数据库组件图的更多信息,请参见“ 相关主题”部分。
本教程是为有兴趣学习Rational Application Developer可视化功能的开发人员编写的。
目标
完成本教程之后,您将知道如何使用Rational Application Developer创建类图,序列图,浏览图和主题图。
先决条件
本教程假定您对Java编程有深入的了解。 UML 2.0图表知识是有帮助的,但不是必需的。
系统要求
要运行本教程中演示的示例,您需要在计算机上安装Rational Application Developer。
如果您还没有Rational Application Developer的副本,那么可以下载免费的试用版 。 Rational Application Developer的所有先决条件位于本教程的“ 相关主题”部分。
创建一个Java项目和包
要开始使用本教程,您需要进行一些初始设置。 首先,创建一个Java项目来容纳将要创建的所有不同元素(即包,Java类,图等)。
创建一个Java项目
创建Java项目非常简单:
- 打开Rational Application Developer。
- 要打开Java透视图,请从“窗口”菜单中选择“ 打开透视图”>“ Java” 。
- 确保所有打开的项目都已关闭。
- 从“文件”菜单中,选择“ 新建”>“项目” 。
- 确保选中“ 显示所有向导”框。
- 展开Java文件夹。
- 选择Java项目 。
图1. New Project窗口
- 填写“ 创建Java项目”向导,如下所示:
- 项目名称:
IBMPayroll
- 位置: 在工作区中创建项目 。
- 项目布局: 将项目文件夹用作源和类文件的根目录 。
图2. New Java Project窗口
- 项目名称:
- 点击完成 。
现在,创建一个包来容纳您的Java类。
创建一个包
- 在Package Explorer视图中,右键单击新创建的IBMPayroll项目。
- 选择“ 新建”>“包” 。
图3.新软件包
- 在“新建Java包”窗口中,将包命名为
com.ibm.common
。 - 点击完成 。
- 包资源管理器现在应如下所示:
图4. Package Explorer视图
现在继续学习本教程中更令人兴奋的部分。 让我们继续进行UML类图。
创建和编辑UML类图
本教程的这一部分涵盖了UML类图的创建和填充。
创建一个Java类图
- 在Package Explorer视图中,右键单击IBMPayroll项目。
- 选择“ 新建”>“类图” 。
- 填写“创建类图”窗口,如下所示:
- 输入或选择IBMPayroll / com / ibm / common作为父文件夹。
- 将文件命名为
IBMPayrollDiagram
。
图5. New Class Diagram窗口
- 点击完成 。
- 从调色板
- 填写“ New Java Class”窗口,如下所示:
- 源文件夹:
IBMPayroll
。 - 软件包:
com.ibm.common
。 - 名称:
Zipcode
。 - 确保选中底部的三个复选框。
图6. New Java Class窗口
- 源文件夹:
- 点击完成 。 现在,图编辑器应显示Java类的UML可视化。 请注意,这不是 UML 2.0模型。 它是使用UML 2.0表示法的Java代码的表示。
图7. Zipcode UML表示形式
- 在com.ibm.common包中创建两个其他类:PhoneNumber和Employee。
- 在“组件面板”视图中,单击“关联”按钮
- 从Employee类拖放到Zipcode类。
- 填写“创建关联”窗口,如下所示:
- 将关联命名为
zipcode
。 - 将其余选项保留为默认值。
- 点击完成 。
图8.创建关联窗口
- 将关联命名为
- 对Employee和PhoneNumber之间的关联重复相同的步骤。
- 将关联命名为
phoneNumber
。 - 在图编辑器中安排类,如下所示:
图9.添加三个类之后的类图
- 在图编辑器中双击任何新创建的Java类,以查看其源文件。
- 检查自动生成的源文件。
编辑Java类图
在本节中,将使用Rational Application Developer可视化工具来编辑Zipcode和PhoneNumber类。 在PhoneNumber类中添加一个字段,在Zipcode类中添加一个字段和方法。
- 在Package Explorer视图中,在IBMPayroll项目双击IBMPayrollDiagram.dnx。
- 在编辑器中,右键单击PhoneNumber类。
- 选择添加Java>字段...。
图10.添加Java字段
- 填写“创建Java字段”窗口,如下所示:
- 名称:
theNumber
- 类型: java.lang.String
- 公开程度: 私人
图11. Create Java Field窗口
- 名称:
- 点击完成 。
- 重复相同的步骤,将字段添加到Zipcode类。
- 填写“创建Java字段”窗口,如下所示:
- 名称:
theCode
- 类型:
java.lang.String
- 公开程度: 私人
- 点击完成 。
- 名称:
- 在编辑器中,右键单击Zipcode类。
- 选择添加Java>方法...。
图12.添加Java方法
- 填写“创建Java方法”窗口,如下所示:
- 名称:
isZipcode
- 类型:
boolean
- 公开程度: 公开
- 在参数部分中,单击添加 。
- 将参数
code
命名为java.lang.String
。图13.创建参数
- 名称:
- 单击确定 。
- “创建Java方法”窗口应如下所示:
图14. Create Java Method窗口
- 点击完成 。 在Package Explorer视图中,您现在应该在Zipcode类中看到一个错误,没关系。
- 在图编辑器中双击Zipcode类以打开源文件。
- 用以下代码替换isZipcode()方法:
清单1. isZipcode()
public boolean isZipcode(String code) { boolean isValid = true; try { int length = code.length(); if ((length != 5) && (length != 10)) { isValid = false; } for (int i = 0; i < length; i++) { char c = code.charAt(i); if ((length == 10) && (i == 5) &&) (c != '-')) { isValid = false; } else if ((c < '0') || (c > '9')) { isValid = false; } } } catch (Exception e) { System.out.println("Error in isZipcode()" + e); } finally { if (isValid == false) return false; } return isValid; }
- 确保立即保存所有项目(CTRL + SHIFT + S)或“ 文件”>“全部保存” 。 注意错误现在消失了。
- 在“程序包资源管理器”视图中,右键单击Employee类。
- 选择源>生成Getter和Setters ...
图15.生成Getter和Setter
- 在“生成获取器和设置器”窗口中,检查phoneNumber和邮政编码以生成获取器和设置器。
图16.生成Getters和Setters窗口
- 对Zipcode类和PhoneNumber类重复相同的步骤。
- 再次,保存所有新更改(CTRL + SHIFT + S)或“ 文件”>“全部保存” 。
- 图编辑器现在应如下所示:
图17.最终类图
使用顺序图可视化方法
现在已经创建了UML类图,您将利用Rational Application Developer提供的另一种可视化功能:序列图。 顺序图显示消息的顺序(时间),这些消息在实现系统行为的角色之间交换。 本教程的这一部分将指导您完成使用Rational Application Developer创建序列图的过程。
创建序列图
- 在“程序包资源管理器”视图中,展开Zipcode类。
图18.扩展的Zipcode类
- 右键单击isZipcode(String)方法,然后选择“ 可视化”>“添加到新图文件”>“静态方法序列图” 。
图19.选择序列图
- 该图将自动创建并打开(默认名称为sequencediagram.tpx)。
- 探索序列图。
图20.序列图
- 为了快速浏览大型图,“大纲”视图使您可以快速移动编辑器的可视区域(这适用于所有图)。
图21.图表轮廓图
从现有代码创建主题图
主题图是不可编辑的图,它提供了一种显示元素之间关系的快速方法。 它们对于定义查询以及显示和保留该查询的结果很有用。 一个示例是创建一个层次结构主题图,您可以对其进行更新以始终显示特定类的层次结构。 本教程的这一部分向您展示如何使用Rational Application Developer从现有代码创建主题图。
创建主题图
- 在“程序包资源管理器”视图中,右键单击Employee类。
图22.员工类
- 选择“ 可视化”>“添加新图文件”>“主题图...”。
图23.选择新主题图
- 填写主题向导窗口,如下所示:
- 父文件夹:
IBMPayroll/com/ibm/common
- 文件名:
EmployeeTopicDiagram
- 父文件夹:
- 向导现在应如下所示:
图24.主题向导
- 单击下一步 。
- 选择“ Java字段类型”作为主题。
图25.主题向导
- 其余页面使用默认值,但是请随时浏览这些选项。
- 点击完成 。
- 完成的浏览图如下所示:
图26.浏览图
创建浏览图
浏览图是一个临时的,不可编辑的图,它显示了对模型中上下文图元素的查询结果。 使用浏览图浏览模型以查看其元素和关系的详细信息。 例如,创建一个浏览图以显示类及其相关元素的动态视图,以了解其如何适合模型。
创建浏览图
- 在“程序包资源管理器”视图中,右键单击Employee类。
图27.雇员类
- 选择“ 可视化”>“在浏览图中浏览” ...
图28.在浏览图中选择浏览
- 该图将自动创建。
- 单击编辑器中的所有按钮,以浏览与Employee类的所有关系。
图29.选择所有关系
- 点击应用 。
- 最终图如下所示:
图30.最终浏览图
结论
恭喜你! 在本教程中,您介绍了类的创建,序列,浏览和主题图,以创建和可视化单个Java类。 尝试理解和编辑较大的应用程序时,可视化图表要有用得多。 借助从本教程中学到的知识,您可以轻松地继续使用Rational Application Developer将相同的技能应用于复杂的应用程序。
翻译自: https://www.ibm.com/developerworks/rational/tutorials/r-radvisualtools/rradvisualtools.html