Product Reviews

UML Simplified

Modeling using the Unified Modeling Language was never as easy and inexpensive as it is with UModel.

Altova UModel 2007
Documentation 20%
Installation 20%
Feature Set 20%
Performance 20%
Management 20%
Overall Rating:

1: Virtually inoperable or nonexistent
5: Average, performs adequately
10: Exceptional

The area of Unified Modeling Language (UML) modeling has no middle ground. You can't "sort of" do modeling in application development. You either think, design, develop and maintain entirely from a modeling perspective, or you do little or nothing with modeling. Even if you're designing deployment environments and architecting an IT infrastructure, it's difficult to be selective about the UML features you use because they all work together. That in itself is a high barrier to entry in UML.

The other high barrier is complexity -- of both UML in general and the tools that implement it. UML 2.1, the latest version of the UML standard, has a total of 13 diagram types, and each diagram has a bevy of rules that have to be understood before serious use. You may not need to use all of the diagrams in any one project, but you have to know enough about each to determine if it contributes to your project.

In the past, tools automating UML and generating code from diagrams were highly complex, with a seemingly impenetrable user interface that reflected -- at least to some extent -- the underlying complexity in modeling. They also were (and, in many cases, still are) expensive, often costing several thousands of dollars a seat. Those who made the commitment to modeling often had to spend a significant chunk of money for software and training, and had to wait for years for that investment to pay off.

Figure 1
[Click on image for larger view.]
Figure 1. Altova UModel enables users to create Use Case diagrams that are easily understandable by all participants in an IT project.

Simplicity in Modeling
Altova brings both affordability and simplicity to UML modeling. It achieves simplicity in what is effectively a complex process by taking a step-by-step approach. Each step is logical, easy to understand and easy to carry out. The principal problem is that there are a great many steps in building a model, but that's not UModel's fault.

The user interface is as clean as it can be. Modeling is complex, but the UModel UI lets you take it step by step. If you start on a model, you can view the different model types in a tree diagram pane on the left-hand side of the screen. You can expand the tree diagram to get to the diagram you want to work on. The tree structure also lets you plan out the hierarchy of your diagrams as your design grows.

This is an important characteristic. Almost all designs are too big to be modeled "flat," without some sort of hierarchy, and UModel makes that hierarchy a natural way of working. Traversing the hierarchy is a simple matter of clicking on the appropriate diagram type at the appropriate level.

UModel also helps define the components that you assemble together into diagrams. For every element in a diagram, you have a set of properties that you can set in order to define that element in greater detail. For example, an actor in a Use Case diagram can have a fully qualified name based on its location in the diagram, be defined as public or private, and have a custom icon defined for it. Some of these definitions are, in fact, necessary in order to get the appropriate code generated for the element.

Of course, code generation is a feature in just about every UML modeling tool these days. UModel provides model-to-code and code-to-model capabilities for both C# and Java. While the product doesn't integrate into either Visual Studio or a Java IDE, opening the resulting C# file in Visual Studio and importing it into a project takes only a few seconds.

You work with libraries and other external references by adding them to the diagram tree as separate entities. This places those external references on the same conceptual level as the diagrams, rather than adding them as an afterthought or in an inconsistent manner. You can do a syntax check prior to code generation to make sure you have all of the references available. That makes building from an IDE (or even a command line, if that's your fancy) easy when the time comes.

Figure 2
[Click on image for larger view.]
Figure 2. Enterprise architects can create deployment architectures for IT projects, defining constraints within which those projects must work.

Virtually everyone -- from business analysts to developers to enterprise architects -- creates Use Cases. The UModel Use Case diagrams are very clean and easy to understand, with the hierarchical approach to creating those diagrams letting users build and share Use Cases easily.

For designing deployment architectures, UModel provides the necessary component and deployment diagrams for designing and implementing layouts and connections. Because of its relative simplicity, an enterprise architect can construct a deployment architecture and pass it on to application designers to understand the constraints of a system, and then to the developers to build to those constraints.

One selling point for UModel 2007 is that it supports all of the UML 2.1 diagrams -- a hefty 13 different diagrams. (Technically, it supports UML 2.1.1, but I couldn't figure out what the most recent version of the standard included.) The company claims to release new versions frequently, and can easily catch the latest features of the language. While those features may not be used right away, there's a certain amount of bragging rights that goes with keeping up with the standard.

Crisp and Clear Documentation
The documentation is among the best I've seen in a long time. It takes you through all of the features in a visual and easy-to-follow fashion, and even includes a tutorial to help get you started on your first UML model. The explanations for all the features are clear, combining words and pictures that illustrate the concepts. If you don't have thousands of dollars to spend on UML training, working through the UModel tutorials provides a sound way to get started. It won't provide the background on modeling or deliver the experience to model efficiently, but for someone who already knows the fundamentals of UML, there's no better way to get started.

UModel 2007 starts at $129 for a single-user license (volume discounts are available). Altova typically adds 25 percent for annual support and maintenance. There's no requirement to purchase it, but the company has been producing as many as two releases a year, so it may not be a bad investment.

There's at least one other comprehensive modeling tool in the low-priced category that I've used: Enterprise Architect from Sparx Systems Pty Ltd. Enterprise Architect has more features, such as extensibility and use in other modeling projects like Business Process Modeling (BPM), but it's comparatively more difficult to learn and use.

Perhaps the worst thing you can say about UModel is that it does UML well, but it does nothing else. If you want no-frills UML modeling and code generation in a package that's easy to learn, UModel is just about the only choice out there.

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.


comments powered by Disqus

Hot Resources

Subscribe on YouTube