《第9章Rose的双向工程65327.ppt》由会员分享,可在线阅读,更多相关《第9章Rose的双向工程65327.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第9章章 Rose的双向工程的双向工程 Rational Rose 2003基础教程配套电子教案内内 容容nRose对编程语言的支持对编程语言的支持 nRose的双向工程的双向工程 nRTE举例举例 nRose的正向工程的正向工程 nRose的逆向工程的逆向工程 1 Rose对编程语言的支持对编程语言的支持 支持的语言企业版专业版Rose 2003 ModelerANSI C+XC+版本Visual C+XC+版本Visual BasicXVB版本JavaXJ版本AdaXAda版本CORBA IDLXMIDLXXML DTDX2 Rose的双向工程的双向工程 Rose支持UML模型与编程语言
2、之间的相互转换,采用双向工程(RTE,Round Trip Engineering)的解决方案。Rose可以分析代码的改动,对模型进行修改,构建出与代码相关的更好的模型。2 Rose的双向工程的双向工程3 RTE举例举例 n3.1 从模型到代码从模型到代码正向工程正向工程类SalesRep:从模型到代码3 RTE举例举例 n3.2 从代码到模型从代码到模型逆向工程逆向工程类SalesRep:从代码到模型n3.3 一致性问题一致性问题对于任何一种CASE工具,在进行模型/代码转换时,都存在一致性问题。即便最先进的CASE工具也很难保证模型/代码与代码/模型转换之间的一致性(同步)。在进行逆向工程
3、之后,类SalesRep模型已经丢失了逻辑关系与类Client和类Vector之间的关联。3 RTE举例举例 4 Rose的正向工程的正向工程 n4.1 代码生成的步骤代码生成的步骤五个步骤:1)检查模型;2)创建构件;3)将类映射到构件;4)设置代码生成属性;5)选择要进行代码转换的类、构件和包。4 Rose的正向工程的正向工程 n4.1 代码生成的步骤代码生成的步骤1)检查模型(检查模型(Check Model)引用问题非法访问(Access violations)问题 语言语法问题2)创建构件)创建构件Check Model是独立于语言的。如果你想将模型转换成下面的三种语言之前进行模型检
4、查,则:Java:单击ToolsJava/J2EESyntax Check CORBA:单击ToolsCORBASyntax Check Oracle8:单击Tools Oracle8Syntax Checker 4 Rose的正向工程的正向工程 n4.1 代码生成的步骤代码生成的步骤3)将类映射到构件)将类映射到构件构件之间的依赖性决定了系统的编译依赖性。指定构件实现的类:选中构件图或浏览器中的用于实现类的构件图标;打开构件规范窗口;选中Realizes标签;选中Show all classes复选框;在类列表中找到并右击所要实现的类,单击快捷菜单中的Assign。4 Rose的正向工程的正
5、向工程 n4.1 代码生成的步骤代码生成的步骤4)设置代码生成属性)设置代码生成属性直接影响生成的语言代码框架,代码生成属性控制模型元素转换到代码时的具体细节。在生成代码之前,最好先检查代码生成属性并进行必要的修改。因为模型元素(包括类、属性、构件等)有多种代码生成属性可供选择,而Rose只是提供了常用的代码生成属性的默认设置。要查看代码生成属性,单击ToolsOptions,然后选择相应的语言标签 4 Rose的正向工程的正向工程 n4.1 代码生成的步骤代码生成的步骤5)选择类、构件和包)选择类、构件和包Rose允许分步骤、有选择的进行代码转换,即在生成代码时,可以一次选择一个类、一个构件
6、或者一个包,通过代码转换将其转换成相应的语言代码;也可以一次生成多个类、构件或者包的代码;或者是它们的组合。选中一个或多个生成的代码类每个被选中的类逻辑包每个逻辑包中的类构件映射到每个构件的类构件包映射到构件包中各个包中的类4 Rose的正向工程的正向工程 n4.2 代码生成代码生成 1)语言工具定制)语言工具定制从Tools菜单中选择特定的语言工具选项并设置相应的语言选项 2)控制源代码的框架内容)控制源代码的框架内容任何造型工具都不能创建完整的应用程序。Rose强大的代码生成能力在于它能生成大量的框架代码。3)设定源代码文件的位置)设定源代码文件的位置默认的情况下,包含已生成的代码的文件和
7、路径位于当前工作空间所在的目录下。4)代码生成之后的工作)代码生成之后的工作精化模型系统的程序实现:编写每个类的操作(方法实现)和设计图形用户界面(GUI)5 Rose的逆向工程的逆向工程 n定义定义通过源代码或者对源代码进行修改,得出UML模型,这就是逆向工程。n模型的信息来源模型的信息来源1)类、属性和操作 2)关系 3)包和构件 5 Rose的逆向工程的逆向工程 n1)类、属性和操作)类、属性和操作 5 Rose的逆向工程的逆向工程 n2)关系)关系5 Rose的逆向工程的逆向工程 n3)包和构件)包和构件代码中包和构件的信息也会在逆向工程时体现在Rose模型中。Rose对构件的处理方法因语言而异。