A site devoted to discussing techniques that promote quality and ethical practices in software development.

Friday, April 27, 2012

In search of free UML tools

Ever since BoUML has gone commercial and that I have stupidly installed the upgrade, I have lost the use of a very capable UML tool. Hence I have to embark on a search of free UML tools that primarily run in Ubuntu. I am not particularly concerned if they do not work in Windows at all.

As part of my journey, I revisited my old friends, such as ArgoUML, Dia UML, UMLet. With the help of this Wikipedia page on UML and supplemented with my exploration of Ubuntu's Software Center, I have managed to find a few new ones.

Previously unknown to me are Umbrello UML, Software Idea Modeler, and Modelio, which has an open-source (free) version and a commercial edition.

Many of them are rather skimpy on UML treatments other than drawing the UML artefacts. A proper UML tool is more than just a pretty drawing tool. Dia and UMLet belong to the class that treat each drawing as separate unlinked diagram. In these tools, changing, for example, the class name in the class diagram does not automatically propagate to say the sequence diagram.

As a result, they represents some extremely lightweight UML tool; a shade better than a drawing tool.

Three areas that I am particularly interested in and they are:
  1. Class derivation with the derived class capable in the UML tool to select which base class operations it can override.
  2. Similarly when a class realizes an interface, the tool should offer an automatic means to implement all the interface's methods without one manually duplicating them.
  3. Component can indicate to have provided and/or required interfaces.
While they are not extremely demanding requirements and that they are just basic OO stuff, surprisingly out of the above list of free UML tools, only Modelio can meet my requirements. My investigation surprised me that they tool all have failed to incorporate the most basic OO requirement - derivation and interface implementation. The developers of these tools perhaps to preoccupied with the graphics and fail to focus on the OO modeling requirements.

If you know of how to perform the above 3 requirements in the above mentioned tools or that you have found more competent free UML tools, feel free to submit your comments and recommendations.

Blog Archive