標籤:
http://m.blog.csdn.net/blog/zxhcloth/23451849
[原]Eclipse EMT Papyrus建模和MoDisco反向工程
2014-4-11閱讀1195 評論0
我之前很少寫部落格,鑒於Eclipse EMT 建模中文資料比較少,很多同學想用它,確無從下手,寫個部落格做個簡單的指引。之前做建模一直都是用的PowerDesigner,但這個畢竟是商業版的,一直想從開源免費領域找到其的替代品。
經過各方分析,基本選定ArgoUml和Eclipse Modeling。
ArgoUml非常簡單,基本能滿足日常的需求,包括建模和反向工程,不想折騰的同學用它就夠了。但是它已經很久沒有更新了,對UML2.0沒有很好的支援(個人知識有限,可能不是很準確),所以還是想研究下Eclipse Modeling。ArgoUml官網:http://argouml.stage.tigris.org/
這篇文章是基於Eclipse 4.3.2-kepler的Eclipse Modeling Tools下載包(一個預裝了Modeling相關基本外掛程式的一個包),下載:http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/keplersr2,用Papyrus來做建模,用MoDisco來做反向工程。
一、Papyrus建模
1、安裝Papyrus外掛程式
單擊Install Modeling Components ,在快顯視窗中勾選Papyrus ,並下載更新。
2、建立Papyrus工程
File - New - Papyrus - Papyrus Project
Open Perspective : Papyrus ,在Model Explorer視圖裡會看到一個model,在其右鍵就可以建立各個Diagram了
3、UML To Java
Papyrus是支援UML產生Java或者C++代碼的,在model右鍵菜單裡有產生的選項。不過它這裡需要QVT的支援,如果沒有安裝QVT外掛程式的話,會報“No classes or packages produced from the transformation. Nothing is generated.”錯。
安裝QVT:同樣單擊Install Modeling Components,勾選“Operational QVT”下載安裝,安裝成功後再生產代碼就OK了
二、MoDisco反向工程
1、安裝MoDisco外掛程式,安裝方法同上。
2、建立一個Java 工程,並建立好測試用的包和相關類
3、在根目錄建立uml檔案夾
4、工程名“右鍵” Discovery - Discoverers - Discover KDM Code Model From Java Project...
彈出框中設定SERIALIZE_TARGET為true,完成,在根目錄會產生一個my-project_kdm.xmi,將其移入uml檔案夾中。
5、在uml檔案夾中建立Papyrus Model並命名和Java工程名一樣,這裡是my-project.di
6、選中my-project_kdm.xmi “右鍵”,Discovery - Discoverers - Discover UML model from KDM model...
彈出框中設定SERIALIZE_TARGET為true,完成,跟目錄會產生一個檔案my-project.uml,將其移入uml檔案夾,提示是否替換,yes。
7、切入Papyrus 遠景圖,在Model Explorer中看到root model,右鍵 - New Diagram - Create a new Class Diagram
將要建模的對象拖入Diagram中(這裡有點不是很方便,要一個個對象的拖入,包括方法、屬性、關係等,不拖就不顯示),就可以看到完整的模型了。
簡單的指引就到這了,剩下更複雜的使用大家就自己慢慢研究吧,如Acceleo的使用等,希望對有需要的人有所協助。
[原]Eclipse EMT Papyrus建模和MoDisco反向工程