Harvest 特性提供了一个从可视化 C++ 元素创建 UML 元素的方法。从图中收获的 C++ 元素可以作为新的 UML 元件粘贴到一个 UML 模型中。收获的时候这些 UML 元素是 C++ 元素的副本,当源代码更改时它们不会更改。例如,收获 Book和 ElectronicMedia元素并将它们添加到 UML LibraryModel 模型:
- 选择图中您想要收获的元素,右键点击,并从弹出式菜单(图 40)中选择 Harvest。
- 一个对话框方框将会确认这个收获操作,创建的这个 UML 元素将会放置在剪贴板上。
- 右键点击 UML 叫做 LibraryModel的模型,然后选择 Pas 图Figure 41)。
- 这样将会显示 Paste Objects 对话框。选择 Automatic Paste或者,如果您想要看到您正在粘贴的内容,相反就应该选择 Visual Paste。
- 这个元素将会粘贴到这个模型,如图 42所示。

图 40. Harvest 菜单

图 41. Harvest Paste 菜单

图 42. 从 C++ 元素收获的 UML 元素
注意这个元素的所有域和程序都已经拷贝到新的 UML 元素中。参考那些没有被收获的其它元素仍然涉及到实际的 C++ 元素。例如, 如果您在图上将 Author 域拖出收获元素 之外,它将在源代码中显示与 C++ 元素的关联, 如图 43所示。

Rational Systems Developer 让您通过使用 C/C++ Development Toolkit (CDT) 获得了 C++ 项目的 UML 建模经验。它让您能够在 UML 图中使用 C++ 元素,比如 Class、Topic,以及 Browse 图,因此提供了一个非常有用的特性能够可视化地发现和研究这个项目中 C++ 元素之间地关系,与此同时,反映了此过程中任何源代码地变更。