| Rational Rose 元素或选项 | Rational Rhapsody 元素 | 说明 |
|---|---|---|
| 抽象类 | 不导入。 | |
| 操作 | 操作 | |
| 活动图 | 活动图 | |
| 参与者 | 参与者 | |
| 项的锚点注释 | 锚点 | |
| 关联 | 链接,链接类型为“关联” | 请参阅导入的关联类。 |
| 类的基数 | 部件 | 类基数是指可以在运行时创建的类实例数。如果类正好有一个实例,那么它的基数为 1。 在 Rational Rhapsody 中,将类的基数称为它的多重性。多重性字段反映了这个类在原始 Rational Rose 模型中的基数。 |
| 类别 | 包 | |
| 类别依赖关系 | 依赖关系 | |
| 类 | 类 | |
| 类的类型 | 类型 = 类 | 所有类型的类都映射到类。 |
| 分类器角色 | 分类器角色 | |
| 协作图 | 协作图 | 不导入。 |
| 组件包 | 包 | |
| 组件 | 组件 | 由于 Rational Rhapsody 不允许组件包含在包中,因此导入的所有组件都将包括在项目级别之下。 |
| 组件图 | 组件图 | |
| 并行性 - 顺序、活动、受守护或同步 | 并行性 - 顺序或活动 | 不导入操作并行性。 |
| 条件 | 守护 | |
| 约束 | 不导入。 | |
| 包含 -“按值”、“按引用”或者“未指定” | 不导入。 | |
| 依赖关系 (UCD) | 依赖关系 | |
| 部署图 | 部署图 | 不导入。 |
| 派生属性和关系 | 不导入。 | |
| 结束状态 | 活动结束 | |
| 事件 | 事件 | 事件将触发从一种状态到另一状态的过渡。事件将导入为类,并且这些类的行为包括触发状态过渡。 |
| 导出控制 | 不导入。 | |
| 友元 | 特性 | |
| 全局包 | 不导入。 | |
| 具有关系 | 链接,链接类型为“聚集” | |
| 继承(用例) | 继承 | |
| 继承关系 | 超类和超事件 | |
| 属性的初始值 | 不导入。 | |
| 接口 | 类 | 接口类作为具有虚操作的类导入到 Rational Rhapsody 中。 |
| IsConstant(Rational Rose 特性) | 不导入。 | |
| 链接属性 | 不导入。 | |
| 链接元素 | 不导入。 | |
| 消息 | 消息 | |
| 关系的多重性 | 多重性 | |
| 可导航关系 | 特征(随类不同而不同) | 在 Rational Rhapsody 中,如果存在导航,那么无法添加“可导航”特征(不能同时具有“可导航”和聚集)。 |
| 嵌套类 | 不导入。 | |
| 注释 | 注释 | |
| 操作类型 - 虚拟、静态、友元、抽象和公共 | 虚拟和静态 | |
| OperationIsConst(Rational Rose 特性) | 不导入。 | |
| 参数 | 自变量 | |
| 持久性 | 不导入。 | |
| 私有实现 | 私有实现 | |
| 受保护实现 | 受保护实现 | |
| 公用实现 | 公用实现 | |
| 限定符/键 | 限定符 | 在 Rational Rose 中,限定符可能不是类属性。在 Rational Rhapsody 中,限定符必须是类属性。
Rational Rhapsody 将根据限定符在 Rational Rose 中是否也是属性来模拟限定符。如果限定符在 Rational Rose 中是属性,那么将映射到 Rational Rhapsody 中的属性。否则,Rational Rhapsody 创建属性,将其添加到类,然后使其成为限定符。 Rational Rose 允许使用多个限定符,而 Rational Rhapsody 只允许使用一个限定符。因此,在导入具有多个限定符的关联时,Rational Rhapsody 将随机采用它所检测到的第一个限定符。 |
| 限定符类型 | 属性 | 如果限定符不是类属性,请创建该属性。 |
| 关系 | 元链接 用例图中的关系将导入为关系。 |
抽象类。 |
| 关系类型 -“按值”、“按引用”或者“未指定” | 全部这三种类型都将映射到“按引用”。 | |
| 实现关系 | 超类 | |
| 角色 | 角色 | |
| 发送自变量 | 操作 | |
| 发送事件 | 操作 | |
| 发送目标 | 操作 | Rational Rose 的发送事件/发送自变量/发送目标将使用以下格式映射到
Rational Rhapsody 操作:
Sendtarget->GEN( |
| 时序图 | 时序图 | 当 Rational Rhapsody 从 Rational Rose 导入 时序图时,Rational Rose 分类器角色将转换为 Rational Rhapsody 分类器角色和分类器,并且消息将转换为目标(接收)类的实际操作。 |
| 类的空间 | 不导入。 | |
| 开始状态 | 初始连接符 | 与传出过渡相结合。 |
| 状态 | 状态 | 如果在 Rational Rose 中存在单一状态的多个视图,那么在导入到 Rational Rhapsody 时,附加的视图将转换为模型中具有相同特征的新状态(就像使用“随模型复制”功能时的结果一样)。名称将指示这是新的状态,但标签相同。 |
| 静态属性 | 静态属性 | |
| 静态关系 | 静态(关系是静态类成员) | |
| 构造型 | 不导入。 | |
| 子状态 | 状态(具有父代) | 如果在 Rational Rose 中存在单一子状态的多个视图,那么在导入到 Rational Rhapsody 时,附加的视图将转换为模型中具有相同特征的新子状态(就像使用“随模型复制”功能时的结果一样)。名称将指示这是新的子状态,但标签相同。 |
| 模板和模板实例化 | 模板和模板实例化 | |
| 文本框 | 注释 | 与对象模型相同。 |
| 过渡 | 过渡 | 图中控制流的格式如下所示:
如果在 Rational Rose 中存在单一过渡的多个视图,那么在导入到 Rational Rhapsody 时,附加的视图将转换为模型中具有相同特征的新过渡(就像使用“随模型复制”功能时的结果一样)。名称将指示这是新的过渡,但标签相同。 |
| 类型 - 预定义类型(例如 int 或 float)、用户定义的类型或者类。 | 类型 | 在 Rational Rose 中创建用户定义的类型时,可以对其指定名称,但不能指定声明。Rational Rhapsody
将通过添加使用新类型名作为类型声明的快速类型来模拟用户定义的类型。 在 Rational Rose 中,还可以指定类的类型,例如 ParameterizedClass 或 InstantiatedClass。Rational Rhapsody 在使用类作为类型声明的情况下,通过创建快速类型来模拟类的类型。 |
| 用例 | 用例 | |
| 使用关系(类依赖关系) | 包之间的依赖关系仅保存在图形界面中。 |
如果某个类没有关联或状态图,那么它将导入为关联类;否则,将导入为常规类。
请考虑以下医院模型:

在此示例中,Visit Record 是与 Hospital_Patient 关联相关联的类。因此,可以将其导入为关联类。
如果 Visit Record 类具有状态图或者与其他类的关联,那么它不会导入为关联类,而是导入为常规类。如图所示,由于 Visit Record 具有与 Bill 的关联,因此将导入为常规类。但是,关联 Hospital_Patient 将具有指向这个类的超链接。
如果 Visit Record 没有关联或状态图,那么它将导入为关联类。这意味着: