Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2001)

The book helps newcomers to OOA/D learn how to "think in objects" by presenting three iterations of a single, cohesive case study, incrementally introducing the requirements and OOA/D activities, principles, and patterns that are most critical to success. It introduces the most frequently used UML diagramming notation, while emphasizing that OOA/D is much more than knowing UML notation.

Among the topics introduced in Applying UML and Patterns are:


 * requirements and use cases
 * domain object modeling
 * core UML
 * designing objects with responsibilities
 * "Gang of Four" and other Design Patterns
 * mapping designs to code (using Java as an example)
 * layered architectures,
 * architectural analysis
 * package design
 * iterative development
 * the Unified Process.