Site Map  Search

OOA Home OOD content UML Corrections book Code object Exercise Solutions oriented Resources tutorial Miscellany textbook


I thought long and hard about the format in which to present the various diagrams from the book and the other resources on this site.

I have used various CASE tools over the years; CASE tools such as Together, Rose, Paradigm, Teamwork and Software through Pictures.

Should I present the diagrams that I need to make available in a CASE tool? If so, which one? Simple drawing tools, such as one finds in powerpoint-like packages have never been any good for software engineering diagrams; apart from the paucity of content, the lines, of course, don't stay attached to the blobs.

The Visio drawing package, however, does handle graphs (node and arc diagrams) reasonably adequately. It has been around long enough that one doesn't worry too much that it will disappear. And there are plenty of templates and stencils available to aid one in drawing UML diagrams. However, I have to say that I gave up using Visio for my course note diagrams some time ago. It seemed as though each new release of Visio gave enough backward-compatibility problems that I was effectively unable to edit diagrams from more than, say, 6 months ago. Perhaps since Microsoft have purchased Visio, backward compatibility has improved. I don't know. Most of my problems were Visio 4 to Visio 5 and Visio 5 to Visio 2000 (we're now up to Visio 2003).

In the end I decided that more people would have access to Visio, say as part of a Microsoft Office packaging, than would have access to any particular CASE tool. So I decided to use Visio (Visio 2002 to be precise). The UML 2 templates and stencils I used are those of Pavel Hruby ( They are free, widely used and widely liked, and are available for every version of Visio I have ever heard of.

So, I'm neither endorsing nor recommending Visio, indeed many people seem to prefer SmartDraw. (At the time of writing, however, SmartDraw isn't free- or share-ware, nor does it seem to be available in a free entry edition.) A final thought was that was one was more likely to find that one's perferred tool had a Visio import facility than to find the reverse.

At the moment the Visio files (.vsd files) seem to contain the tempates and stencils. This might be what's making the files a bit large. My Visio knowledge is only just getting back up to speed, but there's probably away to omit the stencils, etc., making the files smaller, but meaning that you'll need to pick up the stencils mentioned above yourself, if you want to do any significant editing. I'll make a note in the change log if that becomes the case.

In the book I fussed about finding a typeface for multiplicities where the * wasn't so much an asterisk as a star. In these Visio diagrams I've left the typeface as the stencil's default (Arial). However, if you're as picky as me about such things, note that Pavel's stencils seem to use text styles properly, so you should be able to change typeface fairly easily.

It's not easy to find everything in Pavel's stencils. I think there are one or two early diagrams where I couldn't find the state machine entry and exit points, and did some home-grown ones. They are there in the stencil, though. As with many symbols, you choose and then alter with a right-click|properties. Entry and exit points are grouped in pseudo-states (which is fairly obvious - don't know why I couldn't see them). I still haven't found a way to add tabs to boxes though; they're still home-grown.

[UPDATE: The file serving functionality of the original website server has long gone I'm afraid. And the Visio files are probably beyond anyone's ability to read them any more. (There were almost no downloads, anyway!) If you desparately need these diagrams, email me.





Change log (ISO date format -- yyyy-mm-dd)

2005-05-31: First diagrams made available

2005-06-01: ALICE structure diagram added

2005-06-07: More ALICE diagrams added (and dates corrected)

2005-06-08: ALICE generalization diagrams added

2005-06-10: ALICE state machine diagram added

  ALICE sequence diagrams added
  POLLY sequence diagram added