您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第9章 Rose的双向工程
第9章Rose的双向工程《RationalRose2003基础教程》配套电子教案内容Rose对编程语言的支持Rose的双向工程RTE举例Rose的正向工程Rose的逆向工程1Rose对编程语言的支持支持的语言企业版专业版Rose2003ModelerANSIC++XC++版本VisualC++XC++版本VisualBasicXVB版本JavaXJ版本AdaXAda版本CORBAIDLXMIDLXXMLDTDX2Rose的双向工程Rose支持UML模型与编程语言之间的相互转换,采用双向工程(RTE,RoundTripEngineering)的解决方案。Rose可以分析代码的改动,对模型进行修改,构建出与代码相关的更好的模型。2Rose的双向工程3RTE举例3.1从模型到代码——正向工程–类SalesRep:从模型到代码3RTE举例3.2从代码到模型——逆向工程–类SalesRep:从代码到模型3.3一致性问题–对于任何一种CASE工具,在进行模型/代码转换时,都存在一致性问题。即便最先进的CASE工具也很难保证模型/代码与代码/模型转换之间的一致性(同步)。•在进行逆向工程之后,类SalesRep模型已经丢失了逻辑关系——与类Client和类Vector之间的关联。3RTE举例4Rose的正向工程4.1代码生成的步骤–五个步骤:•1)检查模型;•2)创建构件;•3)将类映射到构件;•4)设置代码生成属性;•5)选择要进行代码转换的类、构件和包。4Rose的正向工程4.1代码生成的步骤–1)检查模型(CheckModel)•引用问题•非法访问(Accessviolations)问题•语言语法问题–2)创建构件•CheckModel是独立于语言的。如果你想将模型转换成下面的三种语言之前进行模型检查,则:–Java:单击ToolsJava/J2EESyntaxCheck–CORBA:单击ToolsCORBASyntaxCheck–Oracle8:单击ToolsOracle8SyntaxChecker4Rose的正向工程4.1代码生成的步骤–3)将类映射到构件•构件之间的依赖性决定了系统的编译依赖性。•指定构件实现的类:–选中构件图或浏览器中的用于实现类的构件图标;–打开构件规范窗口;–选中Realizes标签;–选中Showallclasses复选框;–在类列表中找到并右击所要实现的类,单击快捷菜单中的Assign。4Rose的正向工程4.1代码生成的步骤–4)设置代码生成属性•直接影响生成的语言代码框架,代码生成属性控制模型元素转换到代码时的具体细节。在生成代码之前,最好先检查代码生成属性并进行必要的修改。因为模型元素(包括类、属性、构件等)有多种代码生成属性可供选择,而Rose只是提供了常用的代码生成属性的默认设置。•要查看代码生成属性,单击ToolsOptions,然后选择相应的语言标签4Rose的正向工程4.1代码生成的步骤–5)选择类、构件和包•Rose允许分步骤、有选择的进行代码转换,即在生成代码时,可以一次选择一个类、一个构件或者一个包,通过代码转换将其转换成相应的语言代码;也可以一次生成多个类、构件或者包的代码;或者是它们的组合。选中一个或多个生成的代码类每个被选中的类逻辑包每个逻辑包中的类构件映射到每个构件的类构件包映射到构件包中各个包中的类4Rose的正向工程4.2代码生成–1)语言工具定制•从Tools菜单中选择特定的语言工具选项并设置相应的语言选项–2)控制源代码的框架内容•任何造型工具都不能创建完整的应用程序。•Rose强大的代码生成能力在于它能生成大量的框架代码。–3)设定源代码文件的位置•默认的情况下,包含已生成的代码的文件和路径位于当前工作空间所在的目录下。–4)代码生成之后的工作•精化模型系统的程序实现:编写每个类的操作(方法实现)和设计图形用户界面(GUI)5Rose的逆向工程定义–通过源代码或者对源代码进行修改,得出UML模型,这就是逆向工程。模型的信息来源–1)类、属性和操作–2)关系–3)包和构件5Rose的逆向工程1)类、属性和操作5Rose的逆向工程2)关系5Rose的逆向工程3)包和构件–代码中包和构件的信息也会在逆向工程时体现在Rose模型中。–Rose对构件的处理方法因语言而异。
本文标题:第9章 Rose的双向工程
链接地址:https://www.777doc.com/doc-3401563 .html