"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 both." 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 ProjectsLarman, Craig is the author of 'Applying Uml and Patterns An Introduction to Object-Oriented Analysis and Design, and the Unified Process', published 2001 under ISBN 9780130925695 and ISBN 0130925691.