UML Plugin for Eclipse - Class Diagrams & Java Cod

2020-05-19 07:48发布

问题:

I am looking for a UML plugin for Eclipse. I know this questions has been asked several times, but most of them are a few years old. From what I read I would say that most people prefer eUML2, but this officially supports only Helios.

So far I am using argoUML, but the absence of an undo-button is really an usability nightmare, to say the least. Additionally I would prefer integration into Eclipse.

What I want is:

  • Free/Open-source
  • Actively developed tool (support for Indigo, planned support for Juno)
  • Hassle-free installation in Eclipse
  • Class diagrams
  • Generate Java code from diagrams
  • Update the class diagrams after implementation is done (round-trip)

What would be nice:

  • Other diagrams, where for me the most important are sequence and use case diagrams

If there are in fact no suitable Eclipse plugins, than I would be happy if you could point out other tools that are free/open source and linux-based and which workflow you are using to accomplish the aforementioned requirements.

回答1:

I'll definitely go with ObjectAid.

It supports drag and drop of classes and packages directly from your code in eclipse. No need to open another application for your modeling.

Model files (*.ucls) can be kept in a separate project in eclipse while you code/develop your Java codes in another project. All these can be done on a single eclipse session.

Just want to emphasize on the drag-n-drop. I simply love it!

I'm using Eclipse Juno.

I tried other modeling tools but didn't get what I wanted.

P.S. Creation of class diagrams is free, but needs an evaluation license for creating Sequence diagrams.



回答2:

For now I will go with either Green UML or UML Lab. Green UML fulfills all the points I asked for, except that I'm not a hundred percent sure it is very actively developed. But the last update is from November 2011. It only supports class diagrams, but that is ok for me. It can be found here.

Other than that I will try the academic version of UML Lab as it looks a bit more promising, though not being free is a draw back.



回答3:

Papyrus is probably the best choice. It is actively developed and is an industry backed project. It does not have code-generation capabilities by since the uml model is stored as an emf model you can use acceleo for code generation. Round trip (update of diagram after code update) is also not supported. But it does support many other UML diagrams.

I tried a number of open source tools, and actually found none that are good to use inside eclipse, so I am using Visual Paradigm for UML, community edition. Not free, does not do what you want, but for modeling purposes it is way above any eclipse plug-in.



回答4:

The best is Omondo EclipseUML for Java code generation because I can model but also hand code. I never loose my model because multiple iterations are possible opposite to other tools just working from model to code.

Accelero code generation is too complex and the code is not really good. It requires to fix it manually once generated. If more than one package then relations between packages are not generated. I would say that accelero is good for a single class diagram code generation but as soon as you have more than one diagram in a package or multiple package then it is better not to use this plugin.



回答5:

I was looking for UML Round Trip Engineering tool that supports reversing and drawing sequence Diagrams. Focus is on sequence diagrams as majority of tools can help with class diagrams, but not sequence diags.

Among the Free or cheap tools: I tried Papyrus, Modisco, Modelio, ObjectAid - first 3 are bit over complicated for some basic reversing, tend to ask too many question to locate source and libraries and all is bit clumsy, and they don't help much with sequence diagrams. ObjectAid works well even with the most recent eclipse (Luna). Sequence diagrams have cheap license. Sadly - none of them understands Spring annotations (e.g. @autowire).

Among big and expensive tools like EA, Sparx, Magic Draw, UML Lab (Yatta) - I like none, I find them too expensive for what they offer. Also, Complicated to reverse code (endless search source path problems). Magic and Modelio can't reverse and auto-generate sequence diagrams.

Alternative to these expensive tools is Altova UModel, it works as independent tool or eclipse plugin (I used it independently of eclipse, faster install, offers sync diagram with code function). It's the only tool that can open eclipse project extensions (doesn't ask about classpaths, however can't find maven libraries) and no support for Spring annotations. Java 7 is not officially supported but it works (minor exceptions with some rare generics). If they add: full java 7 support, spring support, open whole eclipse workspace and support pom/maven libraries, that would be the best round trip engineering tool around.

I ended up using ObjectAid, which is free/cheap and does things well (except spring autowire), lacks communication diagram which was great thing in Altova.

HTH someone...

PS: I use MyEclipse Pro sometimes, decent yearly price, it can do some things from above, you need to see trial version and if UML are suitable for business documentation (too many boxes/packages make diagrams confusing).