UML 是一个通用的语言。使用 IBM? Rational Software Architect 和 IBM Rational Systems Developer,您可以实现由 UML 模型向 C++ 的转换。这篇文章讨论了如何更好地控制由 UML 向 C++ 转换而生成的 C++ 代码。文章分成几个章节,各部分相对独立,分别介绍了一种技巧。您可以根据需要选读,而不必遵循特定的次序。
应用 C++ Transformation 概要文件以实现 C++ 结构的建模
在统一建模语言 UML 和某特定领域之间建立联系的标准方法是使用 UML Profile(UML 概要文件)。UML 概要文件可以为已有 UML 元素定义附加语义和特性,例如类、操作等。建模 C++ 特定元素的时候,如 结构体、联合体、名字空间 等,需要用到 UML 概要文件。在 Rational Software Architect 和 Rational Systems Developer 使用 C++ Transformation profile 实现 UML 向 C++ 的转换,这个概要文件在 UML 模型中的应用如下所示。
在 Project Explorer 中选择概要文件将要应用的 UML 模型。
在 Project Explorer 保持模型是选中状态,转换到 Properties View,单击 Profiles 选项卡。
如图1所示,单击 Add Profile 按钮。
图1. 将 UML 运用到 C++ Transformation 概要文件
如图2所示,从 Deployed Profile 下拉列表框中选择 C++ Transformation。
图2. 选择 C++ Transformation
导入 C++ 类型库
UML 提供了一组已定义好的类型,有 Boolean, Integer, String 和 UnlimitedNatural。而大多数的编程语言,包括C++,提供了更为丰富的基本类型。在 C++ 中建模的时候,您可能经常需要使用 C++ 预定义的原始类型(比如,将一个类型赋给某个属性、参数、操作返回类型,等)。To import the C++ model library that is shipped with the C++ Transform,在 Project Explorer 中右键单击UML模型,然后选择 Import Model Library,如下图3所示。
图3. 导入 C++ 类型库
如图4所示,从 Deployed Library 列表中选择 C++ Types。
图4. 导入 C++ Type Library