primaryview.org Home Page

primaryview.org

Describing the User

UI Architecture

UI Patterns

UI Style

Workshops & Resources

UML

Use Case Diagrams

Sequence Diagrams

Class Diagrams

UML Tools

UMLTools

This discussion begins with some caveats. It is very costly to fully evaluate computer assisted software engineering (CASE) tools. These tools are used to model requirements and specifications and/or software designs to help in the construction of software systems. The high-end tools are extremely costly and this author has never had the opportunity to use them. This very short paper is based on personal experience including both commercial practice with a tool budget of anywhere up to $50,000(USD) to unfunded professional activities such as this site. While I have done extensive piloting of a handful of tools, many tools on the market today were ruled out on the basis of cost or features or simply because this author did not know of them.

Do not take this as a definitive evaluation or even a review of CASE tools. Instead, use it as a starting point for your own evaluation!

This paper will discuss three tools for UML modeling in requirements analysis and specification and user interface architecture and design work. The three alternatives span a range of cost from low-end to mid-end and vary in the number of modelers they will easily support. This author has no financial ties to any of the companies mentioned in this discussion. Note that the second alternative, MagicDraw, has been used to develop the models and diagrams used throughout this site.

The Simplest Alternative—Vector-Based Drawing Tools

One alternative whose cost varies from low-cost to mid-cost is to use a vector-based drawing tool, such as Adobe Illustrator, and draw all of your UML diagrams by hand. My own experience is with Visioexternal link and Illustratorexternal link. Both work just fine for creating diagrams. Illustrator provides much more control over how the vectors end up being rendered and in what format. For professional results in print or on the web this is the choice to make. Visio provides templates to support UML. If you can find an old version (say in the V4 series) at a good price, this is an excellent entry-level tool. The later versions of Visio are more costly and attempt to give you some of the features of a CASE tool but, in the end, deliver neither CASE tool functionality nor drawing tool simplicity. There are many other vector-based drawing tools, these are simply the ones this author has experience with.

Vector drawing applications are the tool of choice only if the production quality of the final images is the over-riding consideration or if you have no budget at all and you already own a vector-based drawing tool or you want to use one of the open software drawing applications. Why? Because drawing tools, though they are ultimately flexible, provide no help in organizing your model. Even the lowest price CASE tool should keep in one place all of the textual information associated with one model element. That way, if that model element is reused in a second diagram (this is very typical) your tool keeps track of all the common information. This is important in that you will eventually decide to change some aspect of the model element's description. When you do, you want that change to propagate through all references to that model element. If you are authoring scenarios with sequence diagrams you will have to use a text editor to author the narratives. The cost of manual model maintenance (among narrative scenarios and between them and various diagrams) will be enormous and is virtually guaranteed. This is because of the iterative nature of scenario writing. As you finish one pass through the scenarios you will discover many revisions to already written scenarios.

The Low-Cost Alternative—MagicDraw CASE Tool

MagicDrawexternal link provides full UML notational support (I have not yet found anything it won't do). This review is based on MagicDraw 4.51. It manages a true model representation which it stores as one large XML flat file. Model elements can be drawn on multiple diagrams carrying their content into these new contexts. Some model elements can be displayed with varying degree of detail depending on context. For example, class can be shown in different class diagrams with some, none, or all attributes or operations showing, depending on what each class diagram is attempting to convey. MagicDraw also has a reporting capability which appears to externalize the report creation as an XML file containing the options and an XSL file specifying the report construction. I hope to make use of this to create a custom report for generating software specifications which I'll report on in a paper in this section later this year. MagicDraw also provides multiple user support with this support mediated via flat file. I have not tested this capability.

The advantage of using MagicDraw or a tool like it is that your UML diagrams are easy to create and will be in standard UML notation. Since the tool maintains a single model across all of your diagrams, you accumulate a single description rather than a series of disconnected diagrams which you must manually update whenever a common element changes. If you author scenario content using sequence diagrams this model maintenance overhead is large and so is the labor savings afforded by a CASE tool.

The Mid-Cost Alternative—Software through Pictures (StP) CASE Tool

StP, produced by Aonixexternal link, is a solid mid-cost CASE tool with all of the features a larger modeling team will need. As of 12 months ago, StP provided nearly complete UML support (it is probably better now, I have not checked in the past year). It stores its model in a relational database and provides both a query language and a scripting language. The scripting language, utilizing C-like syntax, supports extensions to the generic UML metamodel and notation as well as custom reporting. The query language provides full access to the model and any extensions you make to it. A standard set of report scripts is also provided. Full multiuser support is based on locking individual diagrams and check-out of subsystems. It can sometimes be a temperamental system. Aonix is very good about getting you set up but expect to spend some funds on Aonix support, either contract or training.

The advantage of this tool is the robustness of a database-driven multiuser system. I have extensive experience customizing StP via scrips and queries. Once the scripting language and its labyrinthine inclusion hierarchy is learned it is very straightforward. Licensing can be floating or fixed so if you have a large group of modelers only some of which are working at any one time, it can be more economical. On the other hand, StP is, as has already been said, temperamental and requires proactive administration. It is also moderately costly (though no more than products like Rational Rose).

A Fourth Alternative—Open Software

I would like to report to you that open software provides a good fourth alternative. Unfortunately, the open software tools I've tested did not support fundamental features like attributed associations. Otherwise, the offerings I found seemed quite solid. I will keep my eye on these efforts and hopefully this report will in future be a bit rosier and offer a no-cost solution for low-budget and professional development projects.

Conclusions

The three alternatives presented here will support UML diagraming for HCI modeling. Vector-based drawing tools, though widely available and fairly easy to use, are mostly useful for the purposes of professional illustration. The other two alternatives are useful for software specification modeling. The low-cost alternative, MagicDraw, is best suited to single-modeler projects while the mid-cost alternative, StP, provides better multiple-modeler support. Both of these alternatives provide UML extension mechanisms that adequately support the HCI techniques in the Methods topic. This report will, as time permits, be updated to reflect the reporting capabilities of the low-end alternative and, with luck, suitable open-software tools.

If you have comments concerning UML tool support or this review, please email me, John Artim, via this website.

 

Last Modified February 2003

©2002, 2003 John M. Artim