[comp.lang.smalltalk] OO Analysis, Design

JTangney@cup.portal.com (John Dominic Tangney) (02/16/89)

Hi
I need to put together a presentation to my boss on Object Oriented Analysis
and design -- or at least analysis methodolgies which are appropriate if we
are intending to go towards OO design and implementation. Help!!

I came across a methodology called Information modelling (course by Project
Technology). There are some problems with it, which tend to lead one away from
an Object Oriented approach... We may still go with it in the absence of any
other appropriate approach.

Does anyone know of an Analysis methodology (or at least a notational regimen)
which supports and leads naturally into OO design and implementation? Further,
any info on OO Design (and I mean *real* OO -- pbably implemented in Smalltalk
or at worst, C++ -- no flthat please) would be highly appreciated.

Y'see, these groups are not just for people to ask where they can get free 
compilers :-) :-) :-)

Reply by email if possible, or post for a discussion.
TIA
john tangney

david@cullsj.UUCP (David Taylor) (02/23/89)

This same question was raised at the OOPS panel at Software Development '89
last week. Grady Booch's "Software Engineering with Ada" was recommended
by one of the panel as being applicable in general, not just to Ada.
Though I haven't read it, I have read his paper "Object-Oriented Development"
in IEEE Trans. on Software Engineering 2/86 and recommend it.
The Jackson method, as outlined in "System Development" by Michael Jackson,
has been quite useful to me. Though I used the approach before learning
object-oriented programming, I find that languages such as Smalltalk
provide the most natural fit. Jackson teaches identification of entities
and their actions in a way that is quite accessible.
Currently, I am 26 pages into Bertrand Meyer's 534-page work "Object-
Oriented Software Construction" and already I feel safe in recommending
it highly. Bertrand combines academic rigor with a keen ability to cut
through the bull so rampant in this profession. Part 1 of the book deals
with issues and principles. Part 2 gives concrete techniques of object-
oriented design. Though his own commercial language Eiffel is used
throughout (rather shameless self-promotion I think, since Eiffel's
price makes it inaccessible to many), Part 3 discusses use of the techniques
in other environments. Actually, the historical notes and bibliography alone
are valuable, and may be an excellent starting point for your search.
A good book to stay away from is "Abstract Data Types" by Thomas Robinson,
et. al. A review of that book should be in a forthcoming issue of IEEE 
Computer, so I'll spare you the details here.

Good Luck,
david taylor
Cullinet Software, Inc.
 

mark@drd.UUCP (Mark Lawrence) (02/24/89)

Also, _Data_Structures_and_Algorithms_ by Aho, Hopcraft & Ullman 
[ISBN 0-201-00023-7] tries (rather naturally and comprehensibly, I 
think) to introduce the subject by utilizing Abstract Data Types which 
start with simple lists and are built upon for queues, trees, heaps 
and so forth.  Very clear treatise about how to hide the actual 
implementation of the list or whatever from the application using 
them.  Highly recommended.