rose帮助位于 HELP>>CONTENTS>>ROSE JAVA>>HOW TO >>FORWARD ENGINEER FROM ROSE TO JAVA SOURCE

当你尝试把模型组件转化成代码框架时候,应该考虑到先检查将要生成的类有无语法错误。

1 打开你要专化的目标diagram

2 选择你要转化的包或者类

3.单击 tools>java/j2ee> Syntax Check 来检查目标代码是否符合规范,比如命名错误。

4 察看rose log窗口(下方)察看检验结果,如果有错误,即errors那么生成的代码很可能无法通

过编译

5 根据需要校正这些组件或者图

6重复 步骤3直到检验不出错误,然后你就可以进入下一步了

假设以上步骤已经搞定了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的怀中吧。

自己的补充:

参考资料:

怎样由rational rose类图生成java代码http://topic.csdn.net/t/20030410/19/1644982.html

1.安ROSE前先安JDK,

不然,要设置一下jdk的路径或者用ROSE找一下JDK的目录:

Tools-->java/J2EE-->Project Specification-->CLASSPATH-->new

2. 然后,画图的时候,

打开J2EE,这个最全啦 ,会自动导入三个包:java、javax、org;

否则,复杂的类,可能转的不对;

不过,使用J2EE model需要导入大量的包,会有点慢,只是第一次练习“from   class diagram to java source”的话,打开rose时点cancle不选任何model

就可以;

3.斜菱形表示public,钥匙表示Protected,锁表示private,T表示default;

4.生成代码之前,在“open standard specification”中的“Attributes”和“Operations”中设置属性的type,方法的返回值等;

5.可以在“关联关系”等的箭头中指定引用的名称;

6.可以设置JAVADOC,

还能自动产生MAIN,(未找到相应项)

可以对类的属性,加READ WRITE方法,这个还是很好用的,不然,GET

的,SET的会写好多,设置:

右键单击要生成代码的类,选open standard Specification->Attributes,再右键单

击要生成setter/getter的属性,选specification->java.....

然后按“edit set”

将“propertyType”改为“simple”,就可以了;

(read/write的默认值就已经是read/write);

参考:http://topic.csdn.net/t/20020624/11/825787.html

7.一个小技巧:

把默认语言设为JAVA: tools-option-notation-default

因为,你一般不会对使用的语言换来换去的,

这样的话,    只要一产生类,就是JAVA类,

并且,   右击,有一项就相应变为“java/J2EE”;

(如果默认语言时C++,右击的那项是“ANSI C++”)

双击的项也变了, 不是General的项了    直接是JAVA类属性   ;

8.我们要做的第一个步骤就是要先进行语法检查,

这一步,是关键;

有时需要语法检查之后,“java/J2EE”中的“Genarate code”

这项才从灰色变为可用项;

然后设置好CLASSPATH的输出路径就可以了;

9.导出代码

在导出代码的过程中,我们可以看到“OK”按钮和两视图间的“Assign”按钮都是灰色的。这时候,我们要选择两个部分,

一个是在视图中左侧的“CLASSPATH Entries”要选择一个你要导出代码的路径,点击让它变成蓝色就可以了。

这时候,按钮“OK”和“Assign”按钮仍然是灰色的。

下面我们还要确定右边哪个包是要导出的,这里很明显就是“scInfoTech”。我们把它和它的组件视图全部选中。这时候,“OK”按钮和“Assign”按钮都变成可用的了。

10. ROSE产生的代码,每个类,每个方法,都会打上一个ROSE号,

后期可反转,

就是从代码到类图!

若想去掉roseid:Tools-->java/J2EE-->Project Specification-->Code Generation;

11.不过,就本身而言,

产生的代码水平也是不敢^%#%$@%$#**^*&^^&^%#^%#

好象没有写的好!

不过可以修改代码:java/J2EE-->edit code...;

但是ROSE的反转厉害的很,

可以转CLASS的,

生成的图,带有关系,

用来分析别人的代码,

VERY爽 !!!

12.把类图、顺序图等图片保存到word中:

点工具栏中的“fit in window”->“copy”—>粘贴到word;

这样得到的图片又清晰又完整又小,通常不到10k;如果图片太小,在word中

可以以200%的比例阅读:“视图”菜单—>“显示比例”;

13.Rational Rose怎么导入java类库?:

问:我想用java代码生成rose模型,可是总是有一些类找不到,需要导入jdk

或者其他的类包,请问怎么操作?

答:菜单 tools -> Java/J2EE -> Project Specification

在Classpaths中加入类库路径,比如

D:/JBuilder6/jdk1.3.1/src.jar

14.画好了类图、顺序图,并加上了所有的操作,注释,说明等,怎么才能自动

生成设计文档?(现在还不会,还没装SODA)

参考资料:http://topic.csdn.net/t/20021209/19/1245009.html

问:我在rose中画了一个类图,所有操作什么的都有了,也都写了注释。

但怎么才能自动生成设计文档呢?总不能把注释一个一个的拷出来吧。

答:在report菜单总选择SoDA Report,再选择report template(比如Detail of          all of attribute and operations by class by package)

问:怎么没有SoDA选项?是不是要先装soda for word

答:先装soda,还要有wordhttp://www.rational.com/上有不少文档问:谢谢诸位的回答.我已经装上了, 虽然生成的文档有点儿乱,          但可以看出这是一个功能很强大的工具.   答:其实最好的办法是根据你们文档的要求自己定制soda的模版,定制的过程说         起来很麻烦,但是其实并不复杂,看看soda的教学文档,半天就可以掌握了15.画类图的时候,最好把类按“包”组织;并跟java代码实现时的包结构对应;没有包,所有的类堆积在一起将是一盘散沙。

rose 生产java代码m_rose 生成代码相关推荐

  1. UI2Code智能生成Flutter代码——机器生成代码

    背景 在<UI2CODE--整体设计>篇中,我们提到UI2Code工程的整体流程.前步图片分析之后,我们可以得到对应的DSL布局描述.利用DSL的资讯,结合IntelliJ Plugin介 ...

  2. C# 代码注释生成代码提示和帮助文档

    C#文档注释格式: /// <summary> /// function description /// </summary> /// <param name=" ...

  3. java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码

    CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...

  4. java自动生成代码原理_原来这就是Java代码生成器的原理啊,太简单了

    前几天写了篇关于代码生成器的文章(可查看历史文章),不少同学私下问我这个代码生成器是如何运作的,为什么要用到一些模板引擎,所以今天来说明下代码生成器的流程. 2. 代码生成器的使用场景 我们在编码中存 ...

  5. java代码自动生成的插件_如何使用插件生成自定义Java 8代码

    java代码自动生成的插件 大多数程序员讨厌的一件事就是编写样板代码. 无休止的时间花费在设置实体类和配置数据库连接上. 为了避免这种情况,您可以让Speedment Open Source之类的程序 ...

  6. 如何使用java代码生成_使用Java成功生成代码的7个技巧

    如何使用java代码生成 作为介绍,最近我有点安静,部分原因是我一直在忙于Chronicle-FIX的工作 . 这是Chronicle-Enterprise套件中的一个新的超低延迟库,我们证明了该库可 ...

  7. lombok 生成代码_使用Project Lombok减少Java应用程序中的样板代码

    lombok 生成代码 对Java编程语言最常提出的批评之一是它需要大量的样板代码 . 对于简单的类尤其如此,该类只需要存储一些值就可以. 您需要这些值的getter和setter方法,也许您还需要一 ...

  8. eclipse创建pojo_使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码

    eclipse创建pojo 概述: 在本教程中,我们将使用Eclipse Hibernate工具自动生成域对象和相应的hbm xml文件. 如果您正在处理大型或中型项目,并且开始时有超过5个以上的表, ...

  9. 使用Java成功生成代码的7个技巧

    作为介绍,最近我有点安静,部分原因是我一直在忙于Chronicle-FIX的工作 . 这是Chronicle-Enterprise套件中的一个新的超低延迟库,我们证明了该库可以在低个位数微秒内解析和存 ...

  10. 使用Eclipse Hibernate插件逐步为POJO域Java类和hbm自动生成代码

    概述: 在本教程中,我们将使用Eclipse Hibernate工具自动生成域对象和相应的hbm xml文件. 如果您正在处理大型或中型项目,并且开始时有超过5个以上的表,则可能会发现此插件是自动生成 ...

最新文章

  1. Extjs鼠标长按事件(实现长按按钮触发事件的方法:mousedown、mouseup)
  2. 【ACM】杭电1073:Online Judge
  3. 【C010】Python - 基础教程学习(一)
  4. MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
  5. Linux网络编程---详解TCP
  6. 2.2)深度学习笔记:优化算法
  7. 文档转换乱码异常解决:unoconv openoffice libreoffice
  8. Leetcode PHP题解--D56 637. Average of Levels in Binary Tree
  9. web播放器-jwplayer
  10. 7.4 集合及其内置方法
  11. 在几何画板中如何制作圆柱的侧面展开动画_几何画板制作圆锥侧面展开图课件...
  12. k3刷机 重置_斐讯K3刷LEDE固件成功刷机教程
  13. layui表单验证规则
  14. python 极坐标图_Python中的极坐标图问题,未考虑角度
  15. OI生涯回忆录(Part8:至高一省选Day1)
  16. 太原计算机专业学校在哪里,太原信息技术学校在哪里
  17. oppo8.0系统最简单激活xposed框架的经验
  18. 计算机怎么一键返回桌面,回到桌面的快捷键是啥_快速桌面快捷键怎么操作-win7之家...
  19. 起始2021-01-15
  20. go cobra初试

热门文章

  1. 常见通信RF指标的内在和意义
  2. NekoHTML 学习笔记
  3. cad隐藏图层命令快捷键_CAD各种插件大全汇总,1G多绘图神器+快捷键命令大全,无套路分享...
  4. fft matlab代码,FFT的matlab程序代码
  5. Web多媒体:编解码器和容器
  6. matlab如何电路分析方法,MATLAB在电路分析中的应用_李继林
  7. delphi madExcept使用指南
  8. 学生信息管理系统(纯前端页面)———无后端数据库
  9. SpringBoot入门学习
  10. nes模拟器java版_JAVA版手机FC/Nes模拟器vN