From: khartig@nyx.cs.du.edu (Kevin Hartig)
Subject: OO Analysis & Design Tool Review
Summary: General review of OO case tools
Keywords: Object-Oriented Review tools
Organization: University of Denver, Dept. of Math & Comp. Sci.
Date: Wed, 9 Sep 92 17:43:44 GMT


Originally this article started as a short government purchase order
justification. It was to describe why our project required a particular
analysis and design tool. After investigating a number products and talking
with software developers it became apparent that there is a general interest
in object oriented analysis and design tools; what's available, what are the
capabilities, etc... 

What follows is a slightly modified version of an article that I wrote for an
in-house publication at the NOAA/ERL Forecast Systems Lab in Boulder. It is
a general overview of three applications I evaluated. Included are my
impressions and opinions.

I welcome any comments or opinions. 

-Kevin
 Hartig@fsl.noaa.gov

////////////////////////////////////////////////////////////////////////////


Object Oriented Analysis and Design Tools Comparison

This discussion is a review of object oriented analysis and design tools. The
tools examined were evaluation copies provided by the manufacturer. Other
analysis and design tools exist besides the ones mentioned here. However, I was either unable to contact the company or the tools did not use object oriented
philosophy, principles, and notation. The products available today are
brand new to the market and are just now being released commercially. Some
OOAD tools are not ready for more than one hardware platform or are just
beta versions.

The following products were evaluated:

    OOATool - Object International. Inc.
    Paradigm Plus - ProtoSoft
    Rose - Rational
 

OOATool

OOATool is an object oriented analysis tool that supports the methodology
and strategies presented in the book Object-Oriented Analysis, Second Edition,
by Peter Coad and Edward Yourdon. The program, (written in SmallTalk), was
evaluated on a Macintosh computer. Currently this product is available on the
Macintosh and on PCs running Windows or OS/2. The Sun/UNIX version is in beta
testing and is scheduled for release later this year. Also planned for future
release is OODTool, the object oriented design tool that accompanies the
analysis tool.

Program Functions

The 'small project' version of the program was evaluated. It allows the user
to create 15 classes & objects per model. All application functions are
provided. OOATool uses models, drawings, and filters to present the problem 
domain analysis. The five analysis layers are consistent with those described 
in Object-Oriented Analysis. These are: 

    - Subjects layer;
    - Class & Object layer;
    - Structure layer;
    - Attribute layer;
    - Service layer.

Each layer describes the problem domain at different levels of detail.

There is a model critique algorithm that checks the model for consistency,
completeness, and complexity. However, currently it is not very sophisticated
in its analysis and points out potential problems that are obvious to
experienced designers.

Notation

Notations are provided for:

    - Subjects;
    - Classes;
    - Classes & Objects;
    - General-Specific structures;
    - Whole-Part structures;
    - Instance Connections;
    - Message Connections.

Also, text notation can be freely added to drawings. Notations are drawn as
described in Object-Oriented Analysis.

Drawings

Users can create multiple drawings for each model. Changes to the underlying
model are reflected automatically in all drawings. Drawings can also show any
combination of the analysis layers.

OOATool has the ability to automatically produce documentation presented in
sections. With this very useful feature, information can be added to describe
each part of the model. The information for the entire model is presented in a
pre-formatted layout in a simple ASCII text editor. If desired, the order of
sections can be easily modified. Custom documentation templates can also be
generated providing a standard project layout.

On the Macintosh, OOATool is not very speedy. This becomes important 
when editing the diagrams. Diagrams are completely redrawn for every edit. 
This is painful for complex drawings. Another annoying feature is that message 
and instance connection lines orient themselves. There is no way to position 
the lines. This can result in many lines intersecting other lines, making 
object connections messy and ambiguous. 

General

Overall, OOATool is very easy to use. It also provides on-line documentation
that is almost identical to the user manual. However, the presentation of
detailed information in both the manual and on-line documentation is weak.

For a top level project analysis, OOATool can be useful. However, it lacks the
notation robustness required to perform a detailed problem domain analysis and
design. Presumably, OODTool will provide more detailed notation. For projects
requiring analysis and design tools right now, the availability of OODTool
should be a consideration. The latest news from Object International, Inc.
indicates OODTool will be available December 1992.

Price: 

Small Project version	$95
Full version		$1995

Object International, Inc.
8140 N. MoPac Expressway, 4-200
Austin, TX 78759
Tel (512) 795-0202
Fax (512) 795-0332


Paradigm Plus Standard Edition

Paradigm Plus is a case tool that provides support through project analysis,
design, and coding. With Paradigm Plus a number of different modeling paradigms
can be used. Paradigms and methods currently available in Paradigm plus
include:

    - Rumbaugh Object Modeling Technique;
    - Booch Object Oriented Design;
    - ProtoSoft Object Oriented Analysis and Design.

Paradigm Plus is written in C and runs under Windows 3.1 and OpenWindows on
Sun SPARCStations. At this time, only the PC Windows version is available. 
There is also a SPARCStation/OpenWindows beta version available for evaluation.
The beta version is due for release sometime in September 1992. Both versions
were evaluated.

Program Functions

Paradigm Plus stores project model information in an Object Repository. When
an object or relationship is changed in one place, the change is reflected in 
all other places it is referenced.

Paradigm Plus includes a simple scripting language that is similar to Basic.
Creating script files to access and present information residing in the Object
Repository is easily done. The application comes with script files already
built to generate model reports, diagram traceability, consistency checks, and
source code. The reports can be used in documentation and for programming.
Some of the scripts provided need slight modifications for them to work
correctly. The program also supports import and export of ASCII text and
diagrams in PostScript and CDIF files.

Paradigm Plus has on-line hypertext documentation and a well laid out reference
manual. However, many sections do not describe things in sufficient detail. The
reference manual contains a large chapter devoted to the notation used in
Rumbaugh, Booch, and the OOAD paradigms. However, no detail is provided about
the paradigm philosophy. More time was spent explaining how to navigate through
Windows on a PC. Reference texts available on this subject should be studied before using this tool.  

Paradigm Plus interfaces with some database management systems (DBMS) products,
including:

    - Versant OODBMS C/C++ schema/code generation;
    - Objectivity/DB C++ schema/code generation;
    - ANSI SQL (Structured Query Language) schema generation.

None of these interface claims were tested.

Some good features of this application include a browser that allows you to
view all model parts, and a matrix tool that provides item relationship
displays and editing capabilities.

Notation

The complete set of notation for model drawings using the Booch and Rumbaugh
paradigms is provided. ProtoSoft also provides an additional paradigm that
combines the Rumbaugh notation with models for simple project management and
system architecture.

The application provides a good set of drawing tools that allow the addition
of custom notation to the model diagrams. 

Drawings

Multiple drawings can be generated for each model and the drawings are stored
in the repository previously mentioned. However, printed copies of the diagrams
sometimes look different then the on-screen version. Specifically, the precise
placement and orientation of text and graphics is sometimes lost.

The drawing tool set available for creating diagrams is extensive. There are
enough tools to diagram virtually any problem domain. 

General

This application is designed for very large projects being worked on by
multiple developers. Network support is provided and controls for model access
permission are included. Also, the support of multiple paradigms is useful for
describing different aspects of a project in different ways. These things are
not as important for small projects running on stand alone computers.

In general, this application provides complete object oriented case tools.
This product may be the most mature object oriented case tool on the market
today for PCs. The UNIX version to be released soon is in Beta testing and has
many bugs to be worked out. Paradigm Plus is written in C. So it's a functional
program portraying an object oriented world. Hopefully, ProtoSoft will consider
rewriting their application with an object oriented language to take advantage of the benefits of object oriented programming.

ProtoSoft's customer support is prompt and friendly. All questions were handled
immediately and accurately. 

Price:

Windows	$5000
Sun	$8000

ProtoSoft
17629 El Camino Real
Suite 202
Houston, TX 77058
Tel 713 480-3233
Fax 713 480-6606


Rational Rose

Rational has been developing large scale software engineering solutions for
large corporations and the government for the last ten years. Most of this
software development was written in Ada. Rational is now also very involved 
in object oriented development.

Rose version 1.0 has just been released, and consists of tools using the Booch
notation for analysis and design. It uses the X/Motif interface, an OODBMS,
and is written in C++. Currently, Rose runs on the Sun SPARCStation and the
IBM RISC System 6000. Rose runs with the Motif or OpenWindows window managers.


Program Functions

All tutorials and documentation are on-line. The on-line documentation is in
a sophisticated hypertext format that is easy and convenient to use. It
includes a detailed description of everything, from how to use the application,
to what the notation is and how it is used in the Booch paradigm. However, it
would be nice to have a hard copy of the documentation to read when you're away
from a workstation.

Rose uses an OODBMS as a central project object repository. All project
information is available across networks. Changes in one part of a model are
propagated throughout the entire model. 

Model analysis and design documents can be viewed and stored in PostScript or
FrameMaker formats. Hypertext links are maintained between document files.
Therefore, changes made to diagrams in the documentation, to classes, or
objects and relationships in any part of the model are updated where
referenced.

Rose provides some checking of model relationships and rules. 

Notation

Rose provides notations for classes, objects, and their relationships. However,
the Booch notation for modules, processes, state transition, and timing
diagrams are not provided. It also doesn't have standard drawing tools for
circles, rectangles, or lines, etc.

General

Rose is well designed. There are no surprises or unexpected actions. The
layout is straight forward and easy to use. There are many checks for
consistency and correctness of user actions. In short, this is a quality
application. 

With version 1.0 of Rose, Rational has established a good solid set of 
building blocks for an OOAD case tool. Plenty of new features could be built 
on this base. The Rational staff has been very helpful with all problems, 
and are enthusiastic about learning customer needs.

Price:

Sun SPARCStation $3995 per user license

Rational
3320 Scott Boulevard
Santa Clara, CA 95054
Tel 408 496-3600
Fax 408 496-3636


Summary

Of the three applications evaluated, Rose was the only one I could not crash.
It is put together with a quality the others don't have yet. Even though Rose
does not have all the features of the other two applications, what is there
does work. The Rational staff eagerly listens to (potential) customers, and
encourages customer feedback about how they could improve the product. Rose
uses current software engineering techniques, insuring reliable growth in the
future. Rational is also the most mature company of the three. 

Of the three applications evaluated, I recommend Rose as the best OOAD tool. 
If your development environment is on a SPARCstation or IBM RS 6000 under
UNIX ROSE is your best bet. For those of you developing on PCs, Paradigm
Plus stands out as the choice. And those working on Macs, currently your only
choice is OOATool.