People often ask me which is the best book to introduce them to the world of OO design. Ever since I came across it, Applying UML and Patterns has been my unreserved choice. Martin Fowler, author, UML Distilled and Refactoring
The first edition of Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design quickly emerged as the leading OOA/D introduction; translated to many languages and adopted in universities and businesses worldwide. In this second edition, well-known object technology and iterative methods leader Craig Larman refines and expands this text for developers and students new to OOA/D, the UML, patterns, use cases, iterative development, and related topics.
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. All case study iterations and skills are presented in the context of an agile version of the Unified Process -- a popular, modern iterative approach to software development. Throughout, Larman presents the topics in a fashion designed for learning and comprehension.
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.Foreword by Philippe Kruchten, the lead architect of the Rational Unified Process.
Too few people have a knack for explaining things. Fewer still have a handle on software analysis and design. Craig Larman has both. John Vlissides, author, Design Patterns and Pattern Hatching
This edition contains Larmans usual accurate and thoughtful writing. It is a very good book made even better. Alistair Cockburn, author, Writing Effective Use Cases and Surviving OO Projects