Rob Kremer


Practical Software Engineering

Object Oriented Analysis Design


What's the difference between OOA and OOD?
Not much
OOA: Model the problem domain OOD: Map the problem domain onto an implementable model

OOD vs. Structured design

Relationships among objects

Early Phases

Later Stages

CRC Cards

Improving your skills

Example Problem

(Done in class)

Interactive concept map consisting of labeled nodes and arcs that can be attached to nodes. Requirements:

Design the class hierarchy.

Remember, there are a lot of implicit requirements that aren't stated.


Pressman, R. S. (1997). Software Engineering: A Practitioner's Approach (4th edition). New York, McGraw-Hill. (Chapter 21)
Heavily influenced by structured design

Coad, P., North, D. & Mayfield, M. (1995). Object Models: Strategies, Patterns, and Applications, Yourdon Press.
A collection of examples

Booch, G. (1994). Object Oriented Design With Applications, Benjamin/Cummings.

Cox, B. J. (1991). Object-Oriented Programming: An Evolutionary Approach. Reading, Mass, Addison -Wesely.

Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. & Lorensen, W. (1991). Object-Oriented Modeling and Design. Englewood Cliffs, N.J., Prentice-Hall.

UofC Practical Software Engineering, Department of Computer Science

Rob Kremer