Rational rose生成代码及其反向工程功能手册(简略翻译+个人补充) :: SeanGuo的开发日记
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=400521 存档链接: https://web.archive.org/web/20041031063859id_/http://www.blogbus.com:80/blogbus/blog/diary.php?diaryid=400521
SeanGuo的开发日记 seanguo,JAVA,开发工具,WEB SERIVICES,关系数据库,UML/MDA,扯淡 <<<up | 首页 | 连通.NET和Java>>> Rational rose生成代码及其反向工程功能手册(简略翻译+个人补充) 时间:2004-09-21 请参照本blog上另一篇文章 http://www.blogbus.com/blogbus/blog/diary.php?diaryid=283921 是两封朋友的来信促使我完善这篇对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
- 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的怀 中吧。 anndefans 发表于 2004-09-21 09:45 引用Trackback(0) | 编辑 评论 发表评论 最后更新 不知所云 连通.NET和Java 将现有的 Java 语言代码自动转换成 Visual C# 转载showModalDialog和showModelessDialog使用心得 Rational rose生成代码及其反向工程功能手册(简略翻译+个人补充) up hibernate,哀号遍野 动态加载子项的树型菜单 状态不好 WebLogic Server 之安全(架构篇)