- Author: Dennis de Champeaux, Douglas Lea, and Penelope Faure
- Format: online HTML
- Price: free
This book is intended to help the reader better understand the role of analysis and design in the object-oriented software development process. Experiments to use structured analysis and design as precursors to an object-oriented implementation have failed. The descriptions produced by the structured methods partition reality along the wrong dimensions. Classes are not recognized and inheritance as an abstraction mechanism is not exploited.
However, we are fortunate that a multitude of object-oriented analysis and design methods have emerged and are still under development. Core OO notions have found their home place in the analysis phase. Abstraction and specialization via inheritance, originally advertised as key ingredients of OO programming, have been abstracted into key ingredients of OO analysis (OOA). Analysis-level property inheritance maps smoothly on the behavior inheritance of the programming realm.
While the book is mostly self-contained, people report that it does not serve as an introductory OO text. It helps to have had some previous exposure to basic OO concepts.
Chapters Include:
Part 1: Analysis
- Introduction to Analysis
- Object Statics
- Object Relationships
- Object Dynamics
- Object Interaction
- Class Relationships
- Instances
- Ensembles
- Constructing a System Model
- Other Requirements
- The Analysis Process
- Domain Analysis
- The Grady Experience
Part II: Design
- From Analysis to Design
- Description and Computation
- Attributes in Design
- Relationships in Design
- Designing Transitions
- Interaction Designs
- Dispatching
- Coordination
- Clustering Objects
- Designing Passive Objects
- Performance Optimization
- From Design to Implementation