"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; it has been translated into seven 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.
Put simply, the book shows newcomers to OOA/D how to "think in objects." It does so 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, and * the Unified Process. For a more detailed list of topics, please see the accompanying table of contents.
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
—John Vlissides, author, Design Patterns and Pattern Hatching
"This edition contains Larman's 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