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的怀中吧。
分享到:
相关推荐
### 使用Rational Rose进行VC++代码的反向工程——组件图生成详解 #### 知识点一:Rational Rose与VC++反向工程基础 **Rational Rose**是一款由IBM Rational开发的建模工具,主要用于软件工程中的统一建模语言...
3. **代码生成**:Rational Rose能够根据模型自动生成代码,大大减少了编码的工作量,同时降低了错误的可能性。 4. **逆向工程**:当已有代码需要维护或理解时,它可以将代码反向工程化为UML模型,便于理解和重构。...
此外,Rational Rose还支持与Visual Studio、JBuilder等集成开发环境的集成,实现代码生成和反向工程,帮助开发者快速实现从模型到代码的转换。 "更多软件到挖当下载.url"可能是一个链接,指向一个资源网站,用户...
Rational Rose是利用UML(统一建模语言)进行分析和设计面向对象软件系统的强大的可视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向转出工程代码,生成Rose模型的功能。...
7. **逆向工程与向前工程**:体验从现有代码反向生成模型,以及从模型生成代码的过程,理解模型与代码之间的双向同步。 8. **团队协作与版本控制**:学习如何在团队环境中使用Rational Rose,包括模型的版本控制、...
同时,它还集成了代码生成和反向工程功能,可以自动生成源代码,或者从现有代码中逆向生成模型,极大地提高了开发效率。 值得注意的是,Rational Rose 2007虽然强大,但也有其局限性。例如,对于大型项目,性能可能...
4. **逆向工程**:能从已有的代码反向生成UML模型,便于理解已有系统的结构。 5. **文档生成**:根据模型生成详细的设计文档,便于团队沟通和项目管理。 在使用Rational Rose汉化版的过程中,用户需要注意以下几点...
- **代码生成与反向工程**:Rose能够自动生成代码,根据设计模型生成实际编程语言(如Java或C++)的代码。同时,它也能进行反向工程,从已有的代码中提取UML模型。 - **需求管理**:集成的需求管理功能允许团队...
2. **逆向工程与正向工程**:它可以将已有的代码反向生成UML模型,帮助理解现有系统的结构;同时,也能将模型正向生成代码,实现从设计到实现的自动化。 3. **需求管理**:通过与IBM RequisitePro的集成,可以管理...
Rational Rose 2003支持自动生成代码,将类图转换为实际的编程语言。 #### 3.3 顺序图与协作图 这两种图用于表示对象间的交互,其中顺序图强调时间顺序,协作图则更关注对象间的关系。 #### 3.4 状态图与活动图 ...
4. **逆向工程与正向工程**:Rational Rose支持从现有代码反向生成模型(逆向工程),以及从模型生成代码(正向工程)。这有助于理解现有系统的结构,以及快速实现设计到代码的转化。 5. **团队协作与版本控制**:...
逆向工程是Rational Rose的一项核心功能,它允许用户从已有的源代码中提取信息,生成UML模型,如类图,以便更好地理解和重构代码。 在Java开发中,逆向工程可以将Java代码转化为UML类图,揭示出类与类之间的关系、...
2. **代码生成与反向工程**:Rose支持自动生成代码,并能将现有代码逆向工程转化为模型,实现模型与代码的双向同步。 3. **需求管理**:通过关联模型元素和需求,确保系统设计与用户需求的一致性。 4. **团队协作**...
Rational Rose 支持需求管理,可以将需求文档导入转化为用例图,也可以将模型反向工程生成代码,实现模型与实际代码的双向同步。 ### 7. 模型验证和文档生成 Rational Rose 可以检查模型的完整性,避免设计错误。...
此外,Rational Rose还支持代码生成和反向工程,可以自动生成编程语言的源代码,也可以从已有的代码中提取模型,形成一个完整的开发流程。 总的来说,Rational Rose license是使用这款专业UML工具的必备元素,它为...
2. **代码生成与反向工程**:能够自动生成源代码,减少手动编程的工作量,同时也能从现有代码中提取模型,便于理解和维护。 3. **模型驱动架构(MDA)**:支持MDA标准,允许开发者以平台独立模型(PIM)工作,然后...
8. **逆向工程与向前工程**: Rational Rose 2003具备从现有代码反向生成模型(逆向工程)以及从模型生成代码(向前工程)的功能,使得模型与代码之间可以进行双向同步。 9. **集成开发环境**: Rational Rose 2003...
Rational Rose不仅允许用户创建和编辑UML模型,还能够生成代码,将模型直接转换为实际的编程语言,如Java、C++等,极大地提高了开发效率和代码质量。 **1. UML基础知识** - **用例图(Use Case Diagram)**:描述...
4. Rational Rose的使用技巧:学习如何高效使用Rational Rose进行建模,包括如何创建和管理项目,绘制不同类型的UML图,以及如何利用其代码生成和反向工程功能。此外,了解Rose的模板和插件可以进一步提升建模效率。...