UML 建模(2):对 Java 应用程序执行逆向工程
原文地址:http://gceclub.sun.com.cn/prodtech/javatools/jsenterprise/learning/tutorials/jse8/uml_re.html
|
在本教程中,您将了解如何对 Java 应用程序源代码执行逆向工程,将其转换为 UML 建模项目。在 UML 项目中,所有类以及其他应用程序元素均显示在“项目”窗口的 UML 项目节点下,而原始的 Java 代码则仍处于其原始状态。本文档将按照“目录”中列出的主题链接,指导您逐步完成一些基本的任务。 要使用本教程,您必须在系统中安装 Java Studio Enterprise 集成开发环境 (IDE),并且应该熟悉 IDE 的基本组成部分。同时,还应该对 Java 编程语言和 UML 建模有基本的了解。要了解 Java Studio Enterprise IDE 的基础知识,请参见联机帮助中的“IDE 基础知识”主题。http://www.uml.org/ 是 UML 资源的官方网站,其中提供了大量有关 UML 建模技术及理论的资源。 |
目录
| 打开 Java 项目 | 演示教程 |
-
在文件系统中创建一个名为 UMLTut 的目录,并将 BankApp.zip 文件解压缩到该目录中。
-
从 IDE 的主菜单中,选择“文件”>“打开项目”。
-
浏览到刚刚创建的 UMLTut 目录,然后选择 BankApp 项目。
-
在选中复选框“作为主项目打开”的情况下,单击“打开项目文件夹”。
此时将显示一个进度窗口(扫描项目的类路径)。
| 通过逆向工程创建 UML 项目 | 演示教程 |
-
选择“文件”>“新建项目”,然后执行以下操作:
a. 在“类别”下选择 "UML"。
b. 在“项目”下选择“通过对 Java 项目执行逆向工程而创建的 Java 平台模型”。
c. 单击“下一步”。 -
在“项目名称”字段中,键入 UMLProject。
-
对于“项目位置”字段,请单击“浏览”,找到并选择 UMLTut 文件夹,然后单击“打开”。
-
单击“选择 Java 项目”,选择 BankApp,然后单击“确定”。
- 单击“完成”。
此时,将显示一个进度窗口。
-
逆向工程完成后,单击“完成”。
您会看到在“项目”窗口中会出现一个 UMLProject 项目。
| 生成类图 | 演示教程 |
-
在“项目”窗口的 UMLProject 节点下,展开“模型”节点,然后展开该节点下的 bankpack 节点。
-
选中 bankpack 文件夹及 bankpack 文件夹下的所有元素。
-
右键单击选定的元素,然后从上下文菜单中选择“通过选定的元素创建图”。
-
在“图类型”列表中,选择“类图”。
-
在“图名称”字段中键入 BankClassDiagram,将“名称空间”字段保留为 UMLProject,然后单击“确定”。
此时将执行以下操作:- 在“模型”节点下创建 BankClassDiagram 节点
- 在图编辑器中显示新图
- 打开“建模组件面板”
请注意,新的 BankClassDiagram 图包含在步骤 2 中选择的所有元素。
| 在“项目”窗口中浏览 UML 项目 | 演示教程 |
-
在“项目”窗口中,对 UML 项目执行操作:在 bankpack 下,展开 BankAccount 节点及其“属性”节点。
BankAccount 类的所有属性都包含在该文件夹中。如果属性的数目不超过三个,那么这些属性将直接显示在类节点下,而不通过“属性”文件夹来显示。 -
选择标记为 private double balance 的属性节点
。
“属性”窗口则会显示该属性名称及其属性。 -
在 BankAccount 类下,展开“操作”节点
。
BankAccount 类中的所有操作均显示在此节点下。 -
在 BankAccount 类下,展开“关系”节点
。
此时将显示三种类型的关系节点:泛化、聚合和实现。 -
展开“泛化”节点
,将展开三个泛化节点。
泛化链接显示 BankAccount 类与其他类元素(Checking、Platinum 和 Saving)之间的关系。 - (可选)在继续下一部分之前,请关闭 BankAccount 类下展开的节点。
| 浏览图编辑器 | 演示教程 |
-
双击位于图编辑器顶部的 BankClassDiagram 标签。
此操作将拉伸类图编辑器,使其充满整个 IDE 窗口空间。
这是一个切换操作,若要撤消此操作,请再次双击 BankClassDiagram 标签。 - 在展开的图编辑器中,单击图工具栏上的“适应窗口大小”按钮
,在展开的编辑器中完全显示此图。
请注意图工具栏中的缩放级别百分比字段。您可以在此字段中键入不同的数字来控制图的大小。 -
选择“对称结构布局”
按钮,然后单击“布局”警告对话框中的“是”按钮。
IDE 便会将 BankClassDiagram 图排列成对称布局样式。 -
选择图工具栏上的“分层结构布局”
按钮,然后单击“布局”警告对话框中的“是”按钮。
IDE 便会将 BankClassDiagram 图重新排列成分层布局样式(所有元素都位于 Sample 包的上方)。 -
选择图工具栏上的“正交结构布局”
按钮,然后单击“布局”警告对话框中的“是”按钮。
IDE 便会将 BankClassDiagram 图重新排列成矩形布局样式。
| 使用“概览”窗口 | 演示教程 |
-
双击位于已展开的图编辑器顶部的 BankClassDiagram 标签。
IDE 会重新呈现多窗口视图。 -
在图工具栏中的缩放比例组合框中选择 "50%"。
该图将被展开,这样您可以更方便地查看标签。 -
单击图工具栏上的“概览窗口”按钮
,此时将打开“概览”窗口。
您会看到出现了一个显示整个图的小型可缩放窗口。窗口中的蓝色方框指示图编辑器中显示的内容。 -
将蓝色方框拖至 BankAccount 元素上。
此操作会在图编辑器的中心位置集中显示 BankAccount 元素。 -
要放大元素,请单击位于蓝色方框任意边角的句柄并缩小方框。调整方框的位置可以放大图的特定部分。
-
要缩小元素,请单击蓝色方框的任意句柄并放大方框。
请注意 IDE 此时会显示该图的更多内容。 -
单击右上角的 X,或再次单击“概览”窗口按钮,将会关闭“概览”窗口。
| 为类生成一个依赖关系图 | 演示教程 |
-
双击 BankClassDiagram 标签,切换到该图的完整视图。
-
右键单击图编辑器中的 "BankAccount" 类,然后从上下文菜单中选择“生成依赖关系图”。
IDE 会创建一个依赖关系图,并在图编辑器中打开一个新的标签,以显示新图。现在,请将注意力集中在图编辑器的 BankAccountDependencies 标签。BankAccountDependencies 图将显示以下依赖链接:- 与 Account 接口之间的实现关系
- 与 History 类之间的可导航聚合链接
使用此选项可以创建一个显示任意给定对象所有依赖关系的图。 -
再次双击 BankClassDiagram 标签,切换到 IDE 的多窗口视图中。
在“项目”窗口中的 BankAccount 类节点下,您可以看到已添加了“BankAccount依赖关系”节点
,它代表刚刚创建的依赖关系图。
| 为操作生成一个序列图 | 演示教程 |
-
在 BankAccount依赖关系图编辑器中选择 BankAccount 元素,然后调整缩放比例以便轻松查看其操作标签。
-
在图编辑器中,右键单击 "withdraw" 操作,然后从上下文菜单中选择“逆向工程操作”。
将会出现一个有助于创建新图的“新建向导”对话框。 -
在“图类型”列表中,选择“序列图”。
-
在“图名称”字段中,键入 withdrawSD。
-
接受“名称空间”字段中的缺省值,并单击“确定”。
您会看到在图编辑器中出现了一个序列图。 -
展开图编辑器,然后调整缩放级别以便可以轻松地查看新的序列图。
序列图中显示有控制流、行为序列以及并发的进程和激活。 -
在“项目”窗口中的 BankAccount 类节点下,依次展开“操作”节点和 public void withdraw 操作节点。
您会看到新的 withdraw 序列图节点
。 - 展开 withdraw 节点,查看在“项目”窗口中显示的序列图元素。
至此,有关使用 Sun Java Studio Enterprise UML 建模功能来执行逆向工程的简短介绍结束。
| 小结 |
在本教程中,您了解了如何对 Java 应用程序执行逆向工程,将其数据导入到 UML 模型中。具体学习了如何执行下列任务:
- 通过导入的应用程序生成类图
- 浏览包含应用程序元素的“项目”窗口中的各项功能
- 使用图工具栏中的按钮以不同的 UML 布局查看应用程序
- 使用“概览”窗口作为查看工具
- 为其中一个应用程序的类生成依赖关系图
- 为操作生成序列图,并检查它如何作为图和元素显示在“项目”窗口的 UML 项目中
有关 Java Studio Enterprise UML 建模功能的详细信息,请参见 IDE 中的联机帮助,并访问 Java Studio Enterprise 开发者资源门户,获取有关 UML 建模的教程、视频以及其他资源。
浙公网安备 33010602011771号