技术开发 频道

Rational XDE介绍

我们通过一个简单的例子说明Rational XDE同步的用法。

    步骤一:创建建模项目

    我们的例子是按照先有模型再有代码的方式。你也可以先编写代码再产生模型,但这并不是被鼓励的,只有对以往的只存在代码没有设计文档的,或希望将原有的非UML设计装化成UML设计模型时,才会用到先有代码,然后产生相应的设计模型的做法。

    首先打开"文件"菜单,选择新建项目,会出现新建项目对话框。见图3

    图3 Rational XDE 新建项目对话框

    在对话框的左栏中选择"Modeling",在右栏中选择"Java Modeling Project"。按下一步,输入项目的名字,我们这里输入"Test",然后按完成。这时你将会得到一个普通的Java建模项目,这个项目的创建包括两个部分-Java项目的内容和Java建模内容。你可以通过Java透视图来查看Java项目所包含的文件,类路径,引用的Java包等。通过建模透视图可以看到项目模型的结构。

    如图4 XDE 为我们创建了两个包-jdk_min 和Java Code Model模型。 jdk_min是XDE为你缺省提供的,因为我们创建的是一个普通的Java建模项目,所以缺省的是一个迷你的JDK逻辑模型,你可以引用其中的任何的类或包元素。在包Java Code Model中你可以定义自己的逻辑元素,并建立各元素之间的关系。

    步骤二:创建模型

    在这个例子中,我们只是简单的定义两个类和他们之间的关系。我们定义一个名为 Customer的类,它具有姓名,年龄,性别和职业信息等属性,职业信息是一个复合属性,它包括公司名称、职称等,因此我们另外定义一个名为BusinessInfo的类来表示。

    我们将这两个类放到名为user的包中。如果你使用过Rational Rose的话你将非常轻松的完成这个步骤。对于一些初学者和对Rational Rose不熟悉的开发人员,这里提供详细的操作过程。鼠标右键点击user包,出现如图5菜单,选择"Add UML"菜单项下的Class,输入Customer作为类名。然后鼠标右键点击Customer类,选择"Add Java"菜单项下的"Field"为Customer类添加属性。我们添加两个属性name和age,name为String类型,age为int类型,将两个属性设置成private,并让XDE自动产生属性的get和set方法。

    步骤三:代码和模型同步

    见图4,我们可以看到图的左边部分是模型浏览器(Model explore)视图,在这个视图中我们可以看到Customer类的图标,以及它的属性和get/set方法。我们还会发现在Customer类图标下有一个名为Customer.java的组件图标,它是由XDE自动生成的。在XDE中有两种同步方式,一种是自动同步,另一种是手动同步。自动同步是指XDE按照一定的时间间隔同步模型与代码的变化。手动方式则是在对模型或代码进行改动时先不进行同步,当你认为应该同步的时候,通过按下同步按钮,XDE才将所有的改动进行同步。你可以在Websphere Studio的窗口菜单中选择首选项,并在首选项窗口中选择Rational XDE下的"Code-Model Synchronization"项对同步方式进行设置。

   图4 建模透视图

    我们回过头看看WebSphere Studio右边的部分,右边分为上下两部分,上面显示的是类图,下面是类的Java代码。现在我们看看代码和模型的同步效果。在图6中我们看到Customer类有一个名为name的属性。现在在Customer的代码中将name改为fullname,看看会有什么样的事情发生。由于我使用的是自动同步,当我将name改为fullname后,按下Ctr-S键保存时,类图中的Customer的name也相应的变成了fullname,相应的getName和setName也变成了getFullname和setFullname. 同样如果你在模型中作了任何改变,代码中也会有相应的变化。

   

0
相关文章