Return to Home Page
      Blog     Consulting     Seminars     Calendar     Books     CD-ROMS     Newsletter     About     FAQ      Search
 

9-12-03 UML Tool Survey

Here are the results from my survey request for UML diagramming tools in the previous newsletter. Thanks to everyone who responded.

I need this tool to use in books, in particular Thinking in Patterns, which I plan to be my next major book project. So I'm looking for the ability to rapidly create nice-looking UML diagrams that can easily be incorporated into a Word document (as WMF files). In addition, I need to be able to easily hide private, protected, and package-access members, as these are often nonessential to the diagrams.

If there's not much information about a product, that means no one has tried it yet.

I've kept getting additions to this list since this article was first posted. What we really need now is for someone with a little time on their hands to do a comparative evaluation of all the different tools, even if it's just to build a checklist grid to compare features. I'll cross my fingers that such a person or persons are out there.


  • Choosing a UML Modeling Tool

    An article on the Objects By Design web site, describing criteria to use when evaluating a UML modeling tool.


  • A Tool for Choosing UML Tools

    From Gentleware AG, at http://www.umlderby.org. They say: "The tool is community based and helps to find and evaluate UML tools."


  • Boson

    (Added 9/21/04) Boson Formerly MDes, JDes.

    Inexpensive (29$), performs reverse engineering of Java diagrams. Produces JPGs, SVGs and HTML Pages.


  • UMLet

    (Added 8/13/04) UMLet is free, written in Java so it's cross-platform, and has a brilliantly simple and intuitive user interface. So far I've just gotten a quick demo from an attendee in the "Designing Objects & Systems" seminar, but what I saw I immediately liked and understood.

    Exports diagrams as JPG, SVG, PDF and EPS. Includes source code.


  • Enterprise Architect

    Note: Only runs on Windows

    A single-license desktop edition is 95$, although this doesn't allow code importing (that's in the $149 Professional edition). Full information and 30-day demo download at http://www.sparxsystems.com.au.

    The Professional and Corporate versions support forward and reverse engineering of: Java, C++, C#, Visual Basic, VB.Net, Delphi and PHP, and forward generation of XML Schemas. Forward generation of code uses customizable code generation templates and allows creation of additional languages for forward generation only.

    A reader wrote: "Enterprise Architect is a UML diagramming tool that also incorporates forward/reverse engineering of source code into (and out of) models. It is an extremely capable modeler, and has a very attractive price tag ($180 for the corporate edition, which includes secure storage of models into SQL Server (or even MySQL!)). It is probably one of the most active closed source applications in existence, with updates coming out every 2 to 3 weeks. The lead developer (Geoffrey Sparks) is extremely responsive to requests and/or suggestions... several of mine have gone into the application almost overnight."

    When you generate RTF documentation from within EA, you have the choice of setting the image type to:

    • EMF
    • WMF
    • GIF
    • JPG
    • PNG
    • Bitmap

    (The reader comments) "... you can create incredible documentation of your project with EA. It'll output all of your diagrams to HTML with embedded images that are linked. These web pages will also include notes/comments that you add to your classes or sequence diagrams or whatever, and it really does turn out very nice. They have a 30 day trial download."

    I contacted Geoffrey Sparks with a question and he did indeed respond quickly:

    "EA supports both .EMF (Enhanced Metafile) and .WMF (Windows placeable metafile) formats. If you right click on a diagram there is a Save Diagram Image to File option - under the list of output formats, .EMF and .WMF are supported.

    "It is also possible to create a 'Diagrams Only' report for your model (right click on package in tree). This gives you the possibility of saving out all your diagrams in one action - in .EMF or .WMF format amongst others."

    In a separate message, Sparks answered questions about hiding class members:

    "You can hide members based on scope in two ways:

    "1. At the diagram level by opening the diagram properties dialog and clearing the check boxes under "Visible Class Members" on the right side of the dialog.

    "2. For one or more elements selected in a diagram, use the main menu Element/Set Feature Visibility function. This allows finer control of individual elements.

    "There is currently no global setting - although under the Tools/Options menu item - in the Diagram page of the options dialog - you can configure new Diagrams to hide Public Private and/or Protected by default. Note this only applies to new diagrams - not globally to ones already defined."

    There are also pre-created 'Gang of Four' Design Patterns available for free download from a third party.

    Thus, it appears that this tool may solve my problems, and at a reasonable price. At least, it seems that it will be worth giving it the 30-day free trial.

    My associate Jeremy also made some positive noises about EA.


  • SmartDraw

    Note: Only runs on Windows.

    Available from their web site in 3 versions: Standard for $69, Professional for $129 (includes one symbol collection, which you'll need to use for UML drawings), and Professional plus for $198 (includes all symbol collections).

    This looks nice, although I haven't tried the free demo yet, but it basically seems to be an attempt to make a better Visio. There's no indication of the reverse engineering that Enterprise Architect has, nor any special intelligence about the diagrams (such as EA's ability to hide fields). But it appears to be a nice general-purpose drawing tool.

    The site includes a lot of nice tutorials, and it appears that you can try demos of just about everything. If you're just doing a lot of general drawings (including circuit schematics, something I was into oh so long ago, see my Computer Interfacing with Pascal & C book), then this might be a good solution.


  • Poseidon

    Available from Gentleware.

    Written in Java. Several versions are available, including a new one targeting embedded environments. The "community version" is free, but only the payware versions support WMF output. There is a beta of version 2.0 now available.

    I tried this a couple of months ago, and the Poseidon Community Edition produced a null pointer exception when I tried to run it under Windows 2000, so I wasn't too impressed. Maybe it's fixed now. I could only get ArgoUML (described later) to work.

    A reader from Italy reported:

    I used Poseidon UML (I have release 1.6 professional). The tool has not been chosen by myself (I'm a freelance consultant) but "recommended" by the company I'm working with.

    The pros are:

    1. Is Java so I can use it on Linux and windows
    2. Free version quite good (with base set of function) enough for basic tasks
    3. Good reverse engeneering tool
    4. Good java code production tool

    But there are several cons:

    1. The GUI is very slow (my PC is very powerful): probably it would need some JVM tuning (I didn't do this, worth trying)
    2. Produce only java code (at least natively)
    3. The rel 1.6 has not UNDO/REDO function
    4. Documentation is very poor
    5. The relation between the different type of UML diagram is not intuitive
    6. The layout of the object and the zoom system is not the best I have seen

    Gentleware has released a new version. They said they improve a lot the product. Frankly I didn't test it.

    Another reader reported:

    I use Poseidon. It is built on top of the open source ArgoUml, but has better "userland tools". They have a free communty edition... I would recommend trying their latest beta.

    If someone else is paying (like my clients) I use Together.

    And another:

    I've been using Poseidon (Community Edition) since May (when I couldn't afford to renew my Rational Rose license !-). I'm am in general satisfied. I do much more process analysis (Use-Cases, Activity Diagrams etc) than Class Diagrams, but in reference to your point about "published versions", from the Poseidon Help: "you can hide private member attributes and operations by checking the appropriate checkbox in the [Edit Settings]-[Diagram Display]" options.

    As a Community Edition - No Fee License, Poseidon comes recommended!

    And another:

    I've also tried Gentleware's Poseidon for UML. I really liked the feature set, simplicity, and that it is written in Java (again so we don't have to have different programs for Winders and Linux). However, the larger my drawings became the slower the program ran. I suspect they just need to send some time with a profiler and this program will be another excellent alternative to Rose.

    And another:

    I like to use Open Source whenever it's possible and I've been pretty happy with Poseidon for UML Community edition from GentleWare. Of course there are other additions available for a price but for me they're overkill. It's definitely worth a look and try.


  • ArgoUML

    This one's a little confusing, since Poseidon (mentioned above) is "Built on top of" ArgoUML. See http://www.argouml.org

    Private elements cannot be hidden, and it does not produce WMF output for the diagrams.

    alexb, one of the ArgoUML contributors, wrote:

    "I am a developer at ArgoUML and I thought it might be useful to try to clear the confusion surrounding ArgoUML.

    "ArgoUML no longer forms the base of Poseidon because we have evolved over the three years since the two projects split. Both projects have made improvements since then. ArgoUML tends to focus on its core features since we do not enjoy the same level of resources. The development side of ArgoUML has been focused in the last year on bug fixing (about 550 fixed) and since the last release in August we have fixed over 100 more. The project has some extremely talented contributors in various disciplines (Project management, requirements analysis, development, localisation...) each with plenty of experience. Activity is up on previous years, 20% more cvs and bug fix activity on last year and about 300% more cvs activity than 2 years ago.

    "In terms of the actual UML support that ArgoUML provides, it varies from one feature to the next. Currently sequence diagrams are disabled and a new implementation is nearly finished. We provide reverse engineering and code generation in a couple of languages including Java. The original focus of ArgoUML was its 'cognitive' support whereby the tool critiques the user's design. The user can also create 'To do' items to remind him/herself of future tasks.

    "Our last release was 0.14.1 and was made in August of this year.

    "I hope that clears the confusion about ArgoUML! If you have any other questions then please don't hesitate to ask."

    One reader writes:

    "I got involved with ArgoUML while learning both Java and UML. As I gained experience I began donating code back to the project.

    "The thing that makes ArgoUML unique (apart from Poseiden, a commercial extension of ArgoUML) is the critic's mechanism that generate critiques against your design and wizards to automatically correct.

    "As an open-source project we are also obviously open to change with user requirements. You want to hide private members? Add a request to our issues database. Send us a patch and you get it even quicker."


  • Dia

    Available here.

    A reader wrote:

    "... which in my opinion is a very easy (no case complications), crossplatform tool, and it is opensource. I think that tools that pretend to be too smart are not useful. Human intelligence is (yet) better."


  • Gaphor

    Available here. Only runs under Gnome.

    No comments on this tool at this time.


  • Visio

    A reader writes:

    "At work (Sshhhh - don't tell anyone) we're a Microsoft shop and we're into .NET. So of course we all have MSDN Universal Subscription and part of that is Visio (.NET 2003). It's a very, very nice product but then I think that in general Microsoft makes super cool developer tools. I attended VSLive last month in NY and heard that MS is spending $7.5 billon on R&D for tools - nice piece of change. But with all the cool tools they still will not be able to undo the OpenSource/Linux/Java paradigm and Java on any platform is just too cool."

    I've had decent luck with Visio myself, except for the version that came out right after MS bought the company. But it's nice to have something that is designed around UML so you don't have to go to the extra work required by a general-purpose tool.


  • Object Domain

    "I'd like to recommend Object Domain.

    "Not free at all, but very interesting since it's a 100% Java application. As such a living proof that Java Swing is since long not a toy.

    "A very powerful feature is its macro capability, using Jython".


  • UMLStudio

    A reader writes: "Awhile ago I was required to do some UML modeling for the OOP course in the university and Rational Rose was recommended for that purpose. I couldn't afford to download around 200MB so I looked for something else. After lots of searching and trying I found this nifty program - UMLStudio. I recommended it to others in that course and it became very popular. I remember one dude who was previously getting an headache with Rational Rose mention that he wouldn't recommend Rose even to his biggest enemy."


  • Visual Paradigm for UML

    Available in different versions Community: free, Standard: USD 299, Professional: USD 699, here.

    Reader writes: "I can't comment on it since I just downloaded and installed it, but it looks interesting to me as it integrates with JBuilder and Eclipse and even offers an importing facility for Rational Rose, Together and XMI. Moreover, it runs on Windows and Linux, resp. on a Java-enabled platform."


  • Rational Rose

    One reader writes:

    "Obviously, I am not a big fan of Rational Rose. I have had the opportunity to use it at a number of shops. While I can be productive with the tool and get diagrams out the door, it is not a very friendly tool. I would not recommend Rose to someone getting started in UML. It adds such a degree of difficulty that the average developer often blames UML."


  • Umbrello

    "I've recently downloaded and installed Umbrello. I haven't really had a chance to use it for anything substantial yet. But after trying it out for a couple hours, it appears to be very promising. It has a very simple interface and seems to have all the required features."


  • Together

    "The tool I've liked working with most is Together. It's more a developing environement than just a diagramming tool. I've developed java programs with it and I've used it to look at reverse engeneerd C++ class diagrams. The class diagram updates as you write code and the code is updated as you make changes in the class diagram. Too bad it doesn't integrate well with Visual Studio."


  • Low-tech

    "For UML, whiteboard or A4 coiled notebook lately. I'm thinking about getting an A3-sized dry erase board that I can just carry around as well."


  • Jude

    "I confess that I usually end up reverting back to Visio for most of my diagramming needs, but I had good success with the free Jude UML diagramming tool. I was never able to determine its license status but it is free to download without any obvious (or even subtle) license restrictions."


  • ARIS

    "We have experience with Visio for UML diagramming. We are relatively happy with it. We are trying to tie this in with other diagrams we build for our projects and we are looking to do this with IDS Scheer's ARIS modeling tools. These do not come cheap, but their diagramming tools are very comprehensive. Lots of checks and balances. See http://www.ids-scheer.com for more details.

    "Just as some background ... I work for an Engineering, Procurement and Construction firm, and we build large industrial complexes such as refineries and other manufacturing facilities. I am responsible for all ICT (information and communication technology). Hence we have a need for good modeling and physical level as well as at the logical level. We normally start of with a high level architectural diagram and zoom in from there as well as divert into logical (processes and application) and physical (hardware and connectivity) diagrams.

    "Our need is in making sure that we have natural linkages between diagrams and levels of detail, so that we know where we need to make changes, once changes occur at a certain level. Visio is not a lot of help in that area, but ARIS is.

    "We just started using ARIS for UML modeling."


  • MagicDraw

    One reader writes:

    "I have been using Magic Draw. It's written in Java so we can use the same program on Winders and Linux at the office. It has a really simple interface and is easy to get started. We have a number of developers that are not UML savvy and it would have been unreasonable to expect them to use something like Rational Rose. I believe tools like this should be simple to "aid" the developer not consume them for hours and hours trying to make even the most simple UML diagrams."

    Another reader writes:

    "In earlier times (nearly 10 years...) I have used (with changing success) Cayenne tools (they had bought Cadre with "Teamwork", for big projects; later they where bought from CA) or "Together++" (from Peter Coads company, which was sold recently, too). I will concentrate upon the tool which we are actually using today.

    "In the last years we are using Magic Draw from NoMagic (founded in Lithuania). They are selling in the states, too (office in Ca, I believe). They - like others - have a Java-based product. This makes the GUI somewhat lame in many cases. Without doubt this will be less of a problem, when the machines get faster still. Mine runs with just 600 MHz.

    "We are using it since rev 3.5 (2000). Main selling point was the low price for a good basic version ($250). We needed at foremost its doc capabilities with its 100% integration of all UML submodels. Then we needed its ability to generate XMI, which we read and transformed to generate special ddl and plsql for our Oracle based BusinessObjects (own invention); we have developed a quite complex metamodel, which uses some OO metamodel-information in the XMI file in our Oracle application ("Impress Engine", an integration product).

    "We don't use code generation or direct ddl generation, because the former opens a can of worms in ANY product on the market and the letter capabilities are way too limited also in any product. Also, we don't use interactive model-sharing. This is a VERY complex area, which many CAD-developers know since 20 years.

    "Same is true for complex forward/reverse engineering, be it code or ddl. At ..., we had solutions for 98% of all cases, but the remaining few % drove us (and unfortunately our customers) up the wall. It was the best product on the market, but it wasn't good enough. BEA had a similar product (to enable n:m ddl generation from/to class-table and attribute-column mapping), but they sold it and I don't know who has it now or how good it is. In any case, I believe, you might be better off by writing your own mapping code... With the help of stereotypes and tagging, you can control a lot and achieve good results. The ddl is then uploaded to (imported by) the Oracle Designer and merged into the existing model, which contains many other ddl-information from other (mainly non-OO) sources already.."


  • CodeLogic

    There were no user reports about this product, but it looks intriguing.

    From Logic Explorers, $295 for a single-user floating license, with a free trial download. Thier blurb says "Sequence, Class, Flow UML diagrams autogenerated right from your Java source code," so it appears to be specific to Java, and intended to produce diagrams after coding rather than before (which could be especially useful for "back documenting" an XP project to satisfy non-XP requirements, or for investigating existing bodies of code).


  • Omondo

    Here's a tool that works inside of Eclipse. No feedback from users as yet: www.omondo.com


  • Micro Gold

    One I came across myself; no feedback yet. www.microgold.com


  • Omnigraffle (Mac OSX only)

    A clone of Visio, available here.


  • Embarcadero Technologies

    Apparently this company acquired GDPro. They seem to have a suite of design tools, but you have to ask how much they cost; the prices are not published which makes me think they're going to be astronomical. www.gdpro.com


  • SMW (System Modeling Workbench)

    Freely available, has PNG export and is written in Python.


  • A Paper about UML Graphs

    "There's a paper in the Journal of Graph Algorithms and Applications (Volume 6, no. 3, published online) called Graph Layout Aesthetics in UML Diagrams: User Preferences by Helen Purchase, Jo-Anne Allder and David Carrington, that you might be interested in. While it doesn't talk about specific tools, it does talk about what people are looking for in their UML diagrams."


  • One reader's essay on several tools

    "I've used Rational Rose, GDPro and TogetherSoft. All of them were buggy so save often and watch out (or hold on to your source code!).

    "Rational Rose was the most accepted across all the many developers that I interfaced with -- however, it was the least intuitive and a bit clunky. It seems to be the standard because everyone else likes to interface with it.

    "GDPro was easy to use and came bundled with the Gang of 4 patterns. It had a macro language to generate your own language code. If you use it locally you do not burn up the network license so you could use a couple of network licenses and get by with it. I found it to be the most intuitive and best buy for the group.

    "Both Together Soft and Rational Rose licensing restricted usage to the number of network copies in effect.

    "Together Soft's Control Center was the most buggy but on my last check of it (earlier this year) they really cleaned up their act. They are a bit more intuitive than Rational Rose. I love the way they support colors and "color by design" is one of my favorite ways design. They were recently acquired by Borland. Some of their drag 'n drop features are excellent!

    "Together Soft used to have a free White Board product but it seemed to have disappeared. They do have a good community board support for the product. I love their ideas for software process which almost mirrors extreme programming - - only without the paired programming. You can use Java to extend the UML.

    "The round-trip engineering on GDPro is what initially attracted me to them. TogetherSoft has done a good job of getting there too ... real round trip engineering.

    "I've seen some good public domain versions. I don't remember the title for the one we used on a Mac but it was sufficient for those who wanted a simpler tool. I noticed that someone created one as one of the wxWindow application samples. I will be checking that one out next since I'm teaching a class on wxDesigner and wxWindows this coming semester.

    "Check out the interest in the hardware design groups to get a tool that will be useable by both groups (INCOSE meetings and papers on the subject)."

  •     Links I Read
    Cafe Au Lait
    Artima
    Daily Python URL
    Martin Fowler
    Joel on Software
    Paul Graham
    Cringely
    Search     Home     Web Log     Articles     Calendar     Books     CD-ROMS     Seminars     Services     Newsletter     About     Contact     Site Feedback     Site Design     Server Maintenance     Powered by Zope
    ©2003 MindView, Inc.