用Rational Rose进行ANSI C++(标准C++)正向和反向工程

如何定义 namespace

1. 创建一个 Package ,,命名为 Namespaces

2. 在刚才建立的 Package 下建立一个 GClass 类,定义一个 int i getvalue 成员函数。如图:

3. 双击 Namespaces package ,并在“ ANSI C++ ”标签里将 IsNamspace 属性置为 true ,如图:

4. 生成代码

 

Ø        正向工程与逆向工程

正向工程:

1). 检查并创建模型中的类,比如创建类名为 GClass 的一个类;

2). Component View 里创建构件 (component) 如:创建名字为 NewPackageBody component 名称

3). 双击刚才建立的构件( NewPackageBody ),在弹出的 Component Sepcification 窗口中的 Realizes 标签页里右击你要分配的类,选择 ”assign” 将类映射到构件,同时你需要在 General 标签页里将 language 选项设置成 ANSI C++ ,如下图:

4). 可以在 Tools->ANSI C++->Open ANSI C++ Specification 设置代码生成属性 ,如图:

 

5). 选择类图和(或 ) 构件图中要进行代码生成的类和构件;

6). 选择 Tools> ANSI C++>Code Generation 或者右单击类和构件图标,选择 A NSI C++>G enerate Code…

 

逆向工程:

1 )在构件视图( Component View )中创建并命名新的构件 (Component) ,如: NewPackageBody

2). 双击新的构件( NewPackageBody )打开 Component Specification 窗口,将构件的实现语言改为 ANSI C++ ,如图:

3). 右单击新构件( NewPackageBody ),选择快捷菜单中的 ANSI C++>Open ANSI C++ Specification… ,打开构件 ANSI C++ Specification 窗口,如图:

4). 在构件规范窗口的 Files 标签中添加源文件;

5). 单击构件 NewPackageBody ,选择 Tools>A NSI C++>Reverse engineer… ,打开 选择要添加到模型中的类 的窗口;

6). 选择要添加到模型中的类,单击 Ok 按钮,开始逆向工程。

 

Ø        定义模板类

1 )检查并 模型中创建一个类,比如创建 TAllocator

2 )双击在第一步中创建的类( TAllocator ),出现 Class Specification 窗口,在 General 标签页中将 Type 设置为: ParameterizedClass ,如图;

3 )同时在 Class Specification 窗口的 Detail 标签页中的 Formal Arguments 中增加一个类型名 T ,类型为 class ,如图:

     定义组合

1 )检查并建立模型中的两个类,比如建立类 A 和类 B

2 )使用聚合关系连接 A B

 

3 )双击那根聚合的连接线,在窗口 Aggregation Specification 中的 Role B Detail 中,将 Containment of B 设置成 By Value 的方式,如图:


发表于 @ 2009年07月09日 23:29:00 | 评论( 0 ) | 编辑 | 举报 | 收藏

旧一篇:Command(命令)  | 新一篇:Iterator(迭代器)模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值