使用 UML Coloring 插件在 UML 模型中使用自动化和一致的颜色
 

2010-04-29 来源:IBM

 

UML 颜色绘图插件(UML Coloring 插件)概述

该插件提供了一种框架,帮助您开发可扩展的着色方案,并应用一系列最普通的规则。最初,您会创建一些不同规则的实例(例如,所有 冷色调的模型都用蓝色标示)。然后,当一个模型元素满足添加至一个图表界面的标准时,插件会根据您设定的规则自动为模型确定一种颜色。在这里提供了一系列不同的规则:

  1. 根据名字着色(使用一个规范的表达式来定义名字)
  2. 根据构造型来着色
  3. 根据关键字来着色
  4. 根据构造型属性值来着色
  5. 根据类型(类,界面等等)来着色
  6. 根据关系来着色(所有根据一个指定的关系类型与特定名字的类相关的元素)

这种方法要比手动设定程序的颜色要远远有效和有用,因为它是非常稳定的。大多数的人只考虑根据构造型来应用颜色,但是这种方法可能会提供不同的规则和创建新规则的不同能力。(用户界面和本文中显示的代码使用颜色的大不列颠拼写规则。所以在有些地方您可以使用 colour)。

怎样安装 UML Coloring 插件

UML Coloring 插件的安装是直接的:

  1. 下载本文中含有的 RAS 文件到您的硬盘上去(查看 下载 部分)。
  2. 启动 IBM? Rational? Software Modeler(或者 IBM? Rational? SoftwareArchitect),然后选择 File > Import
  3. 选择 RAS > RAS Asset,然后点击 Next
  4. 切换至下载的 RAS 文件处,接受关于可部署插件的警告,然后点击 Next
  5. 选择特性,接受许可证协议,然后点击 Finish
  6. 当弹出一个对话框时,重启内核以激活插件。
  7. 现在切换至 Modeling 视角,并选择 Window > Preferences > Modeling,然后您就可以看到 Color Preferences 页面了。

怎样使用 UML Coloring 插件

使用它的方法仍然是直接的,两步的过程:定义规则,然后应用规则。

定义着色规则

  1. 为了定义一个着色规则,您可以点击 Windows > Preferences > Modeling,然后在左边点击 Color Preferences,以打开如图 1 所示的 Color Preferences 窗格。

图 1. 选中 Color Preferences 的 Preferences 视图

点击 Add Rule 按钮,并选择一个规则类型(见于图 2)。

图 2. Choose Rule Type 窗口

  1. 点击 OK,然后在图 3 所示的规则对话框中定义规则(不同的规则类型拥有不同的规则创建对话框)。为了演示这一点,我们创建了一个让关键字变蓝的规则(见于图 3):
    • 规则名:BlueKeyword
    • 规则颜色:[light blue selected]
    • 关键字名:Data

图 3. Create Rule 窗口

现在您就可以看到 Preferences 菜单中的规则。您可以在向图表添加元素的任意时刻,来使用这条规则。

应用规则

按照以下的方法来应用您在前面创建的规则:

  1. 首先,在模型浏览器中创建一个类。
  2. 然后,有了选中的类,打开 Properties 项,点击 Stereotypes 选项,例如,在 Keywords 区域中输入 Data(见于图 4)。

图 4. Class Properties 项打开了,Stereotypes 视图

  1. 现在将一个类从 Project Explorer 拖拉到一个 UML 表中(图 5)。它就会根据您所定义的着色规则来自动设定颜色了。

图 5. 应用的规则

注意:

如果您想对一个已存在的图表重新应用着色规则,那么您可以右击图表,或者一个元素,并选择 Re-Apply Colour Rules,这就会对图表上的所有的元素应用着色规则。

怎样扩展 UML Coloring 插件

颜色绘图插件提供了一个扩展点,这样您就可以添加自己的着色规则了。代码行 1 显示了这些扩展点是如何定义的。

代码行 1. 扩展点 XML 方案

<element name="extension">
 <complexType> 
 <sequence> 
 <element ref="colour_rule_type"/> 
 </sequence> 
 <attribute name="point" type="string" use="required"> </attribute> 
 <attribute name="id"type="string"> </attribute> 
 <attribute name="name" type="string"> </attribute> 
 </complexType>
</element> 
<element name="colour_rule_type">
 <complexType> 
 <attribute name="class" type="string" use="required"> 
 <annotation> 
 <appInfo>
 <meta.attribute kind="java"
 basedOn="com.ibm.uk.scripts.elementcolourer.model.IColourRuleType"/>
 </appInfo> 
 </annotation> 
 </attribute>
 </complexType> 
</element> 

代码行 2 是一个扩展点定义的范例。

代码行 2. 扩展点范例

<extension
 id="com.ibm.uk.scripts.element_colourer.StereotypeRule"
 name="com.ibm.uk.scripts.element_colourer.StereotypeRule"
 point="com.ibm.uk.scripts.element_colourer.colourruletype"> 
 <colour_rule_type
 class="com.ibm.uk.scripts.elementcolourer.rules.stereotyperule.StereotypeRuleKind">
 </colour_rule_type> 
</extension> 

在您完成定义扩展之后,您就需要执行这三个类了:

  1. IColourRuleType,执行这个界面以为这种类型的着色规则定义元数据
  2. IColourRule,执行这个界面以定义着色规则的实例
  3. RuleDialog,RuleDialog 的子类提供了创建和编辑规则的对话框

代码行 3 和代码行 4 显示了必须执行的界面,而 RuleDialog 的一个范例可以通过下载下面所示的代码来看到。

代码行 3. IColourRuleType
public interface IColourRuleType 
{ 
 public IColourRule createRule() ; 
 public void editRule(IColourRule rule); 
 public String getName(); 
 public boolean understandsRuleString(String ruleString); 
 public IColourRule loadFromString(String ruleString); 
} 

代码行 4. IColourRule

public interface IColourRule 
{ 
 public boolean matchesElement(ElementtheElement); 
 public void setViewColour(View view); 
 public String createPreferenceString();
 public String getName(); 
 public String getType(); 
 public RGB getRGBColor(); 
 public void setName(String name); 
 public void setRGBColour(RGB colour); 
} 

 




如何向妻子解释OOD
OOAD与UML笔记
UML类图与类的关系详解
UML统一建模语言初学
总结一下领域模型的验证
基于 UML 的业务建模


面向对象的分析设计
基于UML的面向对象分析设计
UML + 嵌入式系统分析设计
关系数据库面向OOAD设计
业务建模与业务架构
使用用例进行需求管理


某航空IT部门 业务分析与业务建模
联想 业务需求分析与建模
北京航管科技 EA工具与架构设计
使用EA和UML进行嵌入式系统分析
全球最大的茶业集团 UML系统分析
华为 基于EA的嵌入式系统建模
水资源服务商 基于EA进行UML建模
更多...   
 
 
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号