The successful use of object technology requires far more than simply the adaptation of UML, Java, CORBA, or Active X. It is crucial to understand the process of how to use these notations and technologies to build commercially robust software systems. In this session the speaker draws from his experience at NASA, NORTEL, AT&T, IBM, and other leading companies to illustrate the pitfalls and best practices of the process of OO software development. Attendees walk through the complete development process from use case development to pattern application and coding. Participants gain a clear understanding of the distinction between domain models, application models, and architectures. The course goes beyond notation and cookbook methods to address the key principles of Object-Oriented Software Development. A percentage of the time is spent discussing the rationale underlying each step of the process so that engineering concepts behind the specific techniques is presented. Several case studies are woven through the presentation.