[comp.object] Object-Oriented Graphical Notations

schultz@grebyn.com (Ronald Schultz) (12/10/90)

There appear to be a number of graphical notations appearing for 
expressing the semantics and relations in an OO system.  Coad and
Yourdon have their set, Constantine now has UON (Universal Object
Notation), and Rovira has Rovira Diagrams, and Grady Booch has his
graphical notation.  Are people using these notations and if so, how
useful are you finding them?  In general, does anyone have any comments
as to the strengths and weaknesses of each flavor ?  Thanx.

gbooch@ajpo.sei.cmu.edu (Grady Booch) (12/13/90)

we at rational use my notation on some projects, and we have a number
of customers who also use the notation.

the largest project it's been used on is one by bofors in
sweden, for a large (appx 2 million LOC) software system for shipboard command
and control. the interesting aspect of this system is the issues of reuse...
bofors has reused their designs across 5 ships, plus a ground based system.

we  also have a large mis project that has used early parts of my notation.

also the european hood method is somewhat based upon my early oo work, and
that method is in use in a number of projects, including the european
space station.

there are a myriad of other smaller projects using my notation (some telecom
switching system, etc). in fact, much of what iws in my notation is based upon
use in real projects over the past 5-7 years.

not surprisingly, we and others are working on tools to support this notation,
whic provides an alternative to the current case scene. the key for us  is to add rich enough semantics to the tool, so that it is more than just
a pretty picture drawing tool. this means we must deal with
issues of scale, configuration management and version control, and
incrmental changes to designs that preserve the semantic consistency of the whole design.

egb

gbooch@ajpo.sei.cmu.edu (Grady Booch) (12/13/90)

one other point to make...my view of ood is that it is more
than just a pretty notation and process, but that an oo method has
implications for project management, documentation, release management, and staffing. (see chapter 7 of my ood book)

we are trying to address some of these issues in our tools, also.

egb

mherman@alias.UUCP (Michael Herman) (12/20/90)

I would like to find a graphical notation that is useful for training
programmers that are new to a large, existing OO application framework.
... and I guess I'm willing to believe that this requirement may place
some additional requirements on the graphical notation used for OOD.

I've read Chapter 5 twice and still feel that parts of the notation
lack a certain mnemonic that would make it easier to remember and use
(and hence may not be an optimal notation for what I'm looking for).

The Uniform Object Notation by Jones, Constantine and Weiss (Computer
Language, October 1990) seems to be more along the lines of what I'm
looking for.

Comments?


Michael Herman
Manager - PC Product Development
alias!mherman@csri.toronto.edu

cpp@calmasd.Prime.COM (Chuck Peterson) (12/27/90)

My favorite object-oriented graphical notation is the Object Modeling
Technique, developed by Mary Loomis, James Rumbaugh, and Ashwin Shah.
This is a very simple, yet powerful, and language independent notation which
includes inheritance, relations, and aggregations, and has been used here
at Calma and elsewhere for over four years to design CAD/CAM and other
demanding applications.

There is now a book which presents this notation along with a complete
OO modeling and design approach:

    Object-Oriented Modeling and Design. James Rumbaugh, M. Blaha, 
    W. Premerlani, F. Eddy, and W. Lorenson.  Prentice-Hall, 1991.
    ISBN 0-13-629841-9

It is also described in

    Loomis, M.E.S, Shah, A.V., Rumbaugh, J.  An Object Modeling Technique for
    Conceptual Design.  ECOOP-87.

and, briefly illustrated in

    Shah, A.V., Hamel, J.H., Borsari, R.A., Rumbaugh, J.E.  DSM: An Object-
    Relationship Modeling Language.  OOPSLA 1989.

This notation, along with basic OO design concepts, is frequently taught to
programmers with no previous OO experience, and most begin using it almost
immediately.

[I'm speaking only for myself, etc.]

spencer@sweetgum.tcs.com (Reid Spencer) (01/04/91)

You may want to take a look at Wasserman's "Object Oriented Structured Design
Notation for Software Design Representation".  This paper describes a notation
that extend's Booch's notation and adds many important concepts. The paper
provides a BNF grammar for a textual representation. The requirements for OOSDN
were stated as:

	(1) It should support a wide variety of systems, including both
	    sequential and concurrent models of execution.

	(2) It should support object-oriented concepts, such as abstract data types,
	    class hierarchies, and inheritance.

	(3) It should offer design reusability so that parts of designs, along with
	    their associated properties, can be placed in a library and reused
in other
	    designs.

	(4) It should offer language independence at the architectural level, since 
	    designers may make architectural design decisions based on language and
	    implementation issues.

	(5) It should offer method independence so that the notation does not require
	    a particular design approach.

	(6) It should be convenient so that it is not overly complex to record and 
	    comprehend designs.

The paper was published in the March, 1990 issue of IEEE Computer, the
authors are
Anthony I. Wasserman, Peter A. Pircher, and Robert J. Muller. You can
contact them
at:
	Interactive Development Environments
	595 Market St.,
	10th Floor,
	San Francisco, CA 94105

	(sorry, no phone #)

_______________________________________________________________________________
Reid Spencer
Senior Software Engineer          Voice:    (216) 889-1119
Teknekron Communications Systems  Fax:      (216) 828-3642
#200, 3001 112th Ave NE           Internet: spencer@tcs.com
Bellevue, Washington 98004        UUCP:     uunet!ucbcad.UUCP!tcs!gumby!spencer