UML Design Tool Evaluation
Chris Burkhardt
Rob Douglas
Feb. 9, 2000


Purpose

The APT team chose the Unified Markup Language UML for describing the architecture and usage of it’s tools. Since UML prescribes exhaustive use of graphs and charts, we decided a tool would be more desirable than a simple drawing package.

Choosing a UML tool with a low learning curve is this evaluation’s goal.


Summary

When evaluating UML Tools, we looked at tools primarily for the Solaris OS that allow for group development of requirements. This is where individual developers work on their own version of the design model then merge their changes into the master document. We were less concerned with “round trip engineering” where the tool generates stub code for development then later reads developer modified code and updates charts accordingly.

Forerunners of tools are TogetherJ and Rational Rose 98i. Other tools evaluated included ARGO/UML, JVision, Magic Draw, Object Domain.

Rational Rose 98i is our choice for UML tool for the following reasons:



TOOLS

Rational Rose 98i
Originally, Rose was not really expected to be as good as it is. Comments from its experience with users at the institute were luke warm. A recurring comment was that it crashes frequently. Indeed, the version we first tried consistently crashed when adding a second class in a class diagram. After installing the current version, 98i. We had no crash problems.

Rose had the most elegant look and feel of the set tested. It is a MS Windows application converted to Unix most like with Mainsoft’s porting tools. It allows objects to be defined and viewed in multiple diagram. All UML diagrams are supported. Since Rob had prior experience with the Rose interface, he was able to quickly diagram the APT data model at a high level. I without any prior experience was ably to start drawing diagrams quickly. Printouts of the diagrams were easy to read.

While the Windows version of Rose is built for multiple developers using Clear Case or MS Source safe for version control, the Unix version must rely on external tools. This is not a problem since we can use CVS and Roses merging capability. The eval program we used had the merge function disabled, bet we were able to graphically compare differences between project files with the merge tool. This leads us to believe we can use Rose easily in a multiple developer environment.

In short, we feel Rational Rose 98i is a good choice for our development group.

TogetherJ
We also liked Together J. It’s a Java application, so it runs on most platforms, although I was unable to get it run on Linux. It provides a similar interface to Rose and all the UML diagrams. It’s similarly priced with similar performance.

Argo/UML
Argo/UML is a free open source product from UC Irvine. It’s 100% Java and runs on most platforms, even my Linux box. It has many of features but is not as refined as Rose. They do provide source code and the UML for Argo which is worth looking at for ideas.

JVision
JVision provides is inexpensive and only works on class diagrams. It worked well enough, providing round trip engineering, but it’s limited to class diagrams.

Magic Draw
Magic Draw is another inexpensive UML Tool. It’s a Java application and runs on most platforms. It can read and write Rose files which could make it a telecommuting companion for Rose.
Object Domain
We found Object Domain to be a bit difficult to use. It’s interface wasn’t as easy to learn as Rose.