Published: 24 Aug 2007
By: Granville Barnett

Review of the product: Altova UModel 2007 (http://altova.com/umodel).

Introduction

Great software design has always been essential for any software product. Finding the right tool to aide in the software design process is something that shouldn't be taken lightly.

Many of us have used the majority of software design software out there. These include (among others):

  • Rational Rose
  • Visual Paradigm
  • Microsoft Visio
  • MagicDraw UML

Some of the above products are great. Visio is by far a very popular solution to aiding design but it lacks a lot of functionality to create UML 2.0 diagrams quickly. Java based products like Visual Paradigm and MagicDraw offer a mass of functionality but memory footprint and speed is something that needs to be addressed. Rational Rose is a product that few have the chance to use. This is largely due to its cost - of course with this investment comes a great wealth of enterprise features.

A feasible alternative in UModel 2007?

UModel 2007 by Altova is a great little UML tool whose diagrams adhere to the UML 2.0 specification. It offers a wealth of functionality as well as a small memory footprint.

UModel supports all 13 UML 2.0 diagrams. These include:

  • Use Cases
  • Activity
  • Class
  • Object
  • Sequence
  • Communication
  • Timing
  • Interaction Overview
  • Composite Structure
  • Component
  • Package
  • State Machine
  • Deployment

Automated Tasks

There are two features supported by UModel 2007 with regards to automated tasks. These include code generation from one of the few supported diagram types and also reverse engineering based on source code files written in either C# or Java.

Code generation from diagrams

Some of you who have used applications like Rational Rose will be familiar with the powerful ability to generate skeleton code based upon various UML diagrams. UModel offers this functionality for a subset of the 13 supported diagrams. These include:

  • Class
  • Object
  • Component
  • Deployment

UModel supports code generation for C# and Java. C++ code generation is not supported by the product.

Reverse engineering

This is a feature that can be helpful when examining the relationships between several classes within a solution. It's a fairly high level view but it allows you to get up to speed quickly with the project. UModel 2007 does support reverse engineering.

Diagram overview

For the most part we will spend time using the designer to construct diagrams. In the following figures I provide a few examples of some of the diagram types.

Figure 1: Use Case

fig1.jpg

Figure 2: Class

Fig2.jpg

Figure 3: State Machine

Fig3.jpg

Drawbacks

There were a few things that got quite annoying after using the tool for a while. Often connectors between objects didn't align correctly. When using the auto layout features the application would generate a wacky representation of your diagram, which even in the simplest cases made your design hard to follow.

Everything was very manual; although it sounds very odd, it seemed that the application gave you 10% of the drawing aid that you required. Compared to tools like Visio, the graphical designer was very poor. I actually designed a fair few large diagrams in UModel. As soon as I broke what I would call a medium sized solution, things became immensely tedious.

When you print or save images of any of your diagrams, you get the logo Altova very visible on each image. I write this review using a licensed copy and on the image output you get the company name and url at the bottom, in a large font, as shown below.

Figure 4: Example image output

ClassDiagram1.png

Summary

Overall the support for the UML 2.0 diagram types is good. I couldn't help but feel that the actual graphical toolset was a little frail. It lacked the workflow that other tools like Visual Paradigm and Rational Rose. In many cases, creating simple diagrams is a fairly boring and tedious task.

On the face of it, UModel 2007 is a fairly cheap UML tool. However, after using it for a few days I can't say that it warrants the financial overhead. Sure Visual Paradigm and MagicDraw have a fairly large memory footprint but they offer very intuitive toolsets that allow you to design your application in a quick and stress less manor. What's more, both tools offer free community versions.

If you have a budget for a UML tool then I would strongly suggest investing in Visio 2003 or 2007. I found UModel 2007 to be extremely poor.

Continue reading and see our next or previous articles

About Granville Barnett

Sorry, no bio is available

This author has published 32 articles on DotNetSlackers. View other articles or the complete profile here.

You might also be interested in the following related blog posts


Developing for the web using VS 2010 and .NET 4 read more
What needed to be monitored to get better Governance read more
URL Routing with ASP.NET 4 Web Forms (VS 2010 and .NET 4.0 Series) read more
October's Toolbox Column Now Online read more
September's Toolbox Column Now Online read more
August's Toolbox Column Now Online read more
Pretty Code #1 Building SelectListItems read more
July's Toolbox Column Now Online read more
The ASP.NET MVC ActionController The controllerless action, or actionless controller read more
Going Controller-less in MVC: The Way Fowler Meant It To Be read more
Top
 
 
 

Please login to rate or to leave a comment.

Free Agile Project Management Tool from Telerik
TeamPulse Community Edition helps your team effectively capture requirements, manage project plans, assign and track work, and most importantly, be continually connected with each other.