How can I generate UML diagrams (especially sequence diagrams) from existing Java code?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
http://uml-plugins.blogspot.com/ this is where we can find differences between UML Modeling Tools, for a quick start !! In addition to those, I've noticed SequenceDiagram plugin for Intellij is also a good option, Please read that post to quickly get to know about free vs commercial & best options.
I developed a maven plugin that can both, be run from CLI as a plugin goal, or import as dependency and programmatically use the parser,
@see Main#main()
to get the idea on how.It renders PlantUML src code of desired packages recursively that you can edit manually if needed (hopefully you won't). Then, by pasting the code in the plantUML page, or by downloading plant's jar you can render the UML diagram as a png image.
Check it out here https://github.com/juanmf/Java2PlantUML
Example output diagram:
Any contribution is more than welcome. It has a set of filters that customize output but I didn't expose these yet in the plugin CLI params.
It's important to note that it's not limited to your *.java files, it can render UML diagrams src from you maven dependencies as well. This is very handy to understand libraries you depend on. It actually inspects compiled classes with reflection so no source needed
Be the 1st to star it at GitHub :P
I would recommend EclipseUML from Omondo for general usage, although I did experience some problems a few months back, with my web projects. They had a free edition at one point in time, but that is supposedly no longer promoted.
If you are really keen on reverse engineering sequence diagrams from source code, I would recommend jTracert.
As far as Eclipse projects themselves are concerned, the Eclipse UML2 Tools project might support reverse engineering, although I've have never seen its use in practice.
The MoDisco (Model Discovery) project Eclipse GMT project seems to be clearer in achieving your objective. The list of technology specific tools would be a good place to start with.
You could also give the netbeans UML modeller a try. I have used it to generate javacode that I used in my eclipse projects. You can even import eclipse projects in netbeans and keep the eclipse settings synced with the netbeans project settings.
I tried several UML modellers for eclipse and wasn't satisfied with them. They were either unstable, complicated or just plain ugly. ;-)
ObjectAid UML Explorer
Is what I used. It is easily installed from the repository:
And produces quite nice UML diagrams:
Description from the website:
I suggest PlantUML. this tools is very usefull and easy to use. PlantUML have a plugin for Netbeans that you can create UML diagram from your java code.
you can install PlantUML plugin in the netbeans by this method:
Netbeans Menu -> Tools -> Plugin
Now select Available Plugins and then find PlantUML and install it.
For more information go to website: www.plantuml.com