为组件定义的作用域确定代码生成作用域和双向传递作用域。只有在包含元素的文件包含在组件的作用域中时,才为已修改元素生成代码,只有在已修改的文件包含在组件的作用域中时,对文件的修改才会双向传递回模型。
关于此任务
要修改以代码为中心项目的作用域:
- 对文件进行反向工程,所有这些文件将自动加入作用域。
- 如果在“反向工程”出口中指定文件夹,那么在该文件夹中创建的所有文件将自动添加到作用域。
同样,如果从文件夹中删除所有文件,对应的元素也将在运行双向传递时从模型中删除。
- 如果在项目中添加 C 文件/C++ 类然后更新代码,生成的文件将添加到作用域。
即使在生成的文件所在的文件夹未定义为作用域的一部分,此结构同样会出现。
- 要手动修改作用域,可使用/在“双向传递”窗口中添加文件/文件夹。
在修改作用域时,需要注意,在以代码为中心的方式下,IBM® Rational® Rhapsody® 中遵循双向传递的包结构始终与源代码的目录结构相同,这一点很重要。此规则有以下几种含义:
- 如果要以递增方式对文件进行反向工程,确保包含代码的所有目录位于单个目录下,且此目录需要可以在“反向工程高级选项”窗口的“映射”选项卡上指定为根目录。
然后您可以导入此根目录下的任意目录,Rational Rhapsody 会创建与目录结构匹配的包结构。如果您使用的是此类型的递增方法,在执行反向工程前,需将 UseCalculatedRootDirectoryRational Rhapsody 设置为 Never。
- 如果更改根目录,模型中的包结构在双向传递后将变得不同。有一些包可能会被从模型中除去然后又重新创建。
如果这些包中包含未能在您的代码中反映出来的元素,例如需求,那么这些元素在双向传递后将不复存在,因为它们在双向传递后的代码中没有任何表示。
注: 更改产品中包结构的这些后果,在手动更改包含源代码的文件夹的层次结构时同样适用。
在文件夹调整后和双向传递代码更改之前,对模型中的包结构作相似的更改可以确保缺失代码的元素不会消失。
如果重命名了代码中的个别元素,比如类,同样会使用此种“除去然后重新创建”的方法。
由于模型中的类可能包含代码中没有表示出的重要信息,请确保此类重命名操作不会导致模型中丢失信息。
- 如果要从没有直接公共祖代目录的不同目录中导入代码,需将其直接导入不同产品组件。