UML Design Tool Evaluation
Feb. 9, 2000
The APT team chose the Unified Markup Language UML for describing the architecture and usage of its 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 evaluations goal.
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:
- prior knowledge, reducing learning curve
- full diagram support
- multi-developer support
- good interface
- excellent output
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 Mainsofts 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.
We also liked Together J. Its 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. Its similarly priced with similar performance.
Argo/UML is a free open source product from UC Irvine. Its 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 provides is inexpensive and only works on class diagrams. It worked well enough, providing round trip engineering, but its limited to class diagrams.
Magic Draw is another inexpensive UML Tool. Its a Java application and runs on most platforms. It can read and write Rose files which could make it a telecommuting companion for Rose.
We found Object Domain to be a bit difficult to use. Its interface wasnt as easy to learn as Rose.