资料标识:G151-0665-00
© Copyright International Business Machines Corporation 2007. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
可以从以下网址获得本文档的最新版本:
http://download.boulder.ibm.com/ibmdl/pub/software/rationalsdp/v7/rme/70/docs/readme/readme.html。IBM® Rational® Modeling Extension for Microsoft® .NET 是 Rational UML 建模产品的 C# 和 CTS 建模扩展。这个设计和开发工具系列基于开放式源代码 Eclipse 框架构建。Modeling Extenstion for Microsoft .NET 软件包括一些插件,这些插件使软件架构设计师和模型驱动的开发者能够使用统一建模语言(UML 2),以将 C# 应用程序和 CTS 类型可视化以及创建架构良好的 C# 代码。
使用 Rational Modeling Extension for Microsoft .NET,您可以:
- 从 Microsoft Visual Studio 2005 中导入 .NET 解决方案,以便在 Eclipse 项目中创建该解决方案的镜像。
- 将 C# 应用程序可视化。
- 使用“浏览图”进行体系结构发现和依赖性分析。
- 使用“类图”对应用程序结构进行归档。
- 使用“时序图”对实现的以及假设的类交互进行归档。
- 作为“混合建模”操作理论的一部分,对 UML 模型中图中的 .NET 类型进行描述。
- 将 UML 模型变换为 C# 代码。
- 将 C# 代码更改变换为 UML 模型。
有关安装要求的最新详细信息,请参阅以下网址提供的本自述文件的更新版本:http://download.boulder.ibm.com/ibmdl/pub/software/rationalsdp/v7/rme/70/docs/readme/readme.html。
也可以从安装启动板以及产品 CD 的 documents 目录中查看产品安装指南。
Rational Modeling Extension for Microsoft .NET 需要 IBM Installation Manager V1.0.0.2 或更新版本以及 IBM Rational Software Architect、IBM Rational Software Modeler 或 IBM Rational Systems Developer V7.0.0.1。如果未安装必需的版本,则软件安装过程将中止。
有关安装 IBM Rational Modeling Extension for Microsoft .NET V7.0 的信息,请参阅以下网址提供的安装指示信息:http://download.boulder.ibm.com/ibmdl/pub/software/rationalsdp/v7/rme/70/docs/install_instruction/install.html。
也可以从安装启动板以及第一张产品 CD 的 documents 目录中查看产品安装指南。
可以将建模扩展软件安装到 IBM Rational Software Architect V7.0.0.1、IBM Rational Software Modeler V7.0.0.1 或 IBM Rational Systems Developer V7.0.0.1 的 GA 构建版本中。以下过程提供了安装过程概述。有关更详细的指示信息,请参阅 IBM Rational Modeling Extension for Microsoft .NET 安装指南。
要进行安装:
- 确保安装了上述 Rational UML 建模产品。
- 在 IBM Installation Manager 中,选择要随建模扩展一起安装的主机产品。
建模扩展与主机产品共享 shell 并使用同一个 Eclipse 实例。- 请按照 Installation Manager 向导中的指示信息执行操作,以完成建模扩展的安装。
这些发行说明包含产品文档最终定稿后才提供的信息。在使用 C# 概要文件进行 .NET 应用程序建模时,请使用下列最佳实践与准则。
1. 在打开带有扩展的 Rational UML 建模产品之前,必须打开 Visual Studio 2005 Standard Edition 或 Professional Edition。
注意:安装指南将“Visual Studio 2005”列示为软件要求。此项是对“Visual Studio 2005、Standard Edition 或 Professional Edition”的修正。不支持易捷版。
2. 使用先前从 Rational XDE 导入到 Rational Software Architect V6.x 中的模型
如果有先前从 Rational XDE 导入到 Rational Software Architect V6.x 中的模型,并且已将那些模型进一步迁移(或者计划迁移)到 Rational Software Architect V7.0.0.1 并继续使用该扩展,则还必须安装 Rational Software Architect 的“Rational XDE 模型导入”功能部件。
3. 对模型中的包进行命名时,请不要在包名中使用“.”。例如,如果需要将“xtools”包嵌套在“com”的“ibm”中,请使用分层包结构并创建包“com”, 然后在其中依次嵌套“ibm”和“xtools”包,而不是将单个包命名为“com.ibm.xtools”。这种表示法始终具有唯一的表示,并且有助于减少将代码变换为模型时的假融合更改。
4. 仅当需要通过构造型属性设置某些特定于 C# 的值时,才应该应用 C# 构造型。否则,如果在未应用构造型的情况下将生成完全相同的代码,则 C# 到 UML 变换将假定先前 UML 到 C# 变换期间未使用任何构造型,并且将打开“协调”窗口。该窗口显示了一条改动建议,指出应该从 UML 模型中除去该构造型。
5. 目前,C# 概要文件未定义约束,因此无法检测已应用的构造型的无效组合。请避免对概要文件构造型进行无效使用。例如,同时应用 <<CSharpClass>> 和 <<CSharpInterface>> 是无效的,并且将导致不可预测的变换行为。
6. 在对不完整类型进行建模时,用户应该使用一个空类型作为不完整类型,每个部件都显示为此类型的从属部件。将已建模的空的不完整类型(源)和已定义的不完整类型(与源之间具有依赖关系)包括在模型中的单个包中。这样就在模型中的一个包中定义了不完整类型的所有部件。将使用源的名称作为类型名,而不会将另一个部件的名称用作类型名。通过使用映射模型,可以将每个不完整部件定向到另一个文件。在从代码变换到模型时,用户对每个部件使用的名称是未知的。因此,变换生成的名称将是 <typename>_<filename>,此名称将作为差别显示在融合对话框中。
7. 在 C# 中,仅当指定了类型参数值时,才能使用通用类型。即,应该通过绑定通用类型的类型参数为其构造新类型。因此,可以通过 List<String> 等方式使用带有参数 T 的 List 类。在 UML 中,构造的这种类型将表示为模板绑定。但在将代码变换为 UML 以生成临时模型时,不会对这些类型的名称表示为模板绑定。因此,构造的类型作为匿名类型名称出现。在融合对话框中,这些名称显示为差别,用户必须将它映射至目标模型中的实际模板绑定。
重载的运算符被建模为操作。例如,假定您想在 C1 类的上下文中重载以下两个运算符,并且您想使用 Modeling Extension for Microsoft .NET 来为此任务建模。
等于(==)
不等于(!=)下列步骤描述了可以如何使用此示例来重载运算符。
先决条件:
必须已经创建或打开了 UML 模型。要为已重载的运算符建模:
- 在名为 C1 的 UML 模型中创建新类。
- 将新操作添加至 C1 类,并将它命名为运算符 !=。此运算符将包含已重载的运算符 != 的实现。
- 按如下所示定义运算符。
a. 将新创建的操作的可视性设置为 Public。
b. 将新创建的操作的限定符设置为 Static。
c. 将新创建的操作的返回类型设置为 <Primitive Type>bool。
d. 将两个类型为 C1 的参数添加至新创建的操作,并将它们命名为 c1 和 c2。- 将另一项操作添加至 C1 类,并将它命名为运算符 ==。此运算符将包含已重载的运算符 == 的实现。
- 像步骤 3 中那样定义运算符。
完成了在 C1 类的上下文中为已重载的运算符 != 和 == 建模。
这些发行说明包含特定于发行版的信息(例如问题和局限性),在产品文档最终定稿之后才会提供这些信息。
即使无法正确地对所导入的代码进行编译,用户也不会从建模扩展软件接收到通知。即使导入的 C# 项目包含语法错误的代码,建模扩展软件中的项目资源管理器或可视化器图也不会显示指示错误的标志。
变通方法:在进行任何变换以及在将 C# 代码导入到 Modeling Extension for Microsoft .NET 中之前,确保在 Visual Studio .NET 中成功地对其进行编译。
在安装或运行 Modeling Extension for Microsoft .NET 之前,请验证 在系统上是否已安装了正确的操作系统、Service Pack 以及 Visual Studio 2005 Standard Edition 或 Professional Edition。- Modeling Extension for Microsoft .NET 只能识别打开的第一个 Visual Studio 2005 实例并与其进行通信。在使用 Modeling Extension for Microsoft .NET 的机器上,每次只应该运行一个 Visual Studio 实例。
- 在 Modeling Extension for Microsoft .NET 运行期间,请不要在 Visual Studio 中关闭或打开另一个解决方案,所导入的解决方案除外。
- 始终保持一个 Visual Studio 2005 实例处于打开状态。Modeling Extension for Microsoft .NET 只能识别第一个 Visual Studio 2005 实例并与其进行通信。
- 将解决方案导入到 Modeling Extension for Microsoft .NET 中时,将在 Eclipse 工作空间中为该解决方案中的每个相应 C# 项目创建 Eclipse 项目。在 Eclipse 中创建的项目将与 Visual Studio 2005 解决方案中的 C# 项目同名。关于这些项目,您需要注意下列重要事项:
- 在 Eclipse 中创建的项目将链接到 Visual Studio 2005 解决方案中相应 C# 项目所使用的 C# 文件和 .NET 组合件。Modeling Extension for Microsoft .NET 只能通过这些链接来检索、更新和显示有关 Eclipse 中的 Visual Studio 2005 项目及其内容的信息。实际上,它们是 Eclipse 中 C# 项目的视图。
- 除了使用 UML 到 C# 变换以外,应该避免使用 Eclipse 机制来修改所导入的项目。如果使用 Eclipse 机制将这些项目重命名或者修改它们的内容,则可能会导致不可预测的结果。尤其应该避免在项目中创建或添加 UML 模型(.emx)或图文件(.dnx)。而是,应该在 Eclipse 中为 UML 模型或图文件创建独立的项目,例如 UML 项目。还需要注意避免在导入的项目中创建图文件(.dnx),这是因为创建新图时,可视化框架会将它们的缺省位置设置为可视化元素的所在项目。
- 您可以安全地关闭并重新打开所导入的项目。也可以安全地将它们删除,但请不要“除去底层内容”。如果确实需要删除 Visual Studio 项目及其所有内容,请从 Visual Studio 中执行此操作。
- 在 Eclipse 中导入 Visual Studio 2005 解决方案后,请不要在 Visual Studio 2005 中将 C# 项目重命名。如果必须将项目重命名,请执行下列步骤:
- 删除所导入的相应 Eclipse 项目,但请不要“除去底层内容”。
- 在 Visual Studio 中将该项目重命名。
- 重新导入 Visual Studio 解决方案。Modeling Extension for Microsoft .NET 解决方案可以通过递增方式导入该解决方案,此功能也可用于导入 Visual Studio 2005 解决方案中新添加的 C# 项目。
- 在 Modeling Extension for Microsoft .NET 中执行操作之前,请确保 C# 项目未包含语法错误,并确保在 Visual Studio 2005 中能够成功地编译这些项目。Modeling Extension for Microsoft .NET 使用 Visual Studio 代码模型 API 来解析 C# 文件。如果 C# 文件包含错误,这些 API 将返回不正确的结果和 NULL 值。例如,如果在 Visual Studio 中更改了一个 C# 文件,然后在 Eclipse 中刷新它的项目,并且您发现在项目资源管理器中无法展开该文件,则原因可能是此更改引入了 C# 语法错误。
建议的解决方案是切换到 Visual Studio 2005,更正所有语法错误,重新构建解决方案,然后在 Eclipse 中刷新所导入的项目以获取更改。在应用变换时,Visual Studio 解决方案处于未更改并且已构建的状态尤其重要。- Modeling Extension for Microsoft .NET 使用 COM 机制来与 Visual Studio 2005 进行同步。当 Visual Studio 处于忙状态时,这些 COM 调用可能会失败或被拒绝。在 Modeling Extension for Microsoft .NET 中执行下列操作时,请不要使用 Visual Studio 2005 或者将其激活:
- 导入 .NET 解决方案
- 刷新项目
- 在项目资源管理器中展开所导入的项目或文件,例如,展开树形视图
- 在先前导入了 Visual Studio 2005 解决方案的工作空间中启动 Modeling Extension for Microsoft .NET
- 构造 .NET 可视化图
- 运行 UML 到 C# 或者 C# 到 UML 变换
- 如果您不打算探查 .NET Framework 组合件中定义的类型内容(例如,查找类型中包含的操作或字段),则在将 Visual Studio 2005 解决方案导入 Eclipse 工作空间时,请使用选项“在解析 .Net 组合件时,仅获取类型”。此选项在“导入 .NET 解决方案”向导的第一页上。这将加快解决方案的导入速度,并且还将加快 C# 和 .NET 类型的可视化速度。
- 在 Visual Studio 2005 中,请始终启用用于自动装入更改的选项。选中“选项”窗口中“环境”->“文档”页 上的“自动装入更改”框将启用此选项。可以通过“工具 -> 选项 -> 环境 -> 文档 -> 当文件在该环境外发生更改时进行检测 -> 自动装入更改(如果已保存)”打开此选项。
- 通过从所导入项目的上下文菜单中选择“属性”选项,可以通过 Eclipse 更改 C# 项目的编码。请注意,由于 Visual Studio 项目通常较大,因此,使用此编码时将耗用更长时间。
当使用嵌套的类/构造/接口来定义外部类/构造/接口中某个元素的类型时,类型名包含外部类型的名称,尽管该类型与该元素是在同一个类中定义的。目前,没有已知的变通方法。在将来的版本中,将解决此问题。
例如,以下模型:
- OuterClass
+ InnerClass
+ attribute1 : InnerClass将导致 OuterClass.cs 中生成的 InnerClass 代码包含以下内容:
private OuterClass.InnerClass attribute1;
在本发行版中,不支持对 UML 模型中包含的 Unicode 字符(例如类名和文档等等)进行进一步转换。在相应的 C# 文件中,所有 Unicode 字符都将生成为“?”。
当 Modeling Extension for Microsoft .NET 与 IBM Rational Software Modeler 安装在一起时,无法从“欢迎”中通过单击“概述”>“不同的建模方法...”>“有关模型变换的更多内容”打开用于演示 Modeling Extension for Microsoft .NET 功能的导览 viewlet。此导览包含在“教程库”中。
要在 Rational Software Modeler 中查看此导览,请单击帮助 > 教程,展开导览,然后单击将 UML 模型变换为 C# 代码。接着,单击启动导览以启动该 viewlet。
在某些情况下,在选中“映射”和“创建源到目标关系”选项的情况下重新运行 UML 到 C# 变换时,生成的代码将损坏。例如,在代码注释中可能会缺少“/”,也可能会出现其他代码错误。
当在工件之间移动清单关系,以便 using 元素可以将代码组合到一个 .cs 文件中或者将代码分隔到两个文件中时,可能会发生这种情况。
在将来的发行版中,将解决此问题。
第一次对导入的 XDE 代码模型运行 C# 到 UML 变换时,“协调”对话框将显示许多与构造型相关的差别。这是因为,C# 到 UML 变换无法识别所导入模型中与 XDE 相关的构造型。在将来的发行版中,将解决此问题。
变通方法:
导入 XDE 代码模型后,并且在对模型或代码作任何更改之前,立即执行一次“清理”变换。然后,运行 C# 到 UML 变换。“协调”对话框显示后,请接受所有与左窗格中显示的临时模型相关的建议更改。这将导致从持久模型中除去构造型。因此,以后运行 C# 到 UML 变换时将不再报告差别。
请考虑包含诸如 <<CSharpProperty>> 和 <<CSharpField>> 等构造型 UML 属性的模型。未设置该模型的类型,并且源代码指定了组合件中的类型作为这些元素的数据类型。如果对此类代码和目标模型运行 C# 到 UML 变换,则融合对话框将正确地显示将为该元素设置的数据类型 UML vizref,但在操作完成后,那些元素将丢失数据类型,即数据类型为空。这是一个已知问题,在将来的发行版中将解决此问题。
如果模型文件名包含 # 符号,并且被指定为 C# 到 UML 变换目标,则融合对话框将无法显示两个窗格来指示要合并差别的临时模型和目标模型。在将来的发行版中,将解决此问题。
如果指定了导入的 XDE 模型作为 C# 到 UML 变换目标,并且还在变换配置中指定了映射模型,则 C# 到 UML 变换将失败并发生空指针异常。只有导入的带有映射模型的 XDE 模型才会发生此问题。
变通方法:
从导入的模型中删除包 <<Aritifacts>>,然后再运行变换。由于映射模型将包含有关各种文件等内容的信息,因此,删除 artifacts 包并不会导致丢失任何信息。在将来的发行版中,将解决此问题。
如果使用变换配置编辑器中的创建新的目标容器按钮创建目标模型,则焦点有时会移至新创建的模型,但在目标窗格中不会选中这个新模型(在该窗格中,C# 到 UML 变换是正向变换)。
变通方法:
手工切换到配置编辑器并选中该目标模型。这是一个已知问题,在将来的发行版中将解决此问题。
即使对修改后的映射模型执行将会导致删除某个文件的 UML 到 C# 变换,并且用户在“删除文件”对话框中选择删除该文件,但实际上并不会删除该文件。实际上,将仅仅从项目中除去该文件以保留内容。
以后,如果再次运行 UML 到 C# 变换,并且将会导致重新创建上一步骤中删除的(从项目中除去的)文件,则这个重新创建的文件将包含旧内容(原始内容),而不是包含新内容。
变通方法:
此问题的当前变通方法是在步骤 1 完成后从文件系统中删除此类文件。可以通过下列各项获取此类文件的列表:
- “删除文件”对话框(如果未以静默方式运行变换的话)。
- 将文件系统中的文件列表与属于该项目的文件进行比较(如果将该变换配置为以静默方式运行的话)。
- 映射模型中空工件的列表(如果有的话)。
从 C# 代码中除去 @generated 标记后,在变换配置的“公共”页中选中“创建源到目标关系”选项的情况下重新应用 UML 到 C# 变换,这将导致在代码中生成额外的 URI 标记。只有变量会出现此问题。
该 URI 标记的格式为:
//@C#_transform [
// _URI=platform:/resource/UML%20project/Blank%20Model%20t1.emx#_cd19cKJhEdurjYIa4vhLGA//]
多次执行重新应用将导致在 C# 文件中生成更多的 URI 标记。
变通方法:
此问题没有已知的变通方法。
如果除去了所生成的 setter 方法的 @generated 标记,并且在代码中更改了它的类型,然后重新运行 UML 到 C# 变换,则将生成额外的 setter 方法。
变通方法是在模型中进行类型更改。
在选中“替换 UML 元素”选项的情况下运行 UML 到 C# 变换时,不会替换 UML 模型中包含的枚举字面值。如果枚举 E 有两个字面值 L1 和 L2,并且 E 包含在包 p 中,则运行变换后,会正确地将枚举 E 替换为代码中生成的 C# 枚举的快捷方式。但执行变换后,字面值 L1 和 L2 仍包含在包 p 中。
变通方法:
此问题没有已知的变通方法。
在某些情况下,XDE C# 代码模型导入器(文件 -> 导入 -> 其他 -> XDE .Net 解决方案)无法正确迁移 C# 索引器的 setter 方法。如果通过指定相应的 UML 模型(使用 XDE 基本模型导入器导入的 .emx 文件)导入 XDE .NET 解决方案中包含的 C# 项目,然后运行 UML 到 C# 变换,并且将迁移后的模型用作源并将迁移后的项目用作目标,则可能会导致代码中包含的 setter 方法与执行此过程前包含的 setter 方法不同。在某些情况下,完全不会生成 setter 方法。在另一些情况下,生成的 setter 方法包含具有名称值的额外参数,这将导致编译错误 - C# 不允许 setter 方法的显式参数使用名称值。
变通方法:
此问题没有已知的变通方法。
在变换配置编辑器的“公共”页上选中了替换 UML 元素选项并使用了映射模型的情况下运行 UML 到 C# 变换时,该变换不会替换源模型中在文件夹中生成了源文件的 UML 元素。只有在目标 C# 项目的根文件夹下生成了代码的 UML 元素才会被替换为代码中相应元素的快捷方式。
变通方法:
第一次运行 UML 到 C# 变换后,UML 模型和映射模型将被标记为“已更改”。然后,在不对变换配置或映射模型作任何更改的情况下再次运行变换。现在,该模型中的所有 UML 元素都将被替换为快捷方式。
导入 Rational XDE 代码模型时,还将导入那些代码模型所引用的所谓“组合件模型”(也称为“系统模型”或“参考模型”),并且,在基于 Eclipse 的环境中将引用那些模型。因此,打开所导入的代码模型需要很长时间。
变通方法:
成功导入代码模型后,删除所导入的组合件模型。无论您是选择将所导入代码模型的 UML 元素替换为直接代码引用并使用“混合建模”操作原理,还是选择保留代码模型的 UML 元素并使用“真实循环工程”(RTE)操作原理(迭代的正向及反向变换和协调),此变通方法都适用。此变通方法的效果是:
1. 删除组合件模型将大大提高打开和编辑所导入代码模型的速度。2. 在打开所导入的代码模型时,产品可能会显示警告或“错误”,以指示“缺少”所引用的模型。您可以忽略这些警告。
3. 在对所导入的代码模型运行验证时,产品可能会显示警告或“错误”,以指示“缺少”所引用的模型。您可以忽略这些警告或“错误”。
示例:
假定有一个名为 Project1 的 Visual Studio 2003 C# 项目,其相应的 XDE 基本模型为“Project1.mdx”。假定此模型引用了下列 5 个系统模型:System.mdx、mscorlib.mdx、System.Data.mdx、System.Web.mdx 和 System.Drawing.mdx。- 首先,使用 VS 2005 迁移实用程序将 VS 2003 项目迁移到 VS 2005。
使用 XDE 模型导入功能(文件 > 导入 > 其他 > Rational XDE 模型)导入项目模型 Project1.mdx。您将选择导入它所引用的所有模型(导入器要求您这样做,以确保在导入过程中保持模型完整性)。- 这将导致在 Eclipse 工作空间中创建 6 个 .emx 文件,它们分别是“Project1.emx”、“System.emx”、“mscorlib.emx”、“System.Data.emx”、 “System.Web.emx”和“System.Drawing.emx”。
- 接着,导入 Visual Studio 2005 解决方案(文件 > 导入 > 其他 > .NET 解决方案)。系统将检测到该解决方案中的旧 .mdx 模型,并且将要求您提供所导入代码模型的名称。在本例中,此名称是“Project1.emx”。现在,您还可以选择是否将 Project1.emx 的 UML 元素替换为对所导入解决方案中代码的引用。如果您想实践“混合建模”,则可使用该选项。但是,如果您希望实践“真实 RTE”,请不要使用该选项。
- 导入过程现已完成。下一次打开“Project1.emx”模型时,UML 框架将尝试装入全部 5 个所引用的模型,并且将尝试解析从“Project1.emx”中的元素到那些所引用模型中的元素的引用。这就是打开和处理所导入的 XDE 模型时发生延迟的原因。
- 要避免性能下降,您只需选中并删除全部这 5 个所导入的组合件模型。如上所述,这将提高性能,并且将导致打开和验证“Project1.emx”时出现警告或“错误”,但不会对要对“Project1.emx”执行的任何建模和变换操作产生负面影响。
如果以静默方式运行 C# 到 UML 变换,并且在变换配置编辑器中选中了所有其他选项,则变换将失败。确切而言,如果对目标模型进行的新更改包含更改要以静默方式合并的构造型元素(如 <<CSharpStruct>>),则将发生此问题。在将来的发行版中,将解决此问题。
如果对包含诸如 != 或 == 之类的已重载运算符的源文件运行 C# 到 UML 变换以将这些运算符合并到目标模型中,则以后在未对代码进行任何更改的情况下执行变换时,融合对话框不应该显示任何更改。但是,融合对话框却不正确地显示了与参数重命名相关的更改。
在将来的发行版中,将解决此问题。
对于 C# 变换而言,映射模型应该仅用于指定有关代码组织方式的文件系统层次结构。目前,尚不支持通过映射模型对类和接口等内容进行重命名。可以在两个透视图中进行 C# 应用程序设计工作:
1. 逻辑系统设计
2. 物理系统设计(将被指定为映射模型)
通常,逻辑设计模型包含各种名称空间、各种类型以及继承关系、属性和函数等内容。
使用了映射模型的物理设计透视图包含 C# 变换的部署信息。这意味着,您能够控制变换将各种逻辑构造放入不同文件的方式。缺省情况下,如果没有映射模型,UML 到 C# 变换将在一个文件中生成每个类型,例如类或接口。该文件的名称与该类型的名称相同,但放在 Visual Studio 项目的根文件夹下。例如,如果没有映射模型,则将在名为“MyClass.cs”的文件中生成类“MyClass”。但是,如果用户希望在名为“Test.cs”的文件中生成代码,则应该在映射模型中通过列示了“MyClass”类的工件进行指定。
映射模型仅用来指定用于生成代码的文件夹或文件层次结构。使用映射模型时,不会执行任何重命名操作。
注意,逻辑设计(变换源模型)和物理设计(变换映射模型)都仅仅是 UML 模型。唯一的区别是:
- 逻辑源模型中的 UML 包代表 C# 名称空间。
- 映射模型中的 UML 包代表文件系统中的文件夹。
在启用了“映射模型”选项并选中替换 UML 元素选项的情况下运行 UML 到 C# 变换之后,如果撤销该变换,则映射模型将处于不正确的状态。如果对不正确的映射模型再次运行 UML 到 C# 变换,则将在不正确的位置中生成 C# 文件。
变通方法:
用户必须手工撤销对映射模型所作的更改,然后才能再次运行 UML 到 C# 变换。其中一种方法是,关闭该映射模型并选择不保存更改。
IBM Rational 软件支持机构为您提供技术辅助。
有关当您需要支持时所需的联系信息和指南或参考材料,请阅读 IBM 软件支持手册。
有关 FAQ、已知问题与修订的列表以及其他支持信息,请访问 IBM Rational 软件支持机构 Web 站点。
有关 Rational 软件产品新闻、事件和其他信息,请访问 IBM Rational 软件 Web 站点。
在与 IBM Rational 软件支持机构联系之前,请收集描述您的问题将需要的背景信息。向 IBM 软件支持机构的专家描述问题时,应尽可能地具体并包括所有相关的背景信息,以便该专家能够有效地帮助您解决问题。为了节省时间,请明确下列问题的回答:
- 您在运行软件的哪个版本时发生了此问题?
- 是否有与问题相关的日志、跟踪和消息?
- 是否可以重现问题?如果可以重现问题,您执行了哪些步骤?
- 该问题有变通方法吗?如果有,请描述变通方法。
© Copyright IBM Corporation 2007. All Rights Reserved.
本信息是为在美国提供的产品和服务编写的。IBM 可能在其他国家或地区不提供本文档中讨论的产品、服务或功能特性。有关您当前所在区域的产品和服务的信息,请向您当地的 IBM 代表咨询。任何对 IBM 产品、程序或服务的引用并非意在明示或暗示只能使用 IBM 的产品、程序或服务。只要不侵犯 IBM 的知识产权,任何同等功能的产品、程序或服务,都可以代替 IBM 产品、程序或服务。但是,评估和验证任何非 IBM 产品、程序或服务,则由用户自行负责。
IBM 公司可能已拥有或正在申请与本文档描述的内容有关的各项专利。提供本文档并未授予用户使用这些专利的任何许可。您可以用书面方式将许可查询寄往:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
U.S.A.
有关双字节(DBCS)信息的许可查询,请与您所在国家或地区的 IBM 知识产权部门联系,或用书面方式将查询寄往:IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan本条款不适用英国或任何这样的条款与当地法律不一致的国家或地区:International Business Machines Corporation“按现状”提供本出版物,不附有任何种类的(无论是明示的还是暗含的)保证,包括但不限于暗含的有关非侵权、适销和适用于某种特定用途的保证。某些国家或地区在某些交易中不允许免除明示或暗含的保证。因此本条款可能不适用于您。
本信息中可能包含技术方面不够准确的地方或印刷错误。此处的信息将定期更改,这些更改将编入本资料的新版本中。IBM 可以随时对本资料中描述的产品和/或程序进行改进和/或更改,而不另行通知。
本程序的被许可方如果要了解有关程序的信息以达到如下目的:(i)允许在独立创建的程序和其他程序(包括本程序)之间进行信息交换,以及(ii)允许对已经交换的信息进行相互使用,请与下列地址联系:
Intellectual Property Dept. for Rational Software
IBM Corporation
20 Maguire Road
Lexington, MA
02421-3112
USA只要遵守适当的条件和条款,包括某些情形下的一定数量的付费,都可获得这方面的信息。
本资料中描述的许可程序及其所有可用的许可资料均由 IBM 依据 IBM 客户协议、IBM 国际软件许可协议或任何同等协议中的条款提供。
涉及非 IBM 产品的信息可从这些产品的供应商、其出版说明或其他可公开获得的资料中获取。IBM 没有对这些产品进行测试,也无法确认其性能的精确性、兼容性或任何其他关于非 IBM 产品的声明。有关非 IBM 产品性能的问题应当向这些产品的供应商提出。
所有关于 IBM 未来方向或意向的声明都可随时更改或收回,而不另行通知,它们仅仅表示了目标和意愿而已。
商标和服务标记
下列各项是 International Business Machines Corporation 在美国和/或其他国家或地区的商标:
- developerWorks
- IBM
- Rational
Java 和所有基于 Java 的商标是 Sun Microsystems, Inc. 在美国和/或其他国家或地区的商标。
Microsoft、Windows 和 Windows NT 是 Microsoft Corporation 在美国和/或其他国家或地区的商标。
Intel 和 Pentium 是 Intel Corporation 或者它的分支机构在美国和/或其他国家或地区的商标或注册商标。
UNIX 是 The Open Group 在美国和其他国家或地区的注册商标。
Linux 是 Linus Torvalds 在美国和/或其他国家或地区的商标。
其他公司、产品或服务名称可能是其他公司的商标或服务标记。