Belgrade Brings UML Back to NetBeans IDE

The Open Source Development Center in Belgrade, Serbia, recently presented the current state of their work on UML tooling for NetBeans IDE.

Below you see Milan Djoric showing a pretty complex looking UML graph which he generated from a Java application. Indeed, reverse engineering of UML graphs is supported, as well as tools for creating UML graphs from scratch.

Together with Ilija Ivanovic, who also presented during the session above, as well as Stefan Petrovic, the team is doing great work. They've narrowed the scope to class diagrams, specifically. The tools they're creating let you create a new UML project, via a new UML project type, after which you can draw class diagrams, via items that can be dragged from the palette and dropped, and arranged on a Visual Library scene in a TopComponent. From the diagram, you can generate Java source files into an existing project in the IDE and regenerate them when the diagram changes. And, from the Java source files, you can generate/regenerate the diagram.

If your curiosity is combined with a sense of adventure, you can download and build the sources of these new tools here:

https://java.net/projects/nb-uml-plugin/sources/nb-umlplugin/show/branches/phase2

They're under heavy development. "Buyer" beware. I put the sources together, generated NBMs, and installed them into NetBeans IDE 8.0. Not a problem at all and then reverse engineered the class diagram below from the Anagram Game sample. Click to enlarge the image below. (I scrunched up the widgets a bit to make the screenshot. It looks a lot better when enlarged below, though the image above gives an even better picture of the graph at full scale.)

The team mentioned that they're using a solution via Jung that Tim Boudreau created and blogged about here for the arrangement of the widgets in the scene. In his presentation, Milan Djoric said that he learned an unexpectedly massive amount of things about areas he never knew about before, including compiler APIs and reflection APIs.

I would suggest the following usability changes be done before the plugin is released: move the satellite view into the Navigator, move the Explorer Window into the Navigator, and add the "Reverse Engineer" action to the right-click popup of projects (i.e., not only to the Source menu, where it is now). Also, Undo/Redo needs to be added and the Delete key should delete widgets, in addition to the right-click popup menu that already does this.

Great work, guys. Really excellent. Looking forward to the official release.

Comments:

Thanks for nice review and good usability tips!

Posted by Zoran Sevarac on June 18, 2014 at 11:32 AM PDT #

Neat. I still keep an installation of Netbeans 6.5.1 because that's the last version that had a working UML plugin. I guess I'll be able to uninstall that soon.

Posted by alex on June 19, 2014 at 08:19 AM PDT #

I'm looking forward for the first release!

Posted by Matthias on June 20, 2014 at 12:58 PM PDT #

Why was the original project discontinued in the first place? It is hard to find a good UML tool like this.

Posted by Donald on June 23, 2014 at 06:44 AM PDT #

I like that this module has become definitive and official in the IDE. The UML module is essential for the development of software today, and is lacking at Netbeans.

Posted by Toni Rocha on June 23, 2014 at 08:12 AM PDT #

Great to see there is a lot of progress being made on this project! Geertjan, do keep us posted :)

Posted by Ralph Benjamin Ruijs on June 23, 2014 at 08:54 AM PDT #

Wonderful! Thank you so much! This will breed new life to UML, and this is all good!

Posted by guest on June 23, 2014 at 10:32 AM PDT #

UML development was discontinued many years ago due to resources issues. The IDE functionality simply couldn't grow without limits. So, we are very happy that NetBeans community (Zoran's team) took UML over and more importantly that their effort is bringing first fruits. :) I already look forward to publishing this plugin on the NetBeans Update Center!

Posted by Jiří Kovalský on June 24, 2014 at 01:35 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.

Search

Archives
« March 2015
SunMonTueWedThuFriSat
4
14
15
16
22
27
28
29
30
31
    
       
Today