[comp.software-eng] Analysis Method for OOP

nichols@ssd.kodak.com (Tim Nichols (37894)) (06/25/91)

There has been some chatter lately about analysis and design methods
for OOP.  I agree with most of the posters that little has been
published on how to attack a large system design based on objects, but
we are just learning to fly.  I believe the next few years will see a
flurry of publishing activity in the areas of O-O analysis, testing,
project management, etc.

At Kodak, we have been using an analysis method we call JOOA (Job
Oriented Object Analysis).  JOOA was developed internally because we
had to solve the problem of how to specify multi-user distributed
systems in such a way that a path was paved for designing object
models.

The method introduces 3 higher-than-object level constructs called
agents, work flow, and work places.  The new constructs provide
modeling tools for determining the dynamic and functional models of the
system based on the expectations of the jobs the system is to perform. 
Further, the jobs are analyzed from two complementary perspectives: 
the jobs of the system, and the jobs of individual users or spatial
areas of the system.

The method then leads to developing a static (object) model which
supports all the required dynamic models.  This static model of the
problem space is then fed into the design process where small teams of
designers and programmers develop the object model of the solution
space using the same system framework.  This is an iterative
transition, and helps to bring the problem space (real world) into the
object model.

To date we have used this method on but a handful of projects.  Hence
it still continues to grow and change as we get more experience with it.
Nonetheless, we have found it to be a useful and intuitive way to
specify systems.  In one case, we had a team of marketing people successfully
use it to specify a client's problem space.  I hope to be able to
publish something later this summer in an effort to share our methods
and experiences.

I would be interested in hearing from people who find this approach
useful, interesting, stupid, or whatever.  (e-mail please; comp.object
has enough drivel as it is {:-)).  If there is enough interest, perhaps
more specifics can be made available through the electronic media.

-- 
  Tim Nichols                                        Eastman Kodak Company
  nichols@ssd.kodak.com	                              Rochester, New York 

  "Opinions are my own, and do not reflect those of Kodak or its management"