内容


IBM Rational Software Architect 中的主题

使用主题来使图表更容易理解更美观

Comments

开始之前

知道您想要从本文中学到什么,以及怎样去获得这些知识。

关于本文

本文解释了主题与外观概念,它是在 IBM® Rational® Software Architect V8 版本中引入的。

目标

本文包含了以下的话题:

  1. 什么是一个主题?
  2. 应用一个主题
  3. 创建并编辑您自己的主题
    1. 更改与元素类型相关的外观
    2. 对主题定义添加元素类型
    3. 从主题定义中删除元素类型
    4. 保存主题
  4. 设置默认的主题
  5. 使用主题之外的外观
    1. 应用一个外观
    2. 使用“Add to Appearance List”选项
  6. 与其他人共享主题(导出)
  7. 使用其他人创建的主题(导入)

前提条件

本文中的所有范例基于一个统一建模语言(Unified Modeling Language™,UML)模型,但是您可以对开发和业务进程建模注释(BPMN)模型使用相同的技术。另外,本文中所描述的范例,是使用 Rational Software Architect 环境显示的。

下载 Rational® Software Architect 试用版  |   在线试用 Rational® System Architect
获取免费的 Rational 软件工具包系列,下载更多的 Rational 软件试用版

什么是一个主题?

为了解释什么是主题,让我们应用一个可以使用,产品中所包含的预定义主题。我们会从一个拥有默认外观的范例 State Machine Diagram 开始,如下面的图所示。

图 1. 带有默认外观的范例 State Machine 图
绿-白-灰颜色显示的图
绿-白-灰颜色显示的图

您有很多方法去应用一个主题,下部分将会讨论这个问题。对于现在,我们将会使用 Themes 工具栏下拉菜单图标,来应用一个预定义的主题。

图 2. Themes 工具栏菜单
Themes 工具栏按钮的菜单
Themes 工具栏按钮的菜单

选择 Brown 主题。下面的图显示了图表的外观是如何发生改变的。

图 3. 应用 Brown 主题的范例图
应用 Brown 主题的范例图
应用 Brown 主题的范例图

让我们看一下 Brown 主题是如何定义的。再次点击 Themes 工具栏下列图标,并拖至底部。选择“Theme Details…”选项。Theme Details 对话框打开时是使用 Brown 主题初始化的,因为这是应用至该图表的最后一个主题。查看下面的图 4。

图 4. Themes Details 对话框显示了 Brown 主题
Brown 主题信息图
Brown 主题信息图

在上面的对话框之中,Orthogonal State、Composite State 与 Submachine State 拥有分配的 Brown 5 外观。这就是为什么图 3 中图表的三种类型的状态匹配 Brown 5 范例的原因,正如外观名旁边所显示的那样。图表上的其他元素(States,Join 等等)没有列在主题定义表中。这意味着它们拥有表格顶部 Shape 元素类型旁边所指定的外观,在现在的情况下就是 Brown 1。

正如您可以看到的那样,主题是通过将不同的外观分配给拥有视觉效果的元素类型来进行定义的。分配给 Shape 元素类型的外观适用于所有的外观,除非定制已经完成,例如 Orthogonal、Composite 与 Submachine 状态。相同的规则也适用于连接器 Edge 元素类型的外观将会适用于一个连接器,除非该连接器的定制已经完成。

在相同图表的范例下面,有一些预定义的主题适用于它:Gold、Green、Khaki 与 Purple。

图 5. 应用 Gold、Green、Khaki 与 Purple 主题的范例图表
显示四个图表范例的屏幕截图
显示四个图表范例的屏幕截图

注意:您可能会注意到在上面的范例中,图表上的每一个 State 图(例如,State1,State2 等等)拥有一个暗色的标头,填充成渐变色。当渐变色随着填充颜色变化而发生变化时(渐变色变得更深),渐变色本身就是设计的一部分,并且不是分配给 State 的外观定义。如果您不喜欢这种暗色的渐变色填充方式,那么您可以切换至外观偏好页面并选择“Gradient in text compartment”旁边的“No gradient”。不同的选项如下面所示。

图 6. 带有各种渐变色偏好设置的 State 形状
显示外观偏好设置的图
显示外观偏好设置的图

应用一个主题

您有几种方法可以应用一个主题:

  • 使用 Themes 工作量图标,如 图 2 所示。您可以选择下拉列表中提供的一个主题,或者选择“Theme Details…”选项,这将会打开 Theme Details 对话框。从该对话框之中您可以选择,或者创建或者编辑一个主题,然后应用它。
  • 使用其中的一个主题图内容菜单选项。它们分别是:
    • “Themes…”:该选项会打开 Theme Details 对话框。
    • “Apply Default Theme”:该选项将会应用外观偏好中所设置的主题(对于默认的主题,您可以查看“设置默认主题”部分)。
  • 使用 Diagram 菜单选项上的一个主题。这里的主题选项与图表内容菜单之中的选项相同。
  • 使用图表外观属性项。该表格顶部的“Applied theme:”下拉框使您可以选择一个主题以进行应用,或者使用打开 Theme Details 对话框的“Theme Details…”选项。如果对图表应用了一个主题,那么它的名字就是在这里选择的。您可以在 图 18 中看到它。
  • 使用图表上的一个主题内容菜单,或者 Project Explorer 中所选择的模型元素。使用这种方法,选择的图表就不再需要打开了,您可以一次性对一些图表应用主题。另一方面,您可以在 Project Explorer 中选择一个或者多个模型,并使用内容菜单选项来应用主题。在这种情况下,在主题之前需要打开的一个模型或者多个模型可以得到应用。对该模型应用主题将会导致对该模型中的所有图表应用主题。

创建并编辑您的主题

上个部分演示了一些预定义的主题是如何包含在产品之中的。您需要创建能够适应自己状态的主题,或者使得图表变得更加清晰的主题。

您可以创建一个主题,或者从 Theme Details 对话框编辑一个已存在的用户自定义主题。对于打开 Theme Details 对话框的不同方法,您可以查看 Applying a theme 部分。对于该对话框的一个范例图片,您可以查看 图 4。在开始之前,让我们更多地了解一下 Theme Details 对话框。

对话框顶部下拉列表中所选择的名字,显示了主题的名字,该主题的定义位于它下面的表格中。您可以从下拉列表中选择一个主题以进行处理。

主题名下拉框旁边的选项使得您能够将列表的元素,限制为那些只与图表类型有关的元素,这些图表类型在您打开对话框时将会使用的到。注意,如果您从 Project Explorer 中打开了对话框,那么该选项就不会出现。如果您想要处理所有的元素,例如当您在定义服务所有图表类型的主题时,您需要勾消掉该选项的选择。

图 7. Theme Details 对话框上的名字下拉框和复选框
表格上的箭头
表格上的箭头

主题定义表拥有三列:一个是分配给指定元素类型的外观,一个是元素类型,第三列是配置板折叠项。最后一个列显示了想要在图表上创建元素时可以找到的给定元素。主题定义表中三个列中的每一个都可以通过点击列表头来进行分类。

图 8. 主题定义表的列
指向列表头的三角形
指向列表头的三角形

更改与元素类型相关的外观

让我们说您想要一个与 Brown 主题类似的主题,但您想要 Orthogonal State 使用粗体字以及不同的填充颜色。让我们从选择名字下拉框中的 Brown 主题开始。然后点击 Orthogonal State 旁边的 Brown 5 外观,接着点击出现的“…”按钮。已存在外观的列表也会打开,您可以在下面的图中看到它。

图 9. 更改主题定义表中的外观
显示外观菜单的屏幕截图
显示外观菜单的屏幕截图

就像有一系列预定义的主题一样,在产品中还包含有一系列预定义的外观。在这里,您可以从中选择一个,或者创建一个新的外观。如果您想要创建一个新的外观,那么您可以切换至列表的底部,并选择“Appearance Details…”选项。接着就会出现 Appearance Details 对话框,开始时设置的是 Brown 5 外观。

图 10. Appearance Details 对话框
初始化时是 Brown 5 外观的对话框
初始化时是 Brown 5 外观的对话框

因为 Brown 5 是一个预定义的外观,所以您不能直接编辑它,但是您可以在它的基础之上创建一个新的外观。例如,您可以将字体设置为粗体,并将填充颜色设置为橙色。然后点击“Save As…”。在弹出的对话框中,输入一个独一无二的外观名,例如“橙色粗体”。点击 OK,然后通用外观就会得到保存。如果您检查了 Name 下拉列表,那么您就可以看到新创建的外观会被列出来。用户定义的外观会列在顶部,并且没有预定义外观那样的粗体。它显示在下面的图 11 之中。

图 11. 创建一个新外观的外观列表
指向橙色粗体外观的箭头
指向橙色粗体外观的箭头

现在您只需点击对话框底部的 Apply 按钮,然后新外观将会为 Brown 主题中的 Orthogonal State 设置。提示:您可以一次性为一些元素类型更改外观选项。例如,为了更改 Orthogonal State 与 Composite State 的外观,您可以选择这些行,然后按照前面描述的那样进行操作。

您可以点击 Theme Details 对话框底部的 Apply 按钮来测试您所做的变更,并检查图表。在这里,您可以点击对话框底部的 Revert 按钮,在最后一次更改之后这将会删除掉所有的更改了。

向主题定义添加元素类型

您可以轻松向主题定义添加新的元素。例如,如果您想要为 Join State 与 Final State 定义一个特定的外观,您需要点击主题定义表右边的 Add 按钮。

图 12. Theme Details 对话框上的 Add 按钮
指向 Add… 按钮的箭头
指向 Add… 按钮的箭头

您将会看到一个对话框,该对话框拥有所有元素类型的列表,这些元素类型尚未添加至主题的定义。记住,如果 Theme Details 对话框上“Show only elements relevant to Statechart”选项被选中了,那么您就只会看到与 Statechart 图相关的元素类型了,如下图所示。

图 13. 选中元素类型以添加至主题定义
带有形状/连接器指示符的元素
带有形状/连接器指示符的元素

您可以点击三列上的列标头来分类列表。根据 Element type 来分类,并选择 Final State 与 Initial State。Next 按钮将会被激活。点击它以前进到下一页,可以使您为选择的元素选择外观。

图 14. 为选择的元素类型选择一个外观
显示外观选择下列菜单
显示外观选择下列菜单

在这里,您可以从已存在的外观中进行选择,或者选择“Appearance Details…”选项来创建一个新的外观。创建一个新的外观,在前面已经讨论过了,所以现在只选择一个已存在的外观,例如“Red with red border”,并点击 Finish。主题定义表中的两个新行:一个是 Initial State,而另一个是 Final state。注意:您还可以点击 Finish,而不用选择一个外观。在这种情况下,您可以向定义表添加两个新行,它们的外观可以稍后选择。

从主题定义表中删除元素类型

让我们假设您想要 Composite State 拥有 Brown 1 外观,它被分配给了 Shape 元素类型。这意味着您不再需要定制行,您可以选择它并点击 Delete 按钮来删除该行。您还可以选择一些行(在选择时一直按住 Control 键),然后一次性将它们全部删除掉。

如果,当您创建一个新主题时,您想要创建一个空白的主题定义,那么您可以勾消掉对话框顶部复选框的选择(这样主题的完整定义会得到考虑),并点击 Delete All 按钮。所有的行会删除掉,除了 Shape 与 Edge 元素类型的行之外。

图 15. 从主题定义中删除外观-元素类型
指向 Delete 与 Delete All 按钮的箭头
指向 Delete 与 Delete All 按钮的箭头

保存主题

在前面的部分中,我们会从 Brown 预定义主题开始并作出以下的更改:

  1. 创建新的外观橙色粗体并将其分配给 Orthogonal State,而不是 Brown 5 外观
  2. 向主题定义添加 Initial State 以及 Final State 元素类型,并对它们应用红色和红色边缘外观。
  3. 从表格中删除 Composite State 行。

在应用所有这些编辑之后,下面就是范例图表的样子。

图 16. 应用编辑 Brown 主题的范例图
显示更改的范例图
显示更改的范例图

现在您已经为保存主题做好了准备。从一个预定义主题开始,您不能更改它(例如,您不能使用 Save 按钮)。但是您可以创建一个新的主题,它包含了所有的编辑。点击 Save As… 按钮并在出现的对话框之中,输入一个独一无二的名字,例如 My Theme,然后点击 OK。您的主题会得到保存并为使用做好准备。如果您查看了 Name 下拉菜单,在顶部您将会使用 My Theme。用户自定义的主题会列在顶部,它不像预定义的主题,它没有使用粗体。稍后,您就可以编辑该主题,并使用 Save 按钮以保存更改。如果您不再需要它时,您就可以点击 Theme Details 对话框底部的 Delete 按钮来将其删除。注意您不能删除预定义的主题。

设置默认的主题

当您对一个图表应用一个主题时,在该点创建的所有图表元素都会拥有该主题所定义的外观。如果您没有对图表应用主题时,就会使用默认的主题,默认主题是在偏好中进行设置的。您可以切换至 Window -> Preferences -> Modeling(或者 BPMN Modeling for BPMN models,或者 Topology Editor for Deployment)-> Appearance 偏好页面。叫做 Default 的主题会设置为默认的主题,但是您可以将其更改为适应需要的任意主题。下面的图显示了 Appearance 偏好页面的相关部分。

图 17. Appearance 偏好页面上的默认主题
显示主题外观页面的屏幕截图
显示主题外观页面的屏幕截图

您可以切换至属性视图上的图表外观项,来检查是否有主题应用到图表上,如下所示。当您在创建新的图表元素时,将会使用到这些主题。您可以删除掉该主题程序,该程序会使用主题。

图 18. 检查最后应用的主题是什么
怎样删除一个应用的主题
怎样删除一个应用的主题

注意更改默认主题只会影响到作出更改之后而创建的图表元素。但是,您有一种快速的方法去指明所有的旧图表,或者只是一部分旧图表拥有新的默认主题。在 Project Explorer 中,您可以选择一个或者多个模型,或者选择一个图表,去使用新的默认主题。然后,从内容菜单中,选择“Apply Default Theme”选项。所有选择的图表,或者选择模型中所有的图表,会应用默认的主题。

使用主题之外的外观

在以前,当您在解释主题的概念时会引入外观。主题由外观-元素类型对组成。除了成为主题的一部分,外观还可以当做独立的主题使用。

应用一个外观

在图 16 中的范例图中,我们可能想要 State 1 与 State 2 和其他的 State 有较大的差异。我们可以通过直接对它们应用不同的外观来达到这个目的。选择 State 1 与 State 2,然后选择 Appearances 工具栏下拉图标。

图 19. 外观工具栏菜单
Appearances 的展开工具栏

您可以从已存在的用户自定义或者预定义外观中的列表中进行选择,或者切换至列表的底部并选择“Appearance Details…”选项以创建一个新的外观(或者编辑一个已存在用户自定义的外观)。新外观的创建与“更改与元素类型相关的外观”部分描述的一样。例如,您可以选择 Khaki 3,并留意 State 1 与 State 2 的外观是如何变化的。

您可以从元素的内容菜单选项“Appearances…”或者 Appearance 属性项中应用一个外观,如下所示。

图 20. 从 Appearance 属性项中应用一个外观
选择一个已存在外观菜单的图
选择一个已存在外观菜单的图

在这里需要提到的一点是,Appearance Details 对话框中拥有更多的一个功能。例如,您可以从图表元素的内容中打开 Appearance Details 对话框。注意对话框在底部拥有一个选项,可以对所有拥有与 State1 相同外观的外形应用外观。选中该选项。您可以从 Name 下拉框中选择一个外观,例如,“Light blue with blue border”,并点击 Apply 按钮。注意 State 2 是如何更改了,因为它拥有与 State 1 相同的外观。它显示在下面的图中。

图 21. 更改与选择元素拥有相同外观的所有元素的外观
State 2 是如何更改外观的
State 2 是如何更改外观的

使用“Add to Appearance List”选项

如果在使用 Formatting 菜单项之前,您已经格式化了一些图表元素,或者更改了 Appearance 属性项上的一些属性,那么现在您可能想要获取这些格式到外观与主题中。您可以通过选择图表元素,或者选择“Add to Appearance List”菜单项,或者点击 Appearance 属性项上的“Apply…”按钮(您可以在 图 20 中看到该按钮)来实现这一点。对话框会出现,您可以在下面的图中看到它。

图 22. 对话框可以让您将选择的格式保存到外观或者主题中
显示 Apply to all shapes of type State 的图
显示 Apply to all shapes of type State 的图

为新外观输入一个独一的名字,例如,My Gradient。注意在您输入外观名之后,Theme 下拉框会得到激活。您可以保持该下拉框为空白状态。但是,如果您想要让新外观 My Gradient 分配到用户自定义主题的 State 元素上,那么您可以从列表中选择该主题。或者您可以选择创建一个新的主题,该主题包含了一个 My Gradient – State 对。

图 23. 为选择的元素类型- 新外观对选择一个主题
显示带有 New option 下拉框的屏幕截图
显示带有 New option 下拉框的屏幕截图

如果您想要创建一个新的主题,那么您可以选择“New…”选项。接着就会出现 Theme Details 对话框,然后您可以看到新主题是如何定义的。

图 24. 在添加选择的元素类型 - 新外观对的过程中输入新主题的名字
带有空白 Name 文本的对话框
带有空白 Name 文本的对话框

注意 Shape 与 Edge 元素类型的外观来自于最后应用于图表的主题(如果图表没有应用任何主题,那么默认的主题会得到咨询)。此时,您只需要为新主题输入一个独一的名字,例如,My Gradient Theme 并点击 Apply。

最后,注意 图 22 中对话框顶部的复选框。如果您将其保持为选中状态,那么所有的状态在点击 OK 之后将会格式化。

点击 OK。现在检查外观列表以及主题列表。注意 My Gradient 是如何列作其他用户自定义外观的,以及 My Gradient Theme 是如何列作其他用户自定义主题的。它显示在下面的图中。

图 25. 外观列表与主题列表
My Gradient 与主题列表
My Gradient 与主题列表

与其他人共享主题(导出)

当您对图表应用一个主题时,您可以与其他人共享包含该图表的模型,他们能像您一样清晰地查看相同形式的图表。但是,如果您应用了您所创建的主题,那么他们就不能使用主题本身了。您需要将主题导出,以与其他人共享它。

为了导出主题,您可以切换至 File > Export。在 Export 对话框之中,您可以选择 Themes 节点,如下所示,并点击 Next。

图 26. 导出对话框:选择主题模式
Themes - UML 节点与 Next 按钮的屏幕截图
Themes - UML 节点与 Next 按钮的屏幕截图

在 Export 页面上,选择一个或者多个主题以进行导出,并/或者选择一个或者多个外观以进行导出(查看下面的图)。您还需要向目的文件输入整个路径。导出文件必须拥有 epf 的扩展名。

图 27. 导出对话框:选择主题和外观以进行导出
指向 Themes,Destination 与 Finish 的图
指向 Themes,Destination 与 Finish 的图

注意为导出选择的部分主题的用户自定义外观将会自动加入到导出之中。在我们的范例中,My Gradient 与 Orange bold 外观将会导出,因为选择的主题会引用它们。

在您点击 Finish 按钮之后,您的主题已经为其他人的导入与导出操作做好了准备。

使用其他人所创建的主题(导入)

如果您想要使用其他人创建的主题,或者在其他的工作区内由您自己创建的主题,那么您需要将其导入到当前的工作区中。首先,您需要获得包含导出主题的文件(查看前面的“与其他人共享主题(导出)”部分)。然后,切换至 File > Import。在 Import 对话框之中,您可以选择导出的文件。选择导入的主题与外观。下面的图演示了这一点。

图 28. 导入对话框:选择要导入的主题与外观
Source 文本,主题,Finish 按钮
Source 文本,主题,Finish 按钮

点击 Finish 按钮。所有选择的主题与外观会得到导入。选择主题引用的用户定义外观会得到自动导入,不管他们所作的选择是什么。注意,如果您已经拥有了一个名字与导入主题名字相同的主题,那么该主题将会被导入的主题所覆盖。至于外观也存在这种情况。

总结

本文向您介绍了主题以及外观概念,它们是在 IBM® Rational® Software Architect 的版本 8 中引入的。它包含了不同的功能,您可以使用这些功能来使得图表变得更加美观,或者使它们变得更加容易阅读。您可以看到怎样使用产品中所包含的预定义主题,怎样创建自己的主题,怎样使用主题外的外观,以及怎样共享用户定义的主题。您还可以学到在将可再用外观和主题引入到最新的 Rational Software Architect 8.0 版本之前,怎样去转变可视化的形式转变。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=626912
ArticleTitle=IBM Rational Software Architect 中的主题
publish-date=02142011