A disciplined approach to object-oriented software design

Generate hierarchical design from method/data collaboration

The OOAD navigation problem:

Objects are identified and behavior (methods) is assigned to these objects (classes) based on the perceived ownership.

The dependencies needed by methods may create a navigation problem for the class which is not easy to satisfy.

The navigation solution provided may not have ease of memory/object management, parallelization, service orientation, refactoring.

Change in dependencies during refactoring, are not properly accommodated. The design is more or less fixed and is often entangled.

Method code is often written independent of execution path, tend to be more general than specific.

Design process:

Features:

Benefits: