Evaluation of OO Analysis and Design Tools

Date: Sat, 23 Jul 1994 00:42:59 GMT
From: craig@scot.demon.co.uk (Craig Cockburn)

Overview:

The tools:

General comments

Most of the tools researched are in the 300 - 500 range per user. The exceptions to this are Rational Rose/C++ (about 1,300) and Paradigm Plus (3,700+), OOTher ($170)

Some clarifying terms

Methodology
The study of methods (applies to more than one method). People often use "methodology" when they mean "method" (it sounds better!)
Method:
A way to go about doing the analysis, design and implementation. A method has two parts, the process and the notation. The notation can support the process. A good CASE tool should support analysis, design and some implementation (usually in C++). Many tools which claim to be method independent are only process independent. Only a very small number of tools are effectively notation independent by supporting a wide range of notations or allowing the user to customise their own. Here, I have categorised tools by the notation. The process can generally be left to the user.
Some CASE tools support reverse engineering - this can allow a 3rd party Class Library to be easily integrated into the model to show how the User Interface relates to the system

ShowCASE

Originating country: USA
Contact: Multiquest Corporation, 1699 East Woodfield Road, Suite A-1, Schaumburg, IL 60173 USA. Tel: (708) 240-5555 Fax: (708) 240-5556 E-Mail: 72531.2510@compuserve.com
Method notation supported: Booch
Multi-platform? : yes
Multi-user? : yes - shows who has a diagram "checked out" for changes.
C++ code generation: yes
Cost: $249 (node locked) $495 (floating license)
User Comments: None - appears to be new product. Current version 1.04
Personal Comments: Received free evaluation copy over the Internet. Really quite good and amazing value for money. Very good usability. Poor on-line help, however the full copy apparently has a good manual with lots of illustrations. Tool seems to scale up well and is quite fast - it's obviously a copy of Rational Rose but with a lower price tag and less functionality. The code generation is primitive at the moment and would involve considerable effort to tailor. Better code generation is promised before the 4th quarter of 1994. Only supports class and object diagrams- no support for module, state or process diagrams yet. Major planned releases will support all diagrams, reverse engineering and better help. Seems to link into existing class libraries although I couldn't get this to work. This could be a really good product by the end of the year and great value for money (assuming the price stays the same!). Has good undo facility. Generated code with unrecognised "Boolean" keyword in it. Will be a serious contender for Rational Rose/C++ once the planned functionality is implemented.

Software Through Pictures/OMTool

Originating country: US
Contact: Interactive Development Environments, 1 Stirling House, The Surrey Research Park, Guildford, Surrey, GU2 5RF Tel: 0483-579000 Fax: 0483-31272
Method notation supported: Rumbaugh
Multi-platform? : sort of. There is two different products from the same
company - OMTool for the PC and STP/OMTool for Unix. Multi-user? : yes
C++ code generation? : yes
Cost: $12,000 (!!!). PC version is in the usual price range.
User Comments: One user said it "met their requirements", another said it "SUCKS" and is "the most consistently horrible tool they have ever worked with" and "wouldn't buy it if it was only $12". I saw a demo of this tool over a year ago, and it looked really good in the hands of experts but haven't had a chance to try out the Unix version first hand.
Personal Comments: I have used OMTool for the PC for my MSc and found it poor. There was no on-line help, no support for multiple drives, and the system was obviously a poor port from Unix. I couldn't export diagrams from the tool to other applications either. Not very user friendly either. It used a non standard font which wasn't on my system and so it chose the next one in alphabetical order on the drive, which was completely unsuitable (this is a generic windows problem)

Paradigm Plus

Originating country: US
Contact: Admiral Software, Admiral House, 193-199 London Road, Camberley, Surrey, GU15 3JT. Tel: 0276 692269, FAX: 0276 677533
Method notation supported: all popular methods
Multi-platform? : yes
Multi-user? : yes
C++ code generation? : yes (includes reverse engineering)
Cost: approx. 3,700.
User Comments: recommended by Versant in Australia (but Admiral are the UK Versant distributor!). Another user said it was "OK" Personal Comments: Due to price, they have hardware protection for the product. Admiral only have a limited number of the hardware protection devices and were unable to get one back in time to send to me. Therefore, no evaluation of this product was possible. Promotional material makes the product look really good, difficult to tell what's it's like though without trying out the software. Too bad I couldn't do an evaluation, it looked really interesting. Might be difficult to justify that much on a CASE tool, even if it is great.

Select OMTOriginating country: UK
Contact: Select Software Tools Ltd, Idsall House, High Street, Prestbury, Cheltenham, Gloucestershire, England, GL52 3AY Tel: 0242 226553 FAX: 0242 251491
Method notation supported: Rumbaugh. Full support for three diagrams.
Multi-platform? : PC only
Multi-user? : yes
C++ code generation? : yes. Poor though - no support for separate header and .cpp files One user sent me a long list of drawbacks with a similar tool C++ designer - many of these problems seem to also apply to OMT. No support for protecting changes, and no reverse engineering.
Cost: 495 per PC . free technical support and upgrades for 90 days after purchase.
User Comments: One user was frustrated by the demo, although the problems they reported seem to be fixed now. The full version which I had on approval had an installation bug which was quickly fixed. Support seems to be good.
Personal Comments: Font very difficult to read - looks like it's been through a fax machine! Every modification made to the diagram is saved to disk after each change. There is no undo facility! Also, it automatically saves the diagrams to disk when you exit - even if you don't want the changes saved! The continual writing to disk could slow the application for a big diagram. Good on-line help, good 200 page user manual. No facility to automatically redraw the diagram if areas get too complex. I have doubts that this tool would scale well for a big application. Contains report generation. Interface to class dialogs is intuitive and quite easy to use, however product seems limited by diagram appearance, potential slowness and poor code generation. The problems of a poor font may be alleviated by a bigger monitor, but even scaling the diagram didn't help much. Has an interface to the Visual C++ IDE to allow you to edit your code and take advantage of the colour coded Visual C++ editor. When I tried to use this, it said the copy of Visual C++ was an unauthorised copy, which it obviously isn't. Has advanced data dictionary, but much of the advantage of this is made redundant through similar facilities in Visual C++. Includes some consistency checking in diagrams.

OEW

Originating country: Germany
Contact: Silicon River, 081 317 7777 or authors Innovative Software on 100272.515@compuserve.com
Method notation supported: Martin & Odell's
Multi-platform? : Yes
Multi-user? : Yes
C++ code generation? : yes, and reverse engineering
Cost: 1,000 per PC. Unlimited free support
User Comments: Didn't receive any user comments
Personal Comments: Got the demo version to crash. Real version has 430 pages of documentation. Program includes features to enhance C++ for use with various OO databases. Appears to support well integration with GUI class libraries Does look like a really good product, although it's quite different from the other products seen. It's a tool which greatly assists with C++ code design and management. It automatically places classes on the diagrams, the user has no control. The tool does not support dynamic and functional representations of a system - only the object and instance model is catered for. Couldn't get it to make the examples as it couldn't find make.pif

BOCS

Originating country: US
Contact: Berard Software Engineering, 902 Wind River Lane, Suite 203, Gaitherburg, Maryland 20878 Phone: (301) 417 9884, Fax: (301) 417 0021 Mail: info@bse.com
Method notation supported: none/all (method independent)
Multi-platform? : yes
Multi-user? : yes
C++ code generation? : yes
Cost: $595 per copy
User Comments: Didn't receive any
Personal Comments: Slow. One of those products where you click on something, wondered what happened, click a few more times and then eventually you get three of what you wanted! Can't read some of the text generated as it's too wide for the windows its displayed in, and there's no horizontal scroll bar. Use of hourglass to indicate that the program is doing something is inadequate. The hourglass doesn't always appear when it should and so you're left wondering what's going on Redrawing of even simple diagrams was slow. No auto layout of complex diagrams.

OMW and Kappa

Originating country: US (Intellicorp)
Contact: Unit 6, Bracknell Beeches, Bracknell, Berkshire, RG12 7BW Tel: 0344 305305 Fax: 0344 305100
Method notation supported: Method independent - Martin & Odell notation
Multi-platform? : No. Kappa runs on Sun or HP and OMW just runs on Sun. Plans to port to PC but not until next year. The tool generates code suitable for both PCs and Unix
Multi-user? :
C++ code generation? : No - generates C.
Cost: Kappa: $20,000 OMW $15,000 (they claim to be flexible!)
User Comments: none - has anyone been able to afford it?
Personal Comments: Given the above, it didn't seem reasonable to take the evaluation any further!

Rational Rose/C++

(compare this with ShowCASE) Originating country: US
Contact: 0273 624814, E-mail: product_info@rational.com I used the support number for more info - this was the same day I called Microsoft and was waiting in a queue for 20 mins. The Rational support was a complete contrast and although the person I needed to speak to was busy, they called me back in 15 mins. Why do so many US companies give their US customers a toll-free number but not their UK customers?
Method notation supported: Booch - this is from the company which Booch himself works for.
Multi-platform?: Sparc and PCs
Multi-user? : no (enforce locking through Delta or something similar)
C++ code generation? : yes Supports reverse engineering (in new version currently in field test which I'd like to get) and you can preserve your code changes so that they are not lost when code is regenerated. This is a big plus. Code preservation is done via comments which look messy but do the job. Can integrate with MFC and 3rd party apps. Got an example of this sent - pretty huge example but the product was still fairly speedy (on a 486 25SX). When the diagram compiles, it does a lot of sanity checking and lists possible problems.
Cost: 1345 (for C++ generation). Includes support and upgrades for 12 months. Various methods of support, including e-mail (acknowledgement within 24 hours).
User Comments: "I have not heard anything bad about the product through reviews or word of mouth"
Personal Comments: The demo version comes with its own manual (30 pages), written for the demo version! Functionally this has everything you could possibly want, and an intuitive user interface. The support seems to be good and if the demo manual is anything to go by, the manual for the full version should be good as well. The only drawbacks that I can see are I didn't like the way the selection cursor reverts to the pointer after each action. If you want to add a lot of relations, then you have to reselect on the toolbar after adding each one. Resizing the text box didn't resize the text in it - you have to change the font size to change the text size. More use could have been made of colour - black and white diagrams look a bit dull. It was a bit difficult to evaluate this properly as there were no complex examples with the demo, indeed there were no examples at all. I was later sent a huge example showing the MFC classes reverse-engineered.

This product is quite fast, and can redraw the diagram using automatic layout. This takes some time but is considerably faster than doing it by hand, and would be very useful for large complex diagrams.

Some of the dialog boxes come up 30% bigger than the screen, this is annoying having to scroll a window to enter information. I'm fairly sure this is a problem with the VGA driver I'm using rather than the tool itself though.

Extensive on-line help, but not context sensitive. Help is very good, except for the following howler (included for amusement)

          Whn mouse is releases, slect teh labelbox adn deslect any 
         (When)       (released) (select) (the)    (and) (deselect)
Supports documentation in the code - got this to work OK. Syntax checks the diagram as you go. Has undo facility (very useful).

Not known whether you can incorporate the diagrams in a word processing package as the export function was disabled in the demo copy. "export as Windows metafile" doesn't seem to be available.

A user friendly tool with some problems, but a lot of functionality and good support. The beta release out very soon has more functionality - perhaps it also addresses some of the above issues. Once the tool is completely understood, it looks as if it could be really powerful.

OOTher

Originating country: Sweden
Contact: the author, E-mail : conrozi@KK.ericsson.se
Method notation supported: hybrid - Notation based on Coad & Yourdon's and also Jacobson's
Multi-platform? : no
Multi-user? : no
C++ code generation? : header files only
Cost: shareware ($170 for commercial use)
User Comments: One user wrote to me and was reasonably pleased with it.
Personal Comments: Got it to crash. Great value for money, but you get what you pay for. Routing algorithm a bit wild - lines were going all over the place and doing long detours rather than taking the shortest route. There are bugs in the way some lines are drawn. Scaling sizes are inconvenient. You either get too much detail and can only see 4 or so classes or you zoom out and can't read the writing as it's too small. Supports 5 views of the model from different angles. Good on-line help. No undelete. UI not really very intuitive - would be nice if you could just click on an association to edit it.