正向工程之使用 Rational rose 2003 生成C++代码

来源:互联网 发布:linux启动vnc 编辑:程序博客网 时间:2024/05/22 14:05

本文举一个将逻辑类图反向工程为头文件、源文件的过程的例子,用的是ANSI C++风格,更复杂的应用可触类旁通。

1. 创建类图

  创建两个类 CAirplane 和 CWhirlybird,它们是继承关系(直升机类继承飞机类)

2. 用ANSI C++ 创建组件

  在菜单中依次选择 Tools -> ANSI C++ -> Convert From Classic C++


  选择转换model中的所有类,设置该组件名称即可(默认Converted Classes),本操作会生成一个组件Converted Classes。

3. 用ANSI C++ 生成源代码

  设置刚才创建的组件的属性

  在“Realizes”页中,将所有的类“assign ”,即指定那些将要被转换成 ANSI 风格的类(毕竟还有Java 风格的类),这是关键的一步,只有确定了类的风格,Rose才能进行下一步的处理。

  类的风格可在 Tools -> ANSI C++ -> Class Customization...中详细设置
  选择组件,然后在在菜单中选择Tools -> ANSI C++ -> Generate Code...

  指定一个目录,代码就会在那个目录中生成了。


  此处仅展示最大文件 CWhirlybird.cpp 的内容:

0001#include "CWhirlybird.h"
0002
0003//##ModelId=4E7AF31803D8
0004void CWhirlybird::fly()
0005{
0006}
0007
0008//##ModelId=4E7AF42903A3
0009CWhirlybird::CWhirlybird()
0010{
0011}
0012
0013
0014//##ModelId=4E7AF42903C2
0015CWhirlybird::~CWhirlybird()

0016{
0017}
0018
0019//##ModelId=4E7AF42903E2
0020int CWhirlybird::operator==(const CWhirlybird& right)
0021{
0022}
0023
0024//##ModelId=4E7AF42A0048
0025Integer const& CWhirlybird::get_empennage() const
0026{
0027    return empennage;
0028}
0029
0030
0031//##ModelId=4E7AF42A0068
0032void CWhirlybird::set_empennage(Integer left)
0033{
0034    empennage = left;
0035}
0036
0037

  生成的文件很标准,操作过程也不难吧。

原创粉丝点击