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的使用等,希望对有需要的人有所帮助。