Impressions on UML tools Introduction My M.Sc. Project was with the Core Development Group of the Electrical Division of Caradon plc. The main task was to write and deliver a two-day seminar to the group companies that included introducing the UML with its benefits and how to apply the key elements of the language. From the UML tools on the market, I was required to prepare a short list for further consideration (leading into a more detailed study later). Another requirement was to review and recommend UML books for those Caradon engineers wanting to take UML further. Finally, I had to publish my findings on a web site hosted by the CDG for the group companies. Here, my first impressions for the tools on the short list are presented - NOT in order of preference. COOL:Jex This tool provides the best coverage of the UML notation that I have seen. Unfortunately, it is not easy and intuitive to use and the reason is probably that it provides the same interface for many platforms. Having the Windows platform in mind, I would have liked a more 'windowsy' feel to it. Having said that, it offers very thorough cross-diagram checking facilities, a central repository and better than average code-generation. However, my view remains that it is not user friendly. It is not only that it is not straightforward to operate or that for each diagram it throws a different window (resulting in windows all over the screen) but also that in order to use the tool effectively one must go through a lot of configuration and customisation processes that require advanced technical knowledge. To finish on a positive note, this is one of the few tools that actually support a process (i.e. analysis, design, and implementation) and allows the user to assign diagrams to different phases. It is claimed that the process can be customised to suit the company's activities through the life-cycle but - again - this is not straightforward to accomplish. SA2001 When running SystemArchitect for the first time I was overwhelmed by the amount of diagrams this tool supports. It is not just all the UML diagrams that are supported but also ERDs, Yourdon, SSADM, Ward-Mellor and very many others. Since my interest was limited to UML, I did not explore the other diagrams. It was evident that the percentage of the UML notation covered in the diagrams was not one of the highest; only the basic elements were available. However, when trying to create diagrams the tool proved very irritating and this can only be understood by someone if they try to use it themselves (I suggest trying to reposition an association between 2 classes). In addition, the diagram checking could be improved e.g. when deleting two classes from a diagram the association between them should be removed too! The nice feature is the global dictionary. I was familiar with the idea from when designing with Yourdon, but UML does not prescribe anything similar; still I could see how I could make use of a global dictionary of terms. Select Enterprise Yet another tool with a user interface leaving a lot to be desired. Although I preferred Select's interface to the previous two, there is a lot of room for improvement. Being the only tool here not supporting all UML diagrams, it left me unimpressed. Having said that, it provides support for additional diagrams and does support a Component Based Development approach to development. The notation it covered deviates from the UML standard, but one can still express everything needed. The tool left me with the impression that, if one followed its own 'attitude' to development, one could use it efficiently with very good results. Personally, I am looking for a tool to fit an existing way of doing things and not introduce a new one. Concluding on Select, its code generation is average. Rose Easily one qualifies this tool as the one with the easiest to use and most intuitive user interface of all. If one can use Microsoft's Explorer & Word, then they can straightforwardly use this. It covers all UML diagrams and in true UML fashion, allows the user to allocate diagrams to views. That is to one of the four views out of the five: the process view is not supported. Here is where Rose makes me unhappy. All support for real time development (active classes, the extensibility constructs on interaction diagrams etc) is provided in another version of the tool for RealTime. Even for the state diagrams, the support stops at the diagrammatic level. This to me seems unfair because its price tag definitely does not suggest such omissions. Another area lacking support is the documentation for use cases and again one needs a separate tool to get that support. Nevertheless, its tight integration with MS Studio, Rational's new agreement with IBM and the fact that the 'three amigos' work for Rational contribute to this tool being the industry leader. Together Together is unique in that forward engineering is very real and instantaneous. There is no intermediate action to see the code; it happens as the diagram/model elements are updated and is fully visible in a pane below the diagram pane. The tool is very easy to use, the notation coverage is better than average and really I have nothing bad to say about it. Maybe it could be cheaper since it does not offer the range of functionality that the other tools offer (this is the functionality that was not of importance to me however). For 1-2 person teams, developing in Java small to medium stand-alone applications I would undoubtedly suggest this tool. StP/UML Very-very weird window layout. Notation deviates from the standard. Completely different approach to using a tool (compared with all the rest). Aonix does provide some very nice UML posters, though. Artisan Aimed for real time systems development. Same UI as Select Enterprise. Claims animation and full code generation. Rhapsody Aimed for real time systems development. i-Logix has Bruce Powell Douglass (author of the only 2 books on UML for real time). Full code generation, model animation.