1、第15章 Rose的双向工程,15.1 双向工程介绍 15.2 Java代码生成 15.3 逆向工程 15.4 实例应用,15.1 双向工程介绍,双向工程包括正向工程和逆向工程。 双向工程提供了一种在描述系统的架构或设计和代码的模型之间进行双向交换的机制。 正向工程指从模型直接产生一个代码框架。 逆向工程是指将代码转换成模型。 CASE工具能够自动进行转换,可以在设计模型和实现模型之间保持一致。,15.2 Java代码生成,代码生成(正向工程)是指从Rose模型中的一个或多个类图生成Java源代码的过程。 Rational Rose正向工程是以组件为中心的。 当对一个Java模型元素进行正向工
2、程时,它的特征会映射到对应的Java语言的结构。 Rose提供了一个工具,它能够使代码与UML模型保持一致。,“Code Generation”详解(1),IDE:指定与Rose相关联的Java开发环境。 Default Data Types:设置缺省数据类型。 Prefixes:设定缺省前缀(如果有的话) Generate Rose ID:在代码中为每个方法都加一个唯一的标识符。 Generate Default Return Line:在每个类声明后面都生成一个返回行。 Stop on Error:在遇到第一个错误就停止。 Create Missing Directories:生成没有定义
3、的目录。,“Code Generation”详解(2),8. Automatic Synchronization Mode:自动保持代码与模型同步, 9. Show Progress Indicator:在遇到复杂的同步操作时显示进度栏。 10.Source Code Control:对哪些文件进行源码控制。 11.Put source code of the project under Source Control:使用Rose J/CM Integration对Java源代码进行版本控制。 12.Input Checkin/Checkout comment:需要对检入/检出代码的活动进行说
4、明。 13.Select Source Root Path for Source Control:选择存放生成的代码文件的地方。,代码生成的步骤,1. 将Java类加入模型中的Java组件; 2. 语法检查(Rose会自动进行); 3. 设置“Classpath”;选择ToolsJava/J2EEProject Specification,再选择“Classpath”选项卡; 4. 按前面详细介绍设置“Code Generation”参数; 5. 备份文件; 6. 生成Java代码。选择ToolsJava/J2EEGenerate Code,15.3 逆向工程,逆向工程是分析Java代码,然后
5、将其转换到Rose模型的类和组件的过程。 Rational Rose允许从Java源文件(.java文件)、Java字节码(.class文件)以及一些打包文件(.zip、.cab、.jar文件)中进行逆向工程。,逆向工程的过程: (1)设置或检查CLASSPATH环境变量。(2)启动逆向工程。选择一个或多个类,然后单击 ToolsJava/J2EEReverse Engineer(3)创建和修改类图和组件图。(4)浏览和扩展源文件。右键单击某个类,选择Java/J2EEeditCode,15.4 实例应用,生成代码实例:p228选择要生成的类,然后选择ToolsJava/J2EEGenerate Code逆向工程实例:p232选择一个或多个类,然后右键选择 Java/J2EEReverse Engineer,见图15-14,