subsections:


Object-oriented design -- decomposition into objects

Identifying objects -- responsibilities

Layers of abstraction


slide: Object-oriented design


Objects -- crisp entities

The method:


slide: The Booch method


Heuristics

Associations


slide: Heuristics for modeling


Candidate classes

ATM



slide: The ATM example (1)


Eliminating spurious classes

Good classes


slide: Eliminating spurious classes


Object-oriented thinking

CRC


OO design with CRC cards


slide: The CRC method


Object roles


slide: Object roles

analyze a little,

design a little,

implement a little,

test a little ...



slide: The Model-View-Controller paradigm