FeaturesDocs & SupportCommunityBlogsPartners

UML:开发应用程序

在本教程中,您将了解如何使用 IDE 的 UML 建模功能来创建简单的 UML 类图。然后,使用代码生成和逆向工程功能来开发一个简单的银行应用程序,并通过执行测试类对该应用程序进行测试。此银行应用程序是一个非常简单的应用程序;实际的应用程序模型要复杂得多,需要更多的细节设计。本教程旨在介绍 IDE 的一些 UML 功能,而不是向您传授 UML 概念或 Java 编程语言。

预计时间:25 分钟

教程要求

在开始之前,确保对本节的系统要求有所了解。

前提条件

要使用本教程,您必须在系统上安装 IDE,并且应该对 IDE 的基本部分比较熟悉。此外,您还应具备 Java 编程语言和 UML 方面的基本知识。有关 IDE 的基础知识,请参阅在线帮助中的 IDE Basics 主题。官方 UML 资源页面提供了许多有用的 UML 技巧和理论,地址为 http://www.uml.org/

系统要求

本教程假定您的系统满足 NetBeans 6.0 发行说明 的“系统要求”部分所指定的要求。

本教程所需要的软件

开始之前,需要在您的计算机中下载并安装以下软件:

回到顶部

为应用程序创建 Java 项目

在本部分,您需要为在教程中开发的 Java 应用程序创建一个新的 Java 项目。

  1. 从主菜单中,选择“文件”>“新建项目”,然后在“新建项目”向导中执行以下操作:
    1. 在“类别”中,选择“Java”。
    2. 在“项目”中,选择“Java 应用程序”。
    3. 单击“下一步”。
  2. 在“项目名称”字段中,键入 JavaPrj
  3. 在“项目位置”字段单击“浏览”,导航到计算机上的任何目录。单击“打开”并键入 MyPrj
  4. 清除“设置为主项目”和“创建主类”的复选框标记。
  5. 单击“完成”。
    将显示一个进度对话框。
    创建新的 JavaPrj 项目后,该项目即会显示在“项目”窗口中。

观看演示

回到顶部

 

创建 UML 项目和类图

在本部分,您将为应用程序创建 UML 项目(或 UML 项目)和类图。UML 项目是一种机制,通过这种机制您可以存储和管理 UML 模型的文件集合。UML 模型包含模型的所有图、关联的图元素以及与 UML 模型相关的元数据。

  1. 要创建 UML 项目,请选择“文件”>“新建项目”,然后执行以下操作:
    1. 在“类别”下选择“UML”。
    2. 在“项目”下选择“Java 平台模型”。
    3. 单击“下一步”。
    将打开“新建 Java 平台模型”对话框。
  2. 在“项目名称”字段中,键入 UMLPrj
    请注意,在键入项目名称后,IDE 会自动建议将此名称用作项目文件夹的名称。
  3. 确认项目位置为 MyPrj
  4. 单击“完成”。
    IDE 会创建一个 UML 项目,并且将显示“创建新图”对话框。
  5. 在“图类型”列表中选择“类图”。
  6. 在“图名称”字段中,键入 BankClassDiagram
  7. 保留“名称空间”字段中的 UMLPrj,然后单击“完成”。
    IDE 将执行以下操作:
    • 在“项目”窗口中添加 UMLPrj 项目节点
    • Model 节点下创建 BankClassDiagram 节点
    • 在 Diagram 编辑器中显示新的类图(此时的类图为空)
    • 打开 Modeling Palette

观看演示

回到顶部

添加并定义类元素

现在,将添加并定义组成 Java 应用程序的类元素。您将使用建模组件面板中的“类”图标来创建类元素。

  1. 从建模组件面板的“基本”类别中,选择“类”图标 显示“类”图标的图像。,然后在图编辑器中单击鼠标左键。
    此操作会在图编辑器中放置一个类元素。
  2. 在图编辑器中的任意位置单击鼠标右键以取消选择“类”图标。
  3. 选择新添加的类元素,键入 BankAccount,然后按回车键。
    IDE 将执行以下操作:
    • 将元素标记为 BankAccount
    • 创建公共操作 BankAccount()
    • 在属性窗口中显示 BankAccount 类的属性
  4. 在图编辑器中的 BankAccount 类元素处于选定状态下,右键单击 Attributes 一词,然后从弹出菜单中选择“插入属性”。
    此时将打开一个只有一行的编辑器,其中显示了以下信息:
    可视性 类型 名称[范围]=initialValue {名称=值}
  5. 键入 balance,然后按回车键。
    BankAccount 类中将显示一个名为 balance 且类型为 int 的私有属性。将对该类创建以下操作:
    • public int getBalance()
    • public void setBalance(int val)
  6. 在图编辑器中的 BankAccount 类元素仍处于选定状态下,右键单击 Operations 一词,然后从弹出菜单中选择“插入操作”。
    将打开一个单行编辑器,并显示以下信息:
    可视性 returnType 名称(参数) {属性, ...}
  7. 键入 withdraw,将光标(使用键盘上的向右方向键)移至圆括号内,键入 int amount,然后按回车键。
    IDE 将在类元素中添加新的操作,如下所示:
    public void withdraw(int amount)

观看演示

回到顶部

向图中添加更多的元素

在本部分,您将使用建模组件面板中的更多 UML 图标来向应用程序添加接口、包、属性和操作。

  1. 从建模组件面板的“基本”类别中,选择“包”图标 “包”图标的图像

    注意:如果需要,请向下滚动鼠标以查看其他的建模图标。
  2. 在图编辑器中单击鼠标左键,向类图添加一个包元素。
  3. 在图编辑器中的任意位置单击鼠标右键以取消选择该图标。

    注意:向图中添加建模元素后,您可以选择这些元素并将其拖至图编辑器中的新位置,以改进图的外观。在执行右键单击操作时要格外小心,因为如果单击的位置不正确,则可能会打开图编辑器的弹出菜单。在这种情况下,您只需再次单击图编辑器的空白区域即可。
  4. 在包元素处于选定状态下,键入 bankpack,然后按回车键。
  5. 从建模组件面板的“基本”类别中,选择“接口”图标 “接口”图标的图像,然后在图编辑器中单击鼠标左键。
  6. 在图编辑器中的任意位置单击鼠标右键以取消选择“接口”图标。
  7. 在接口元素处于选定状态下,键入 Bank,然后按回车键。
  8. Bank 接口中添加 deposit 操作。
    向接口添加操作的方法与向类添加操作的方法相同(请参见上一部分中步骤 6)。请按如下所示定义操作:
    public void deposit(int amount)
  9. 从建模组件面板中,选择“类”图标 “类”图标的图像,然后在图编辑器中双击。
  10. 在图编辑器中的任意位置单击鼠标右键以取消选择“类”图标。

    注意:如果绘制了过多的类元素,请取消选“类”图标,方法是:右键单击要删除的类元素,然后选择“编辑”>“删除”。
  11. 将类元素命名为 CheckingAccountTest,然后根据需要调整元素的大小。

观看演示

回到顶部

 

标识元素之间的关联

在本部分,您将使用建模组件面板中的 UML 图标来标识类元素之间的关联。

  1. 从建模组件面板的“基本”类别中,选择“实现”图标 “实现”图标的图像,然后在 BankAccount 类元素内单击鼠标左键。
  2. Bank 接口元素内单击鼠标左键,然后在图编辑器中的任意位置单击鼠标右键以取消选择“实现”图标。
    类与接口元素之间将显示一个实现链接。实现链接指示了类与接口之间的关系。
  3. 从建模组件面板的“基本”类别中,选择“泛化”图标 “泛化”图标的图像
  4. Checking 类元素(子类)内单击鼠标左键,然后在 BankAccount 类元素(超类)内单击鼠标左键。
    将显示“选择要重定义的方法”对话框。
  5. 选择 withdraw 方法,然后单击“确定”。
    IDE 将执行以下操作:
    • 关闭对话框
    • withdraw 方法添加到 Checking 类中
    • 在两个相关的类元素之间添加泛化链接
    泛化链接显示子类与其超类之间的关系。子类是超类的细化,表明它们可以继承超类的特性(属性和操作)。
  6. 在图编辑器中的任意空白区域单击鼠标右键以取消选择“泛化”图标。
  7. 从建模组件面板的“基本”类别中,选择“嵌入链接”图标 “嵌入链接”图标的图像,在 BankAccount 元素内单击鼠标左键,然后在 bankpack 包元素内再次单击鼠标左键。
  8. 按照上一步骤所述,使用“嵌入链接”图标在 CheckingAccountTest 以及 Bank 元素与 bankpack 包之间建立连接。
  9. 取消选择“嵌入”图标。
    嵌套链接表示元素是如何按组进行划分的。在本例中,我们将所有的类元素全部划分到 bankpack 包的一个组中。
  10. 在图编辑器中的任意位置按 Ctrl-S 组合键以保存对模型所做的更改。

观看演示

回到顶部

 

生成 Java 源代码

在本部分,您将使用 UML 的生成代码功能为前面部分所创建的 UML 模型生成 Java 源代码。

  1. 在“项目”窗口中,右键单击 UMLPrj 节点,然后从弹出菜单中选择“生成代码”。
    将显示“生成代码”对话框,然后指定“目标项目”。
  2. 接收“生成代码”对话框中的默认复选框。
  3. 单击“确定”。
    IDE 将生成代码,并在“输出”窗口显示代码生成的进度。

观看演示

回到顶部

使用逆向工程继续开发

在本部分,您将通过执行以下操作来继续开发应用程序:在源代码编辑器中修改生成的源代码,然后使用逆向工程功能更新应用程序的 UML 模型。

  1. 在“项目”窗口中,展开 UMLPrj > Model > bankpack 节点。
  2. 右键单击 BankAccount 节点,然后从弹出菜单中选择“导航至源”。
  3. 在源代码编辑器中,将以下代码添加到 deposit 方法中:
    setBalance(getBalance() + amount);
  4. 在“项目”窗口的 UMLPrj > Model > bankpack 节点下,右键单击 AccountTest 节点,然后从弹出菜单中选择“导航至源”。
  5. 在源代码编辑器中键入(或复制并粘贴)以下代码:
    public static void main(String[] args) {
    Checking myChecking = new Checking();
    myChecking.deposit(100);
    System.out.println("Checking Balance is: myChecking.getBalance() ); " +
    myChecking.getBalance() );
    }
    此代码会创建一个新的 Checking 对象,并指定一项 100 美元的存款,然后输出结果。
  6. 在源代码编辑器中单击鼠标右键,然后选择“设置代码格式”。
  7. 在源代码编辑器中的任意位置按 Ctrl-S 组合键以保存对 AccountTest.java 源文件所做的更改。
  8. 再次在源代码编辑器中单击鼠标右键,然后从弹出菜单中选择“逆向工程”。
    将显示“逆向工程”对话框。
  9. 在“逆向工程”对话框中选择“使用现有的 UML 项目”,然后选择 UMLPrj 作为目标项目。
  10. 单击“确定”以启动逆向工程过程。
  11. 弹出“模型元素覆盖授权”对话框,请求确认对 AccountTest 的覆盖操作。单击“是”/“全部选是”。
  12. 单击 BankClassDiagram 选项卡。
    请注意,在类图的 AccountTest 类元素中现在出现了新输入的 main 方法。
    通过使用逆向工程功能,对 Java 源项目所做的更改会反映在相应的 UML 模型项目中。

观看演示

回到顶部

对所做的工作进行测试

现在,将生成并运行项目。

  1. 在“项目”窗口中,右键单击 JavaPrj 节点,然后从弹出菜单中选择“生成”。
  2. 在“项目”窗口中,右键单击 JavaPrj 节点,从弹出菜单中选择“运行”。
    将显示“运行项目”对话框。
  3. 在“运行项目”对话框中,选择 bankpack.AccountTest 作为主类,然后单击“确定”。
    IDE 将执行应用程序,并在“输出”窗口中显示以下输出结果:
    Checking Balance is: 100

现在,您已完成了应用程序的开发。

观看演示

回到顶部

结束语

在本教程中,您为一个简单的银行应用程序设计了类图。我们已经学习了如何执行以下任务:

  • 创建 UML 项目
  • 使用建模组件面板中的 UML 图标来创建类、接口、包、属性和操作
  • 使用 UML 关联将类链接在一起
  • 在“项目”窗口显示的 UML 项目中查看在图编辑器中创建的元素
  • 在 UML 项目中,为在图编辑器中创建的元素生成源代码,并在源代码编辑器中查看这些代码
  • 使用代码生成和逆向工程功能,保持建模与在源代码编辑器中开发代码之间的同步
  • 通过源代码编辑器编译并执行类

回到顶部

未来计划

 

  • 要学习 UML 功能的更多内容,请完成“逆向工程”教程。

  • 要发送意见和建议,获取支持,了解关于 NetBeans IDE Java EE 开发特性的最新发展,请加入 nbusers@netbeans.org 邮件列表。

回到顶部

>> 更多 UML 建模文档

Companion
Projects:
                  Powered by: