【VC++开源代码栏目提醒】:网学会员,鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“第11章VCPP的Rose双向工程 - 其它资料”一文,供大家参考学习!
第11章
VC的 Rose双向工程《Rational Rose 2003基础教程》 配套电子教案 内 容 Rose
VC的正向工程
代码生成属性 Code Update Tool与
代码生成 生成的
代码内容
VC的逆向工程 1 Rose
VC的正向工程 步骤 – 1.检查模型; – 2.创建构件,在构件规范窗口的Language下 拉列表框中选择
VC,并将构件映射到对应 的
VC项目; – 3.将类映射到构件; – 4.设置
代码生成属性; – 5.右单击要生成
代码的构件,选择Update Code…,或者单击ToolsVCUpdate Code…,激活Code Update Tool; – 6. 按照Code Update Tool提示操作。
2
代码生成属性– 设置
代码生成属性的途径
VC语言属性窗口:设置
VC语言属性
VC属性对话框(Properties Dialog):为新 建的模型或当前模型设置默认的
VC语言属性 构件属性对话框:设定应用于构件所要实现的类 的模型属性 Model Assistant工具:精确设置模型中的类与代 码之间的对应关系 模型元素的规范窗口 2
代码生成属性 2.1
VC语言属性窗口 – 类的属性 – 类属性的属性 – 类操作的属性 – 依赖关系(Dependency) – 角色(Role) – 包的属性(Class Category) – 构件的属性(Module Specification) – 项目属性(Project) 2
代码生成属性 2.2
VC属性对话框 – Code Update标签 Generate Model ID:生成模型ID Generate Documentation:信息作为注 释添加到
代码中 Generate include Statements:为头 文件生成include语句 Apply Pattern on Code Generation: 生成
代码时是否选中Class Operations 标签和Accessors标签中的原型 Generate Debug Operations for MFC Classes:为MFC类Cobject的派生类生 成DUMP和AssertValid成员函数 Create Backup Files:如果选中该选 项,则在对源
代码文件进行修改之前, 在备份区域生成该文件的备份 Support CodeName:为每个模型元素 指定与模型中不相同的名字 2
代码生成属性 2.2
VC属性对话框 – Model Update标签 Create Overview Diagrams:自动为每个 逆向工程的构件创建一 张综合图 Default Package:新模 型元素所在包的名字 Attribute Types:首次逆 向工程时应该作为属性 (而不是角色)进行建 模的
VC属性类型 2
代码生成属性 2.2
VC属性对话框 – Containers标签 列出了在Model AssistantRole标签中 Implementation下拉列表框 可选用的类。
在默认的情况 下,列表中提供的是最
常用 MFC容器类。
也可以将用户 自定义的容器类添加到
列表 中。
右边的Add和Remove 按钮用于添加和删除列表中 的某个(或某些)容器类。
要修改其中的容器类,右单 击要改动的类,在快捷菜单 中选中Edit进行编辑 2
代码生成属性 2.2
VC属性对话框 – Class Operations标签 类操作的
代码生成与否 还依赖于Code Update中 的Apply Pattern on Code Generation选项。
左边选中的成员函数只 在第一次
代码生成过程 中生成。
Model Assistant将用该 列表控制所能加入类的 操作 2
代码生成属性 2.2
VC属性对话框 – Accessors标签 Accessor Operations: 访问函数(操作)。
每 个访问函数的原型由模 型中角色和属性的类型 决定 Accessor Body:访问操 作的函数体。
2
代码生成属性 2.3 构件属性对话框 – General标签 Workspace File (Optional):
VC 项目的工作空间和项 目文件的名称和路径 Workspace File:
VC项目
工作空间文 件的文件名和路径 Project File:
VC项 目文件的文件名和路 径 2
代码生成属性 2.3 构件属性对话框 – Internal Map(和 External Map)标签 Location:控制在何 处定义include语句, 有三种选择: – Auto:根据类型依 赖规则决定写入头 文件或实现文件 – Header:总是写入 头文件中 – Source:总是写入 实现文件中 2
代码生成属性 2.3 构件属性对话框 – Includes标签 Initial Source Includes:写入类实现 文件的include语句中 的文件名。
如果有多 个包含文件,则每个 文件名占一行。
Initial Header Includes:写入类头文 件的include语句中的 文件名,每个文件名 各占一行。
2
代码生成属性 2.3 构件属性对话框 – COM标签 Update ATL Artifacts: 控制是否为服务器端简 单的ATL对象生成
代码 Use Smart Pointersfor Interface Associations: 设定是否要在双向工程 中使用
VC的 Smart Pointer特性。
Generate import statements:控制是否为 服务器端简单的ATL对象 生成import语句 2
代码生成属性 2.3 构件属性对话框 – Copyright标签 添加构件的
版权信息,默认的值为“Copyright C 1991 - 1999 Rational Software Corporation”。
2
代码生成属性 2.4 Model Assistant工具 Model Assistant是一个功能强 大的工具,可以用来设定类以 下层次的模型元素(包括类、 操作、属性、关联等)的
代码 生成属性,精确定制生成的代 码框架。
利用该工具可以提高
代码的准确性和简洁性。
启动Model Assistant工具: – 1.右单击浏览器或类图中的 类; – 2.选择Model Assistant; 2
代码生成属性 2.4 Model Assistant工具 – General树视图窗口及其标签 类及标签 Class Operations文件夹 Attributes 文件夹 Operations文件夹 Associations文件夹 2
代码生成属性 2.4 Model Assistant工具 – MFC树视图窗口及标签 文件夹 描述 Class Node MFC视图窗口允许你修改和设定一个MFC派生类的
代码生成属性。
可以在右边的Class标签中设置该类的
代码 生成属性。
MFC Overrides 显示根节点类中所有可用于重载的虚拟操作(只适用于MFC派生类)。
点击操作前面的复选框可以将其设定 为根节点类的重载操作。
可以在Operation和Parameters标签中设置虚拟操作的属性。
Windows Messages 列出了根节点类所有可接收的Windows消息句柄。
点击操作前面的复选框,可以在右边的Message Handler标 签中修改和设定操作的
代码生成属性。
Command Handlers 列出了基类的所有命令句柄。
点击操作前面的复选框,可以在右边的Command Handler标签中修改和设定操作 的
代码生成属性。
Notification Handlers 列出了基类的所有notification句柄。
点击操作前面的复选框,可以在右边的Notification Handler标签中修改和 设定操作的
代码生成属性。
3 Code Update Tool与
代码生成– Code Update Tool
代码生成向导 简化正向 工程操作 : 可以同时生成和更新多个用不同语言实现的源代 码项目; 可以保证模型和源
代码之间的同步; 可以将类映射到构件,方便操作; 可以在
代码生成向导中打开Model Assistant,设 定类及其成员的
代码生成属行,进一步设置类与
代码之间的映射。
可以在将模型转换成
代码之前,提前预览类和类 成员的
代码,及时发现模型中的错误并加以修 改。
3 Code Update Tool与
代码生成– 利用
代码生成向导进行正向工程的步骤: 第一步:启动Code Update Tool ; 第二步:选择要进行
代码转换的类、构件以及实 现语言: – 将构件映射到
VC项目 ; – 指定要实现的类及其成员; 第三步:生成
代码; 第四步:查看
代码生成结果。