C H A P T E R  9

Object-Oriented Analysis and Design

A Play in Several Acts

When doing analysis you are trying to understand the problem. To my mind this is not just listing requirements in use cases. … Analysis also involves looking behind the surface requirements to come up with a mental model of what is going on in the problem. … Some kind of conceptual model is a necessary part of software development, and even the most uncontrolled hacker does it.

–-Martin Fowler1

Object-oriented design is, in its simplest form, based on a seemingly elementary idea. Computing systems perform certain actions on certain objects; to obtain flexible and reusable systems, it is better to base the structure of software on the objects than on the actions.

Get Software Development and Professional Practice now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.