`
gstarwd
  • 浏览: 1544447 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Rational rose生成代码及其反向工程功能手册(简略翻译+个人补充)

    博客分类:
  • UML
阅读更多

是两封朋友的来信促使我完善这篇对rose生成代码及其反向工程功能介绍的文章,在 收到来信此之前我只把blog当作一个自娱自乐的地方,没有想到过真的会有人看到,并且反馈,加之近来deadline将近,每日深陷调试代码的泥潭中无 可自拔,blog上已很长时间无只言片语,于是现在一个休息日上午在游戏解压的同时我打开ultra edit开工了。本文适合会用一点rose,懂不多UML的开发人员
       rose是最流行的建模工具,一是标准(历史悠久用的人多),二是自始至终贯穿体现了RUP的思想(使用Rational suite),虽然实际工作中我们因为诸多因素不能够完全按照RUP方法来指导整体开发过程,但相信多数团队还是围绕在rose身边使用了'简化版'的需 求分析设计,而多半使用了不怎么地道的'XP'开发:)
      ROSE思想是复杂的,内涵是丰富的,操作是别扭的,文档是简单的,人性是没有的。然而人们对它趋之若鹜的原因恐怕是我们现在的 TEAMLEADER,SA受RUP的'毒害'颇深的原因,而这也将影响到徒弟--将来的SA们。
     
一 通过模型生成代码

rose帮助位于 HELP>>CONTENTS>>ROSE JAVA>>HOW TO >>FORWARD ENGINEER FROM  ROSE  TO JAVA SOURCE
下面是简单翻译和图文以及注意事项
步骤 :  1 Checking for Java Syntax Errors

3 Generating Java Source from a Class Diagram
4 Mapping Components for Code Generation
5 Browsing the Java Source
6 Completing the Generated Java Source
     1 Checking for Java Syntax Errors

当你尝试把模型组件转化成代码框架时候,应该考虑到先检查将要生成的类有无语法错误。
1   打开你要专化的目标diagram
2 选择你要转化的包或者类
3.单击  tools>java/j2ee>  Syntax Check 来检查目标代码是否符合规范,比如命名错误。
4 察看rose log窗口(下方)察看检验结果,如果有错误,即errors那么生成的代码很可能无法通
过编译
5. Correct the components as needed.
5 根据需要校正这些组件或者图
6重复 步骤3直到检验不出错误,然后你就可以进入下一步了
     2 Generating Java Source from a Component Diagram     
假设以上步骤已经搞定了error
7 选择你要转化的包或者类
8单击 Tools > Java/J2EE > Generate Code
一般来说如果你还没有将一个package或者组件映射到一个rose的classpath目录中(就是指定生
成的东西放哪里),那么系统不会允许你在接下来的界面里点ok,那么现在就编辑目标路径
9点classpath entries下的edit按钮,再出现的界面右上角找new(insert)(删除左边那个),然后在列
表里新增的行里选择目标路径,你可以选择目标是生成一个zip,jar,还是一个目录,我们选择
目录。指定目录,ok,那么你选择的路径就新建成功了,选择这个路径,点ok回到界面(层次
好多阿,界面很丑阿)
10现在你看到classpath entries里有东西了,选择右侧列表里你要转换的包或者组件,点assign
,即分配给目标classpth,理论上你可以把选择好的包组件或者类图分别分配个多个classptah
对象。点ok开始生成
11成功后就可以到指定的classpath下看代码了,生成的代码之间拥有如类图所示的关系。


二 反向功能
rose帮助位于 HELP>>CONTENTS>>ROSE JAVA>>HOW TO >>REVERSE ENGINEER FROM  JAVA SOURCE TO ROSE          
反向工程就是通过java代码生成或者更新一个模型的过程。你可以用ROSE对以下文件进行反向
  A.Java source code (.java files)
  B.Java bytecodes (.class files)
  C.zip, .cab, and .jar files
1. Open the model you want to create or update.
打开一个你刚创建或者想更新的模型
新建一个class diagram(如果你还不会,那么这篇文章就别看了)
2.单击Tools > Java/J2EE > Reverse Engineer
那么现在大家可以想象一下rose会怎么做,刚才是选择了图,创建目标路径,生成代码,那么
现在是否指定路径读文件生成图呢,you can say that again!!
在出现的界面上选择一个classpath(如果已经存在)当然,你也可以通过edit classpath按钮新
建一个(新建路径的界面刚才讲过了,不再累赘),然后选择这个classpath,更改下面的filter
下拉列表,更改目标文件类型(注意不仅仅三行,可以滚动的,对rose的界面真是垃圾这一点
又深有体会了),我们这里选择.java,如果这个classptah下存在.java文件,那么就会被列出来

注意:你可以通过 add添加选中的文件,也可以通过add all添加所有列出来的,更可以通过
add recursive 递归添加这个路径下所有的文件和子目录下所有文件等等。可以看到rose并不会自动列出甚至显示有没有子目录(无人性)
从添加好的文件里选择你想反向的文件,点Reverse 开始创建或者更新
无论成功还是失败都会警告,并有log。有错你就改到没错为止。
假设你成功了,点击done结束反向,回到rose主界面。           
注意:rose并不会针对你反向过来的类和组件自动生成图,生成的class已经按照包关系列在你的
        class diagram下面,你需要把他们加到你的图中去(靠,什么玩艺) ,你有两种方法让这个半自动反向工程化上句号。
   1手工把class或者组件拖拉到目的图里
   2在目标图的界面下点击 Query > Add Classes 或者 Query > Add Components ,选择视图方式
   ,一般是logic view,选择要拖拉的类或者组件,>>或者all,点ok完成。生成的类图即反映了代码本身之间的关系。
     ok.教程结束,因为没有抓图软件,懒得拷屏幕,加之文字比较详细,相信拥有写代码能力和
     自学能力的诸位看官理解没问题。作为一个SE,SA,必须掌握的工具,ROSE还有很多功能隐
     藏在稀奇古怪的界面下,如果你不是一个RUP方法的顽固FANS,也没有受到经典学院派的'
     教导',或者干脆就是一个开发人员,那么推荐大家还是快速的投入到together或者Poseidon的怀
     中吧。

分享到:
评论

相关推荐

    Rationalrose生成代码.pdf

    Rational Rose 是一个功能强大的统一建模语言(UML)工具,能够生成多种编程语言的代码,包括 Visual C++、Java 等。下面将详细介绍 Rational Rose 生成代码的步骤和相关知识点。 一、生成代码的准备工作 在生成...

    用Rational Rose对VC++进行反向工程(将VC++代码生成组件图).

    ### 使用Rational Rose进行VC++代码的反向工程——组件图生成详解 #### 知识点一:Rational Rose与VC++反向工程基础 **Rational Rose**是一款由IBM Rational开发的建模工具,主要用于软件工程中的统一建模语言...

    Rational Rose由代码生成类图

    Rational Rose是一款功能强大的UML建模工具,通过对Java代码的逆向工程,可以生成类图。下面我们将详细介绍如何使用Rational Rose从Java代码生成类图。 一、创建ROSE工程 要使用Rational Rose生成类图,首先需要...

    rational rose 汉化补丁

    4. **逆向工程**:当已有代码需要维护或理解时,它可以将代码反向工程化为UML模型,便于理解和重构。 5. **协同工作**:支持版本控制和团队协作,多人可以同时编辑和查看同一模型,提高了工作效率。 6. **测试建模...

    利用rational rose反向工程实例

    Rational Rose是利用UML(统一建模语言)进行分析和设计面向对象软件系统的强大的可视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向转出工程代码,生成Rose模型的功能。...

    Rational Rose-汉化补丁

    此外,Rational Rose还支持与Visual Studio、JBuilder等集成开发环境的集成,实现代码生成和反向工程,帮助开发者快速实现从模型到代码的转换。 "更多软件到挖当下载.url"可能是一个链接,指向一个资源网站,用户...

    rational rose软件工程课设

    Rational Rose 软件工程课设 根据给定的文件信息,本资源摘要信息将对软件工程课设的知识点进行详细的解释和分析。 1. 软件工程概述 软件工程是指在软件开发过程中应用工程学原则和方法,以确保软件产品的质量、...

    rational rose 使用手册 非常详细

    ibm rational rose 使用手册,内容非常详细,有实例介绍。

    Rational Rose 2003 汉化包

    8. 代码生成:从设计模型中,Rational Rose 2003能够自动生成源代码,减少手动编码的工作量,提高了开发效率。 9. 集成开发环境(IDE):提供了一个集成的开发环境,支持模型的创建、编辑、浏览和管理,同时与版本...

    Rational rose 教程

    7. **逆向工程与向前工程**:体验从现有代码反向生成模型,以及从模型生成代码的过程,理解模型与代码之间的双向同步。 8. **团队协作与版本控制**:学习如何在团队环境中使用Rational Rose,包括模型的版本控制、...

    rational rose 汉化版

    4. **逆向工程**:能从已有的代码反向生成UML模型,便于理解已有系统的结构。 5. **文档生成**:根据模型生成详细的设计文档,便于团队沟通和项目管理。 在使用Rational Rose汉化版的过程中,用户需要注意以下几点...

    Rational Rose 2007(V7.0) 的许可证(license)

    同时,它还集成了代码生成和反向工程功能,可以自动生成源代码,或者从现有代码中逆向生成模型,极大地提高了开发效率。 值得注意的是,Rational Rose 2007虽然强大,但也有其局限性。例如,对于大型项目,性能可能...

    Rational Rose 2003 汉化版.rar

    3. **逆向工程与正向工程**:可以从现有的代码生成模型,也可以从模型生成代码,实现设计与实现的双向同步。 4. **模型驱动架构(MDA)**:通过定义平台独立模型(PIM)和平台特定模型(PSM),帮助用户实现跨平台的...

    从入门到精通 UML With Rational Rose

    第11章 用Rational Rose生成代码简介 第12章 C++与Visual C++代码生成 第13章 Java代码生成 第14章 Visual Basic代码生成 第15章 PowerBuilder代码生成 第16章 CORBA/IDL代码生成 第17章 DDL代码生成 第18章 Oracle8...

    Rational Rose培训教材中文简版

    - **代码生成与反向工程**:讲解如何利用Rose的代码生成和反向工程功能,实现模型与代码的双向同步。 - **团队协作**:介绍如何在团队环境中使用Rose,进行版本控制和协同工作。 - **最佳实践**:分享使用...

    RationalRose2003下载(破解)

    4. **逆向工程**:除了正向工程外,Rational Rose 2003还支持逆向工程,即可以从现有源代码生成模型。这对于理解和重构复杂的软件系统非常有帮助。 5. **需求管理**:该工具还包括了一个强大的需求管理模块,帮助...

    Rose的汉化文件 rational rose

    Rational Rose是一款强大的软件建模工具,主要用于统一建模语言(UML)的图形化建模。...对于初学者来说,了解并掌握Rational Rose的各项功能及其汉化方法,对深入理解和实践UML建模具有重大意义。

    Rational Rose教务系统

    Rational Rose支持代码生成,它可以将UML模型转化为实际的编程代码。在本项目中,开发者可能利用这一特性,从设计模型直接生成C++代码,这有助于减少手动编码的工作量,确保设计与实现的一致性。 3. **教务.mdl** ...

    rationalRose操作手册

    最后,“第9章 Rose的双向工程”和“第12章 双向工程”深入解析了Rational Rose的双向工程特性,这是Rational Rose的一大亮点,允许开发者在模型和代码之间自由切换,提高开发效率并降低维护成本。 通过阅读这本...

    Rational Rose 建模工具及应用

    Rational Rose是一款由IBM开发的建模工具,它在软件工程领域中被广泛用于系统分析、设计和实现的可视化建模。此工具以其强大的统一建模语言(UML)支持而闻名,允许开发者以图形化的方式表达软件系统的结构和行为。...

Global site tag (gtag.js) - Google Analytics