This book presents useful object-oriented (OO) techniques that can be employed before plunging ahead into physical design and programming. It emphasizes conceptual, rather than physical, object-oriented considerations for planning, analyzing, and designing systems, whether the systems are for people, machines, or computers.