UML Profile框图设计和应用

来源:互联网 发布:数学教材 知乎 编辑:程序博客网 时间:2024/05/22 21:56

Trufun X UML2.x建模工具新增了一类框图:Profile框图,以针对UML2.x中的扩展机制profile提供强有力支持。Trufun X UML2.x建模工具的profile支持有两个重要的部分:

  • Profile框图设计:即用户自定义Profile。其中包括构造型,以及构造型的属性。
  • 应用Profile:即应用profile(自定义或系统自带)到模型。

Profile框图设计

Profile的框图设计步骤为:

  1. 新建profile项目。
  2. 在框图新建构造型;然后拖放元类到框图;用扩展连接构造型和元类。定义构造型的属性。
  3. 重复步骤2。完成所有构造型定义。
  4. 修改默认profile名"profileName"为新的名称。
  5. Define Profile:导出为可用profile。这是最重要的一步。也是最容易忽略的一步。

首先,新建Profile项目。主菜单:【文件】/【新建】/【项目】,打开“项目向导对话框”,如下图:

选择“Trufun UML 建模”分类下的“新建Profile”项目,单击“下一步”:

在“新建UML项目”对话框输入项目名,单击“完成”按钮,系统生成Profile项目,并新建默认profile框图后,打开:

框图工具箱工具说明:

  • 构造型:新建构造型。
  • 扩展:连接构造型和元类。用于指定构造型扩展的元类。
  • 基本类型:用于自定义可用基本类型。可用于构造型属性的类型。
  • 泛化:用于定义构造型之间的继承关系。

下面我们将新建一个构造型"Control",其扩展元类“Class"。

首先使用“构造型”工具在框图创建一个名为"Control"的构造型:

其次,我们将拖放元类"Class"到框图上。UML2的元类都在模型浏览器中项目节点下的“元模型/uml”下,如下图:

从元类中选择"Class",然后拖放到框图中:

然后,使用扩展工具连接构造型和元类:

有必要的话,可以定义构造型的属性。我们在这里定义一个Control的属性“name”,类型为“String”,如下图:

在Trufun X中,新增对构造型的图标和图形的支持。用户可以在属性编辑器为构造型选择图标文件和图形,图形支持jpg,gif,png,svg等格式。

重复上述步骤,完成所有构造型定义。

下面修改构造型的默认名。选择模型浏览器构造型元素,在属性编辑区修改其默认名“profileName”为“business”。

最后Define Profile,即导出为可用Profile。选择模型浏览器构造型元素,单击其快捷菜单【Define Profile】,如下图:

在弹出的对话框中,选择输出路径:

单击完成,profile导出到指定目录:

Profile至此定制完毕。

应用Profile

应用Profile包括以下步骤:

  • 选择Profile并应用到模型中。
  • 应用构造型到扩展元类实例。
  • 编辑构造型属性。

首先,选择Profile并应用到模型中。打开要应用Profile的模型编辑区(可双击该模型的项目节点):

可以看到有“应用的概要文件”区域。可在此区域添加/删除Profile。

添加也有两种选择。

  • “选择”按钮。列出所有系统预定义的Profile,如下图:

  • “添加”按钮。需要用户从工作空间选择profile文件。如下图:

下面来选择我们在上节定义的"business.profile.uml",单击“浏览工作空间...”,如下图:

选择profile文件后,单击“确定”:

单击“确定”按钮:

可以看到该profile已经应用到模型中,从模型浏览器的"Profile"节点查看:

可以看到已经列出此profile(名称为"business")以及profile可用的构造型(这里是"Control")。

下面我们应用此Profile的构造型到模型的元素。

由于构造型"Control"扩展的元类是"Class",因此此构造型只能应用到模型元素"Class"上。

我们在框图上选择类"Test",在其属性编辑区的“构造型”下拉框选择“Control",如下图:

此时,我们可以看到构造型"Control"已经应用到类"Test"上,如下图:

应用了构造型,由于"Control"构造型定义了属性,因此此时我们可以编辑其属性值了。在"Test"的属性编辑区,选择Tab"构造型",如下图:

在构造型下拉列表中选中"Control",属性值表格会显示该构造型所有的属性,以及属性值,如下图:

编辑"name"属性,如下图:

至此,应用Profile完毕。

如果要卸载profile,可以在项目编辑器除去此profile即可。