Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design by Craig Larman
Appropriate for courses in Object-Oriented Programming.
The first book to apply the Unified Modeling Language (UML) to communicating object-oriented analysis and design results. You'll learn the fundamental concepts of object-oriented analysis and design, and then walk step-by-step through the entire process of analysis and design- using a single case study that takes full advantage of UML and design patterns.