rose幫助位于 HELP>>CONTENTS>>ROSE JAVA>>HOW TO >>FORWARD ENGINEER FROM ROSE TO JAVA SOURCE
下面是簡(jiǎn)單翻譯和圖文以及注意事項
步驟 : 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
當你嘗試把模型組件轉化成代碼框架時(shí)候,應該考慮到先檢查將要生成的類(lèi)有無(wú)語(yǔ)法錯誤。
1 打開(kāi)你要專(zhuān)化的目標diagram
2 選擇你要轉化的包或者類(lèi)
3.單擊 tools>java/j2ee> Syntax Check 來(lái)檢查目標代碼是否符合規范,比如命名錯誤。
4 察看rose log窗口(下方)察看檢驗結果,如果有錯誤,即errors那么生成的代碼很可能無(wú)法通
過(guò)編譯
5. Correct the components as needed.
5 根據需要校正這些組件或者圖
6重復 步驟3直到檢驗不出錯誤,然后你就可以進(jìn)入下一步了
2 Generating Java Source from a Component Diagram
假設以上步驟已經(jīng)搞定了error
7 選擇你要轉化的包或者類(lèi)
8單擊 Tools > Java/J2EE > Generate Code
一般來(lái)說(shuō)如果你還沒(méi)有將一個(gè)package或者組件映射到一個(gè)rose的classpath目錄中(就是指定生
成的東西放哪里),那么系統不會(huì )允許你在接下來(lái)的界面里點(diǎn)ok,那么現在就編輯目標路徑
9點(diǎn)classpath entries下的edit按鈕,再出現的界面右上角找new(insert)(刪除左邊那個(gè)),然后在列
表里新增的行里選擇目標路徑,你可以選擇目標是生成一個(gè)zip,jar,還是一個(gè)目錄,我們選擇
目錄。指定目錄,ok,那么你選擇的路徑就新建成功了,選擇這個(gè)路徑,點(diǎn)ok回到界面(層次
好多阿,界面很丑阿)
10現在你看到classpath entries里有東西了,選擇右側列表里你要轉換的包或者組件,點(diǎn)assign
,即分配給目標classpth,理論上你可以把選擇好的包組件或者類(lèi)圖分別分配個(gè)多個(gè)classptah
對象。點(diǎn)ok開(kāi)始生成
11成功后就可以到指定的classpath下看代碼了,生成的代碼之間擁有如類(lèi)圖所示的關(guān)系。
二 反向功能
rose幫助位于 HELP>>CONTENTS>>ROSE JAVA>>HOW TO >>REVERSE ENGINEER FROM JAVA SOURCE TO ROSE
反向工程就是通過(guò)java代碼生成或者更新一個(gè)模型的過(guò)程。你可以用ROSE對以下文件進(jìn)行反向
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.
打開(kāi)一個(gè)你剛創(chuàng )建或者想更新的模型
新建一個(gè)class diagram(如果你還不會(huì ),那么這篇文章就別看了)
2.單擊Tools > Java/J2EE > Reverse Engineer
那么現在大家可以想象一下rose會(huì )怎么做,剛才是選擇了圖,創(chuàng )建目標路徑,生成代碼,那么
現在是否指定路徑讀文件生成圖呢,you can say that again!!
在出現的界面上選擇一個(gè)classpath(如果已經(jīng)存在)當然,你也可以通過(guò)edit classpath按鈕新
建一個(gè)(新建路徑的界面剛才講過(guò)了,不再累贅),然后選擇這個(gè)classpath,更改下面的filter
下拉列表,更改目標文件類(lèi)型(注意不僅僅三行,可以滾動(dòng)的,對rose的界面真是垃圾這一點(diǎn)
又深有體會(huì )了),我們這里選擇.java,如果這個(gè)classptah下存在.java文件,那么就會(huì )被列出來(lái)
。
注意:你可以通過(guò) add添加選中的文件,也可以通過(guò)add all添加所有列出來(lái)的,更可以通過(guò)
add recursive 遞歸添加這個(gè)路徑下所有的文件和子目錄下所有文件等等??梢钥吹絩ose并不會(huì )自動(dòng)列出甚至顯示有沒(méi)有子目錄(無(wú)人性)
從添加好的文件里選擇你想反向的文件,點(diǎn)Reverse 開(kāi)始創(chuàng )建或者更新
無(wú)論成功還是失敗都會(huì )警告,并有log。有錯你就改到?jīng)]錯為止。
假設你成功了,點(diǎn)擊done結束反向,回到rose主界面。
注意:rose并不會(huì )針對你反向過(guò)來(lái)的類(lèi)和組件自動(dòng)生成圖,生成的class已經(jīng)按照包關(guān)系列在你的
class diagram下面,你需要把他們加到你的圖中去(靠,什么玩藝) ,你有兩種方法讓這個(gè)半自動(dòng)反向工程化上句號。
1手工把class或者組件拖拉到目的圖里
2在目標圖的界面下點(diǎn)擊 Query > Add Classes 或者 Query > Add Components ,選擇視圖方式
,一般是logic view,選擇要拖拉的類(lèi)或者組件,>>或者all,點(diǎn)ok完成。生成的類(lèi)圖即反映了代碼本身之間的關(guān)系。
ok.教程結束,因為沒(méi)有抓圖軟件,懶得拷屏幕,加之文字比較詳細,相信擁有寫(xiě)代碼能力和
自學(xué)能力的諸位看官理解沒(méi)問(wèn)題。作為一個(gè)SE,SA,必須掌握的工具,ROSE還有很多功能隱
藏在稀奇古怪的界面下,如果你不是一個(gè)RUP方法的頑固FANS,也沒(méi)有受到經(jīng)典學(xué)院派的‘
教導‘,或者干脆就是一個(gè)開(kāi)發(fā)人員,那么推薦大家還是快速的投入到together或者Poseidon的懷中吧。
聯(lián)系客服