IBM ®Rational®Systems Developer 的 C++ 可视化(C++ Visualization)特性能够让您使用 C++ 代码,利用一个类似 UML 的符号提供与 UML 建模相似的技巧。这篇文章展示了如何图形化地表示(显示) C++ 原理,发现并显示它们在 UML 图中的关系,创建新的 C++ 组件,直接从图中编辑源代码,创建关联和导航特性。
C++ 可视化特性的介绍
IBM®Rational®Systems Developer C++ 可视化特性将建模技巧带到使用 Eclipse C/C++ Development Toolkit (CDT),一个开放开发环境的 C++ 项目中来。通过为 C++ 源代码创建 Unified Modeling Language 2.0 (UML 2) 代理组件使灵活建模在实况 C++ 项目上变为可能,这样允许您把它们当作 UML 组件来使用。这些代理组件仅仅存在于这个图中,它们在这里被创建,而且不需要优先的,实体 UML 模型组件。
当您创建这样一个组件时,可视化引擎只会查找那些已经被选中的代码组件和与它有直接关系的组件。因此,它不会反对完成源代码,除非您明确规定这个行为。这就是与逆向工程工具的不同之处。 图形表示(显示)的另一好处是它们总是与源代码同步,这意味着 UML 图,像 Class 或者 Topic 图一样,在变化发生时总能在代码中反映这些变化。
这篇文章描述了 C++ 可视化特性在编程和编制代码的日常活动中是怎样起到帮助的作用的。
开始阶段
关于 CDT 项目索引器
Rational Systems Developer C++ 可视化特性依靠 Eclipse CDT 索引器来获取关于源组件的信息。因此,这篇文章推荐您激活项目的Full Indexing。您要么在创建这个项目的时候来设置这个选项,要么从这个项目的Properties页面来设置。您还可以从 Preferences页面为所有的 C++ 项目将完整索引器设置为默认的索引器(Main menu > Windows > Preferences > C/C++ > Indexer)。
- 在您的系统上安装 Rational Systems Developer。
- 在这篇文章中导入 Eclipse CDT 程序库项目下载的样例,导入到您的 Rational Systems Developer 工作区。
在类图上可视化 C++ 元素
Rational Systems Developer 支持这些元素:
- C++ 类的可视化(图形化表示),数据类型结构,枚举以及 UML 分类符的类型定义。
- Namespace 相当于一个 UML 包
- 文件和文件夹相当于 UML 工件
您可以在一个 UML 图上可视化地表示这些元素,要么通过弹出式菜单,要么通过拖放地方式。
使用 C++ 元素弹出式菜单
C++ 可视化特性为 C++ 元素(参见图1)提供了一个显示上下文菜单选项,它可以让您通过以下几个步骤将C++ 元素显示在新的或者现有的类图上:
- 激活这个弹出式菜单。
- 选择 Visualize > Add to New Diagram File > Class Diagram。
图 1. 显示弹出式菜单

图 2 显示了来源于显象在一个图中的样本项目的分类 Book。图标中可视化 C++ 元素与 UML 类在使用 C++ 特殊标符和结构上有所区分,它们显示在表格 1中。
图2. 一个 C++ 类显示在 Class 图标中

表格 1. C++ 元素的图标和构造型
| C/C++ 元素 |
图标 |
构造型 |
| 类 |
|
<<class>> |
| 结构 |
|
<<Struct >> |
| 联合体 |
|
<<Union >> |
| 类型定义 |
|
<<typedef>> |
| 枚举 |
|
<<enum>> |
| 命名空间 |
|
<<namespace>> |
| 源文件 |
|
<<file>> |
| 头文件 |
|
<<header file>> |
使用 UML 图弹出式菜单
另一种显示现存的 C++ 元素的方法是,使用一个 UML 图的弹出式菜单。(请看 图 3)
图 3. 显示现存的弹出式菜单

例如,通过使用这个选项,可以显示来源于样本项目的分类 LibraryEntry,按照下面几个步骤:
从 UML 图的弹出式菜单选择Visualize Existing > C/C++ Type。
一个输入选项对话框就会弹出 (图 4),在这里您可以键入这个类最初的几个字符来使它显示。对于这个例子,可以在选择一个类型域中输入 Li。
对话框将列出相匹配的条目。从这个匹配单中选择LibraryEntry,然后点击 OK。
图 4. 输入选择对话框

图 5展现了添加到这个图中的最新可视化类。注意 Book和 LibraryEntry之间的继承性关系将会自动显象出来。
图 5. 最新的类图

拖放功能指令
Rational Systems Developer 通过将它们从 C/C++ 项目浏览器或者 Project Explorer 拖放到这个图的方式支持带有现有图的 C++ 元素。当显示一个文件时,默认的选项是显示这个文件中所有的元素。您可以通过以下这些步骤来更改这个行为:
- 在 C++ 建模Preferences 页面更改设置,您可以从 Windows > Preferences对它进行访问。
- 然后从 Preferences树 (请看 图 6)中选择 Modeling > C++ Modeling。
图 6. 从一个 C/C++ 文件中抽取元素的参数设置

[1] [2] [3] [4] [5] [6] 下一页 |