From: mat@uunet.uu.net!mole-end
Subject: Thoughts on the Progression from SA/SD Models to OO Models
Organization: :
Date: Sat, 25 Jul 1992 19:08:29 GMT

In comparing the SA/SD models to the Object Model(s), I find that certain
things in one set correspond to certain things in the other set in a
straightforward way.  What may be more interesting are the correspondences
that are absent.

A brief review on SA/SD.  During analysis (SA) three models are developed:

	The Data (or Information) Model, which is based on Entity-
	Relationship (E/R) diagrams (or some equivalent).  E/R
	diagrams describe the existential relationships between
	entities that exist in the system.

	The Process Model, which is based on Data Flow Diagrams (DFDs).
	DFDs describe the processing steps which use and create data,
	the data which must be stored, and the data flow between steps
	and between steps and data stores.

	The Dynamic (State) Model, which is based on some form of state
	machine and which expresses the sequencing of processing steps
	in response to various inputs.

During Structured Design, the three analysis models are abandoned in favor
of a Structure Chart, which represents modules (generally corresponding to
processes from the DFD) and synchronous, message-like communication between
them.

Objects, Entities, and S.C. Modules
===================================

In the Object world, there is usually a Class-Relationship or
Object-Relationship diagram depicting the existential relationships
between them, and usually the Inheritance relationships as well.  This
corresponds pretty closely to the E/R diagram of the data model.

There is also an Object-Communication diagram depicting the message
communication between objects.  This corresponds more or less closely
to the Structure Chart.  (There are differences; in some O-C models, input
signals may occur in many places; in the S.C. input control flows enter at
the top and input data flows at the bottom of the tree hierarchical S.C.)

But an Object can only communicate to an Object whose identity is known to
it.  One Object can know another if

	a) the Known Object is global, or
	b) the Knowing Object has a relationhip to the Known Object, or
	c) another Known Object creates an acquiantanceship with the
		Known Object (see Rumbaugh)

Case (a) is deprecated and can be ignored.  Case (c) creates short-term
`shortcuts' across the relationships, but does not actually create new
pathways.  Case (c) often involves temporary or temporal objects
(`temporalities') which may not appear on the C-R diagram, but which
could and perhaps ought to appear on a subordinate C-R diagram.

Thus the C-R diagram is a superset of the available communication pathways,
and provides the framework on which the O-C diagram must lie.  In that,
it corresponds to both the E/R Diagram and the Structure Chart.


		E/R ====\
		DFD     \\
		S.M.	 =====> C-R (O-C)
			//
		S.C.====/

Objects and Informational Clusters
==================================

Another view holds that the Object is a refinement of the Informational
Cluster, which is a loosely defined `module' containing Entities and
the Processes that manage them.  We can illustrate this viewpoint thus:

		E/R ====\
		DFD ====\\
		S.M.	 \\===> C-R (O-C)

		S.C.

Integrating the Views
=====================

If we simply overlay the correspondence diagrams of the two viewpoints,
we get something this:

		E/R ====\
		DFD ====\\
		S.M.	 =====> C-R (O-C)
			//
		S.C.====/

What's Left Out
===============

Notice that the Dynamic Model, represented by the State Machine, has
no clear correspondence to the Object Model.

The SA/SD Dynamic Model tends to be unstable.  The smallest change in
the DFD will upset the entire machine, resulting in wildly disproportionate
changes in the State Machine.

For the OO, Schlaer and Mellor have attempted to produce stable state
machines by identifying stable state-features in the problem.  It's an
interesting approach; I'm not convinced that it is as valuable as Schlaer
and Mellor make it out to be.  Nevertheless, it does not have any close
correspondence with the SA/SD state machine, which is intimately tied to
the structure of the Process Model.

Speculation
===========

It appears we need something better than the current S.M. approach, if
only because the S.M. isn't well integrated into the other models.
The hierarchical nature of most operations, combined with the need to
tie relationships with temporalities to their operations, suggests that
some combination of Warnier-Orr diagrams with Object-Communication
Diagrams might do the job.
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile

 uunet!mole-end!mat, Somewhere in Matawan, NJ
Newsgroups: comp.object