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 项目 演示教程
  1. 在文件系统中创建一个名为 UMLTut 的目录,并将 BankApp.zip 文件解压缩到该目录中。

  2. 从 IDE 的主菜单中,选择“文件”>“打开项目”。

  3. 浏览到刚刚创建的 UMLTut 目录,然后选择 BankApp 项目。

  4. 在选中复选框“作为主项目打开”的情况下,单击“打开项目文件夹”。

    此时将显示一个进度窗口(扫描项目的类路径)。

返回页首
通过逆向工程创建 UML 项目 演示教程
  1. 选择“文件”>“新建项目”,然后执行以下操作:

    a. 在“类别”下选择 "UML"。
    b. 在“项目”下选择“通过对 Java 项目执行逆向工程而创建的 Java 平台模型”。
    c. 单击“下一步”。

  2. 在“项目名称”字段中,键入 UMLProject

  3. 对于“项目位置”字段,请单击“浏览”,找到并选择 UMLTut 文件夹,然后单击“打开”。

  4. 单击“选择 Java 项目”,选择 BankApp,然后单击“确定”。

  5. 单击“完成”。

    此时,将显示一个进度窗口。

  6. 逆向工程完成后,单击“完成”。

    您会看到在“项目”窗口中会出现一个 UMLProject 项目。

返回页首
生成类图 演示教程
  1. 在“项目”窗口的 UMLProject 节点下,展开“模型”节点,然后展开该节点下的 bankpack 节点。

  2. 选中 bankpack 文件夹及 bankpack 文件夹下的所有元素。

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

  4. 在“图类型”列表中,选择“类图”。

  5. 在“图名称”字段中键入 BankClassDiagram,将“名称空间”字段保留为 UMLProject,然后单击“确定”。
    此时将执行以下操作:

    • 在“模型”节点下创建 BankClassDiagram 节点
    • 在图编辑器中显示新图
    • 打开“建模组件面板”

    “注意”图标  请注意,新的 BankClassDiagram 图包含在步骤 2 中选择的所有元素。

     

返回页首
在“项目”窗口中浏览 UML 项目 演示教程
  1. 在“项目”窗口中,对 UML 项目执行操作:在 bankpack 下,展开 BankAccount 节点及其“属性”节点。

    BankAccount 类的所有属性都包含在该文件夹中。如果属性的数目不超过三个,那么这些属性将直接显示在类节点下,而不通过“属性”文件夹来显示。

  2. 选择标记为 private double balance 的属性节点 “属性”节点图标

    “属性”窗口则会显示该属性名称及其属性。

  3. BankAccount 类下,展开“操作”节点 
	显示“操作”节点图标。

    BankAccount 类中的所有操作均显示在此节点下。

  4. BankAccount 类下,展开“关系”节点 显示“关系”节点图标。

    此时将显示三种类型的关系节点:泛化、聚合和实现。

  5. 展开“泛化”节点 显示“泛化”图标。,将展开三个泛化节点。

    泛化链接显示 BankAccount 类与其他类元素(CheckingPlatinumSaving)之间的关系。

  6. (可选)在继续下一部分之前,请关闭 BankAccount 类下展开的节点。
返回页首
浏览图编辑器 演示教程
  1. 双击位于图编辑器顶部的 BankClassDiagram 标签。

    此操作将拉伸类图编辑器,使其充满整个 IDE 窗口空间。

    “注意”图标  这是一个切换操作,若要撤消此操作,请再次双击 BankClassDiagram 标签。

  2. 在展开的图编辑器中,单击图工具栏上的“适应窗口大小”按钮 显示“适应窗口大小”图标。,在展开的编辑器中完全显示此图。

    “注意”图标  请注意图工具栏中的缩放级别百分比字段。您可以在此字段中键入不同的数字来控制图的大小。

     

  3. 选择“对称结构布局”
显示“对称结构布局”图标。 按钮,然后单击“布局”警告对话框中的“是”按钮。

    IDE 便会将 BankClassDiagram 图排列成对称布局样式。

  4. 选择图工具栏上的“分层结构布局”显示“分层结构布局”图标。 按钮,然后单击“布局”警告对话框中的“是”按钮。

    IDE 便会将 BankClassDiagram 图重新排列成分层布局样式(所有元素都位于 Sample 包的上方)。

  5. 选择图工具栏上的“正交结构布局”显示“正交结构布局”图标。 按钮,然后单击“布局”警告对话框中的“是”按钮。

    IDE 便会将 BankClassDiagram 图重新排列成矩形布局样式。

返回页首
使用“概览”窗口 演示教程
  1. 双击位于已展开的图编辑器顶部的 BankClassDiagram 标签。

    IDE 会重新呈现多窗口视图。

  2. 在图工具栏中的缩放比例组合框中选择 "50%"。

    该图将被展开,这样您可以更方便地查看标签。

  3. 单击图工具栏上的“概览窗口”按钮 显示“概览窗口”。,此时将打开“概览”窗口。

    您会看到出现了一个显示整个图的小型可缩放窗口。窗口中的蓝色方框指示图编辑器中显示的内容。

  4. 将蓝色方框拖至 BankAccount 元素上。

    此操作会在图编辑器的中心位置集中显示 BankAccount 元素。

  5. 要放大元素,请单击位于蓝色方框任意边角的句柄并缩小方框。调整方框的位置可以放大图的特定部分。

  6. 要缩小元素,请单击蓝色方框的任意句柄并放大方框。

    请注意 IDE 此时会显示该图的更多内容。

  7. 单击右上角的 X,或再次单击“概览”窗口按钮,将会关闭“概览”窗口。

返回页首
为类生成一个依赖关系图 演示教程
  1. 双击 BankClassDiagram 标签,切换到该图的完整视图。

  2. 右键单击图编辑器中的 "BankAccount" 类,然后从上下文菜单中选择“生成依赖关系图”。

    IDE 会创建一个依赖关系图,并在图编辑器中打开一个新的标签,以显示新图。现在,请将注意力集中在图编辑器的 BankAccountDependencies 标签。BankAccountDependencies 图将显示以下依赖链接:

    • Account 接口之间的实现关系
    • History 类之间的可导航聚合链接

    “注意”图标  使用此选项可以创建一个显示任意给定对象所有依赖关系的图。

     

  3. 再次双击 BankClassDiagram 标签,切换到 IDE 的多窗口视图中。

    在“项目”窗口中的 BankAccount 类节点下,您可以看到已添加了“BankAccount依赖关系”节点 
	  显示“BankAccount依赖关系”节点图标。,它代表刚刚创建的依赖关系图。

返回页首
为操作生成一个序列图 演示教程
  1. BankAccount依赖关系图编辑器中选择 BankAccount 元素,然后调整缩放比例以便轻松查看其操作标签。

  2. 在图编辑器中,右键单击 "withdraw" 操作,然后从上下文菜单中选择“逆向工程操作”。

    将会出现一个有助于创建新图的“新建向导”对话框。

  3. 在“图类型”列表中,选择“序列图”。

  4. 在“图名称”字段中,键入 withdrawSD

  5. 接受“名称空间”字段中的缺省值,并单击“确定”。

    您会看到在图编辑器中出现了一个序列图。

  6. 展开图编辑器,然后调整缩放级别以便可以轻松地查看新的序列图。

    序列图中显示有控制流、行为序列以及并发的进程和激活。

  7. 在“项目”窗口中的 BankAccount 类节点下,依次展开“操作”节点和 public void withdraw 操作节点。

    您会看到新的 withdraw 序列图节点 显示序列图文件夹。

  8. 展开 withdraw 节点,查看在“项目”窗口中显示的序列图元素。

至此,有关使用 Sun Java Studio Enterprise UML 建模功能来执行逆向工程的简短介绍结束。

返回页首
小结  

在本教程中,您了解了如何对 Java 应用程序执行逆向工程,将其数据导入到 UML 模型中。具体学习了如何执行下列任务:

  • 通过导入的应用程序生成类图
  • 浏览包含应用程序元素的“项目”窗口中的各项功能
  • 使用图工具栏中的按钮以不同的 UML 布局查看应用程序
  • 使用“概览”窗口作为查看工具
  • 为其中一个应用程序的类生成依赖关系图
  • 为操作生成序列图,并检查它如何作为图和元素显示在“项目”窗口的 UML 项目中

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

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