第11章VC++的Rose双向工程65721.ppt
-
资源ID:93913886
资源大小:771.50KB
全文页数:25页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第11章VC++的Rose双向工程65721.ppt
第11 章 VC+的Rose 双向工程 Rational Rose 2003 基础教程配套电子教案内 容n Rose VC+的正向工程 n 代码生成属性 n Code Update Tool 与代码生成 n 生成的代码内容 n VC+的逆向工程 n 步骤 1.检查模型;2.创建构件,在构件规范窗口的Language 下拉列表框中选择VC+,并将构件映射到对应的VC 项目;3.将类映射到构件;4.设置代码生成属性;5.右单击要生成代码的构件,选择Update Code,或者单击ToolsVC+Update Code,激活Code Update Tool;6.按照Code Update Tool 提示操作。1 Rose VC+的正向工程2 代码生成属性 设置代码生成属性的途径 VC+语言属性窗口:设置VC+语言属性 VC+属性对话框(Properties Dialog):为新建的模型或当前模型设置默认的VC+语言属性 构件属性对话框:设定应用于构件所要实现的类的模型属性 Model Assistant 工具:精确设置模型中的类与代码之间的对应关系 模型元素的规范窗口 2 代码生成属性n 2.1 VC+语言属性窗口 类的属性 类属性的属性 类操作的属性 依赖关系(Dependency)角色(Role)包的属性(Class Category)构件的属性(Module Specification)项目属性(Project)2 代码生成属性n 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 代码生成属性n 2.2 VC+属性对话框 Model Update 标签 Create Overview Diagrams:自动为每个逆向工程的构件创建一张综合图 Default Package:新模型元素所在包的名字 Attribute Types:首次逆向工程时应该作为属性(而不是角色)进行建模的VC+属性类型 2 代码生成属性n 2.2 VC+属性对话框 Containers 标签 列出了在Model AssistantRole 标签中Implementation 下拉列表框可选用的类。在默认的情况下,列表中提供的是最常用MFC 容器类。也可以将用户自定义的容器类添加到列表中。右边的Add 和Remove按钮用于添加和删除列表中的某个(或某些)容器类。要修改其中的容器类,右单击要改动的类,在快捷菜单中选中Edit 进行编辑 2 代码生成属性n 2.2 VC+属性对话框 Class Operations 标签 类操作的代码生成与否还依赖于Code Update 中的Apply Pattern on Code Generation 选项。左边选中的成员函数只在第一次代码生成过程中生成。Model Assistant 将用该列表控制所能加入类的操作 2 代码生成属性n 2.2 VC+属性对话框 Accessors 标签 Accessor Operations:访问函数(操作)。每个访问函数的原型由模型中角色和属性的类型决定 Accessor Body:访问操作的函数体。2 代码生成属性n 2.3 构件属性对话框 General 标签 Workspace File(Optional):VC+项目的工作空间和项目文件的名称和路径 Workspace File:VC+项目工作空间文件的文件名和路径 Project File:VC+项目文件的文件名和路径 2 代码生成属性n 2.3 构件属性对话框 Internal Map(和External Map)标签 Location:控制在何处定义#include 语句,有三种选择:Auto:根据类型依赖规则决定写入头文件或实现文件 Header:总是写入头文件中 Source:总是写入实现文件中 2 代码生成属性n 2.3 构件属性对话框 Includes 标签 Initial Source Includes:写入类实现文件的#include 语句中的文件名。如果有多个包含文件,则每个文件名占一行。Initial Header Includes:写入类头文件的#include 语句中的文件名,每个文件名各占一行。2 代码生成属性n 2.3 构件属性对话框 COM 标签 Update ATL Artifacts:控制是否为服务器端简单的ATL 对象生成代码 Use Smart Pointersfor Interface Associations:设定是否要在双向工程中使用VC+的 Smart Pointer 特性。Generate#import statements:控制是否为服务器端简单的ATL 对象生成#import 语句 2 代码生成属性n 2.3 构件属性对话框 Copyright 标签 添加构件的版权信息,默认的值为“Copyright(C)1991-1999 Rational Software Corporation”。2 代码生成属性n 2.4 Model Assistant 工具 Model Assistant 是一个功能强大的工具,可以用来设定类以下层次的模型元素(包括类、操作、属性、关联等)的代码生成属性,精确定制生成的代码框架。利用该工具可以提高代码的准确性和简洁性。启动Model Assistant 工具:1.右单击浏览器或类图中的类;2.选择Model Assistant;2 代码生成属性n 2.4 Model Assistant 工具 General 树视图窗口及其标签 类及标签 Class Operations 文件夹 Attributes 文件夹 Operations 文件夹 Associations 文件夹 2 代码生成属性n 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 项目;指定要实现的类及其成员;第三步:生成代码;第四步:查看代码生成结果。4 生成的代码内容n 4.1 概述 生成代码时,模型中的构件对应于VC 项目,模型中的类对应于代码中的类。模型中的其他细节(包括属性、操作、关系、可见性等)在类的头文件和实现文件中体现 n 4.2 头文件(*.h)框架代码 类声明 类的数据成员和成员函数声明 注释 反映代码生成属性设置的代码 4 生成的代码内容n 4.3 实现文件(*.cpp)框架代码#include 语句 成员函数和数据成员的定义 反映代码生成属性设置的代码 5 VC+的逆向工程 利用Rose VC+的Model Update Tool 可以方便地进行逆向工程的操作。在需要进行逆向工程时,都需要使用Model Update Tool,包括:1)根据VC+项目创建一个新的模型;2)针对代码的改动,更新一个已存在的模型;3)往模型中添加一个外部VC+构件。5 VC+的逆向工程n 逆向工程的步骤 1.编译要转换的VC+项目,确保源代码文件中没有任何语法错误;2.如果是创建新的模型,则需要创建一个构件,并设置构件的实现语言为VC+;如果是更新模型,则可以省略这一步;3.单击Tools Visual C+Update Model from Code,激活Model Update Tool,单击Next,接着出现Select Components and Classes 窗口,在该窗口中进行构件和类的选择。4.将VC+项目与模型中已有(或者新创建)的构件关联;5 VC+的逆向工程n 逆向工程的步骤(续)5.在要进行逆向工程转换的项目的各项名称前面选中复选框,或者选择构件边上的复选框,对整个项目进行逆向工程。6.单击Next,出现显示Finish 页面。7.检查所要生成的模型元素,确定之后单击Finish 按钮,也可以单击Back 按钮返回并改动前面的设定。单击Finish按钮之后,开始逆向工程过程,进度在Progress 页面显示。8.在Summary 页面查看结果。单击OK 按钮,关闭Model Update Tool。9.将生成的类移动到模型逻辑视图中相应的逻辑包中。10.保存新的模型。