UML 建模(1):开发应用程序
原文地址:http://gceclub.sun.com.cn/prodtech/javatools/jsenterprise/learning/tutorials/jse8/uml_fe.html
| 在本教程演练中,您将了解如何使用 Sun Java Studio Enterprise 集成开发环境 (IDE) 的 UML 建模功能来创建简单的 UML 类图。我们将使用双向工程来开发一个简单的银行应用程序,并通过执行一个测试类对该应用程序进行测试。本项目是一个经过简化的项目;若要实现此类应用程序的实际模型,则需要涉及更多的细节。本教程演练的目的在于介绍 IDE 的一些 UML 建模功能,而不是向您传授 UML 概念或 Java 编程语言。 |
目录
要使用本教程,您必须在系统中安装 Java Studio Enterprise IDE,并且应该熟悉 IDE 的基本组成部分。同时,还应该对 Java 编程语言和 UML 建模有基本的了解。要了解 Java Studio Enterprise IDE 的基础知识,请参见联机帮助中的“IDE 基础知识”主题。http://www.uml.org/ 是 UML 资源的官方网站,其中提供了大量有关 UML 建模技术及理论的资源。
| 为应用程序创建 Java 项目 | 演示教程 |
-
从 IDE 的主菜单中选择“文件”>“新建项目”,然后执行以下操作:
a. 在“类别”下选择“常规”。
b. 在“项目”下选择“Java 应用程序”。
c. 单击“下一步”。
-
在“项目名称”字段中键入 JavaPrj。
-
对于“项目位置”字段,请单击“浏览”,查找计算机上的任意目录,创建一个名为 MyPrj 的新文件夹。
-
清除“设置为主项目”和“创建主类”这两个复选框。
-
单击“完成”。此时将显示一个进度窗口(扫描项目的类路径)。
创建 JavaPrj 项目后,该项目即会显示在“项目”窗口中。
| 创建 UML 项目和类图 |
-
要创建 UML 项目,请选择“文件”>“新建项目”,然后执行以下操作:
a. 在“类别”下选择 "UML"。
b. 在“项目”下选择“Java 平台模型”。
c. 单击“下一步”。
将出现“新建 Java 平台模型”页面。 -
在“项目名称”字段中,键入 UMLPrj。
请注意,在键入“项目名称”时,IDE 会自动建议将此名称用作“项目文件夹”的名称。 -
请确认“项目位置”为 MyPrj。
-
选中“生成代码”复选框,然后单击“下一步”。
-
单击“选择 Java 项目”,选择 JavaPrj,然后单击“确定”。
-
单击“完成”。
IDE 将创建 UML 项目,并打开“新建向导”,显示“创建新图”对话框。 -
在“图类型”列表中选择“类图”。
-
在“图名称”字段中,键入 BankClassDiagram。
-
保留“名称空间”字段中的 UMLPrj,然后单击“确定”。
IDE 将执行以下操作:
- 在“模型”节点下创建 BankClassDiagram 节点
- 在图编辑器中显示新图(此时该图为空图)
- 打开“建模组件面板”
| 添加并定义类元素 | 演示教程 |
-
从“建模组件面板”的“基本”类别,选择“类”图标
,然后在图编辑器中单击鼠标。
该操作将在图编辑器中放置一个类元素。 -
单击鼠标右键以取消选择类图标。
-
选中新添加的类元素,键入 BankAccount,然后按 Enter 键。
IDE 将执行以下操作:- 将元素标记为 BankAccount
- 创建公共操作 BankAccount()
- 在“属性”窗口显示 BankAccount 类的属性
-
在图编辑器中选择 BankAccount 类元素。
-
右键单击“属性”一词,然后从上下文菜单中选择“插入属性”。
此时会打开一个单行编辑器,并显示以下信息:可视性类型 名称[范围]=initialValue{名称=值}
-
键入 balance,然后按 Enter 键。
一个类型为 int 的私有属性 balance 出现在 BankAccount 类中,并且还在该类中创建了以下操作:- public int getBalance()
- public void setBalance(int val)
-
选中图编辑器中的 BankAccount 类元素,右键单击“操作”一词,然后从上下文菜单中选择“插入操作”。
此时会打开一个单行编辑器,并显示以下信息:可视性 returnType 名称(参数) {属性,...}
-
键入 withdraw,然后将光标(使用键盘上的向右方向键)移至圆括号内,键入 int amount,然后按 Enter 键。
此时 IDE 会创建一个新的 withdraw 操作。
| 向图中添加更多的元素 | 演示教程 |
-
从“建模组件面板”的“基本”类别,选择“包”图标
。
如果需要,您可以向下滚动鼠标,查看其他的建模图标。您也可以关闭“文档”窗口以提供更多的空间,然后放大“建模组件面板”。这样可以在“建模组件面板”中查看更多的可用类元素图标。 -
在图编辑器中单击鼠标,向类图中添加一个包元素。
-
单击鼠标右键以取消选择“包”图标。
向图中添加建模元素时,您可以选择这些元素并将其拖至图编辑器的新位置,以改进图的外观。右键单击时要格外注意,因为如果单击鼠标的位置不正确,则可能会打开图编辑器的上下文菜单。如果出现这种情况,您只需再次单击图编辑器的空白区域即可。 -
选中包元素,键入 bankpack,然后按 Enter 键。
-
从“建模组件面板”的“基本”类别,选择“接口”图标
,然后在图编辑器中单击鼠标。 -
单击鼠标右键以取消选择“接口”图标。
-
选中接口元素,键入 Bank,然后按 Enter 键。
-
在 Bank 接口中添加 deposit 操作。
向接口添加操作的方法与向类中添加操作的方法相同(如上一部分中的步骤 7 所示)。按以下方式定义操作:public void deposit(int amount)
-
从“建模组件面板”选择“类”图标
,然后在图编辑器中单击两次。 -
单击鼠标右键以取消选择“类”图标。
如果绘制了过多的类元素,请取消选择“类”图标,然后右键单击要删除的类元素,选择“编辑”>“删除”。
-
将类元素命名为 Checking 和 AccountTest,然后根据需要调整元素的大小。
| 标识元素之间的关联 | 演示教程 |
-
从“建模组件面板”的“基本”类别,选择“实现”图标
,然后在 BankAccount 类元素内单击鼠标。 -
接下来,在 Bank 接口元素内单击鼠标,然后单击鼠标右键以取消选择“实现”图标。
您会看到类与接口元素之间出现了一个实现链接。实现链接表示类与接口之间的关系。 -
在“项目”窗口中,依次展开 "UMLPrj" 和“模型”节点。
-
右键单击 "BankAccount" 节点,然后从上下文菜单中选择“导航到源”。
在源编辑器中,BankAccount 类的声明已显示实现了 Bank 接口。请注意,在 Bank 接口中定义的 deposit 操作已添加到了 BankAccount 类中。 -
单击 "BankClassDiagram" 标签返回到图编辑器。
-
从“建模组件面板”的“基本”类别,选择“泛化”图标
。 -
在 Checking 类元素(子类)内单击鼠标,然后在 BankAccount 类元素(超类)内单击鼠标。
此时将会出现“选择要重定义的方法”对话框。 -
选择 withdraw 方法,然后单击“确定”。
IDE 将执行以下操作:- 关闭对话框
- 将选定的方法添加到 Checking 类中
- 在两个相关的类元素之间添加泛化链接
泛化链接显示子类与其超类之间的关系。子类是超类的细化,表明它们可以继承超类的功能(属性和操作)。
-
从“建模组件面板”的“基本”类别,选择“嵌套链接”图标
,然后在 BankAccount 元素内单击鼠标,接着在 bankpack 包元素内单击鼠标。 -
根据上面讲述使用“嵌套链接”图标的方法,将 Checking、AccountTest 以及 Bank 元素与 bankpack 包建立连接。
-
单击鼠标右键以取消选择“嵌套链接”图标。
嵌套链接表示元素划分到组的方式。在本例中,我们将所有的类元素全部划分到 bankpack 包的一个组。
| 使用双向工程继续开发 | 演示教程 |
-
在“项目”窗口中,依次展开 "UMLPrj" 节点和“模型”节点。
-
展开 "bankpack" 节点,然后右键单击 "BankAccount" 节点。
-
从上下文菜单中选择“导航到源”。
-
在源编辑器中,将下列代码添加到 deposit 方法中:
setBalance(getBalance() + amount);
-
在 "UMLPrj" >“模型”> "bankpack" 节点下,右键单击 "AccountTest" 节点,然后从上下文菜单中选择“导航到源”。
-
在源编辑器中键入(或复制并粘贴)下列代码:
public static void main(String[] args) { Checking myChecking = new Checking(); myChecking.deposit(100); System.out.println("Checking Balance is: " + myChecking.getBalance() ); }
请注意,手动输入的 main 方法将出现在类图的 AcountTest 类元素中。
- 在源编辑器中单击鼠标右键,然后选择“重新格式化代码”。
此代码会创建一个新的 Checking 对象,并指定一项 100 美元的存款,然后打印结果。
| 对所做工作进行测试 | 演示教程 |
-
在“项目”窗口中,右键单击 "JavaPrj",然后从上下文菜单中选择“生成项目”。
-
在“项目”窗口中,右键单击 "JavaPrj",然后从上下文菜单中选择“运行项目”。
-
在要求选择主类时单击“确定”。
IDE 将执行应用程序,并在“输出”窗口中显示以下输出结果:Checking Balance is: 100
现在您已完成了这个应用程序。
返回页首| 小结 |
在本教程演练中,您为一个简单的银行应用程序设计了一个类图。具体学习了如何执行下列任务:
- 创建 UML 项目
- 使用“建模组件面板”中的 UML 图标创建类、接口、包、属性和操作
- 使用 UML 关联将类链接在一起
- 在“项目”窗口显示的 UML 项目中,查看在图编辑器中创建的元素
- 在源编辑器中查看为元素创建的源代码
- 通过在建模图窗口与源编辑器中来回切换,执行双向工程
- 通过源编辑器编译并执行类
有关 Java Studio Enterprise UML 建模功能的详细信息,请参见 IDE 中的联机帮助,并访问 Java Studio Enterprise 开发者资源门户,获取有关 UML 建模的教程、视频以及其他资源。
浙公网安备 33010602011771号