Home > Store

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3rd Edition


  • Your Price: $76.49
  • List Price: $89.99
  • Usually ships in 24 hours.



This third edition again delivers a clear path for students and professionals to learn and apply object-oriented analysis and design.

  • The first two editions of this book have achieved gross sales of more than 60,000 units through the domestic retail channel
  • Timely and up-to-date; compliant with UML 2.0 and the latest trends in design patterns and object-oriented analysis and design
  • More gold from one of the leading names in software engineering: Craig Larman!
  • Instructor resources are available from the author's website, www.craiglarman.com


  • Copyright 2005
  • Dimensions: 8" x 10"
  • Pages: 736
  • Edition: 3rd
  • Book
  • ISBN-10: 0-13-148906-2
  • ISBN-13: 978-0-13-148906-6

“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
“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
“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
“This book makes learning UML enjoyable and pragmatic by incrementally introducing it as an intuitive language for specifying the artifacts of object analysis and design. It is a well written introduction to UML and object methods by an expert practitioner.”
Cris Kobryn, Chair of the UML Revision Task Force and UML 2.0 Working Group
  • A brand new edition of the world’s most admired introduction to object-oriented analysis and design with UML
  • Fully updated for UML 2 and the latest iterative/agile practices
  • Includes an all-new case study illustrating many of the book’s key points

Applying UML and Patterns is the world’s #1 business and college introduction to “thinking in objects”—and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.

Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices. You won’t just learn UML diagrams—you’ll learn how to apply UML in the context of OO software development.

Drawing on his unsurpassed experience as a mentor and consultant, Larman helps you understand evolutionary requirements and use cases, domain object modeling, responsibility-driven design, essential OO design, layered architectures, “Gang of Four” design patterns, GRASP, iterative methods, an agile approach to the Unified Process (UP), and much more. This edition’s extensive improvements include

  • A stronger focus on helping you master OOA/D through case studies that demonstrate key OO principles and patterns, while also applying the UML
  • New coverage of UML 2, Agile Modeling, Test-Driven Development, and refactoring
  • Many new tips on combining iterative and evolutionary development with OOA/D
  • Updates for easier study, including new learning aids and graphics
  • New college educator teaching resources
  • Guidance on applying the UP in a light, agile spirit, complementary with other iterative methods such as XP and Scrum
  • Techniques for applying the UML to documenting architectures
  • A new chapter on evolutionary requirements, and much more

Applying UML and Patterns, Third Edition, is a lucid and practical introduction to thinking and designing with objects—and creating systems that are well crafted, robust, and maintainable.


Related Article

Publish and Subscribe Using C++ and the Observer Pattern

Author's Site

Visit the Author's Web Site related to this title. Craig Larman continually updates his site, so check back frequently.

Download Educator Resources related to this title, including sample PowerPoint lecture modules.

Sample Content

Online Sample Chapters

Applying UML and Patterns: Mapping Designs to Code

Applying UML and Patterns: UML Class Diagrams

Object-Oriented Analysis and Design

UML Interaction Diagrams

Downloadable Sample Chapter

Download the Sample Chapters related to this title.

Chapter 1
Chapter 15

Table of Contents

  • 1. Object-Oriented Analysis and Design.
  • 2. Iterative, Evolutionary, and Agile.
  • 3. Case Studies.
  • 4. Inception is Not the Requirements Phase
  • 5. Evolutionary Requirements.
  • 6. Use Cases
  • 7. Other Requirements.
  • 8. Iteration 1-Basics
  • 9. Domain Models
  • 10. System Sequence Diagrams
  • 11. Operation Contracts
  • 12. Requirements to Design-Iteratively
  • 13. Logical Architecture and UML Package Diagrams
  • 14. On to Object Design
  • 15. UML Interaction Diagrams
  • 16. UML Class Diagrams
  • 17. GRASP: Designing Objects with Responsibilities
  • 18. Object Design Examples with GRASP.
  • 19. Designing for Visibility
  • 20. Mapping Designs to Code
  • 21. Test-Driven Development and Refactoring
  • 22. UML Tools and UML as Blueprint
  • 3. Quick Analysis Update.
  • 24. Iteration 2-More Patterns.
  • 25. GRASP: More Objects with Responsibilities.
  • 26. Applying GoF Design Patterns.
  • 27. Iteration 3-Intermediate Topics.
  • 28. UML Activity Diagrams and Modeling.
  • 29. UML State Machine Diagrams and Modeling.
  • 30. Relating Use Cases.
  • 31. More SSDs and Contracts.
  • 32. Domain Model Refinement.
  • 33. Architectural Analysis.
  • 34. Logical Architecture Refinement.
  • 35. More Object Design with GoF Patterns.
  • 36. Package Design.
  • 37. UML Deployment and Component Diagrams.
  • 38. Designing a Persistence Framework with Patterns.
  • 39. Documenting Architecture: UML & the N+1 View Model.
  • 40. More on Iterative Development and Agile Project Management.
  • Recommended Resources.
  • Bibliography.
  • Glossary.
  • Index.


Download the Foreword file related to this title.


Download the Index file related to this title.


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership