• List Price: CDN$ 111.99
  • You Save: CDN$ 14.65 (13%)
Only 5 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Applying UML and Patterns... has been added to your Cart
+ CDN$ 6.49 shipping
Used: Like New | Details
Condition: Used: Like New
Comment: Used Like New, Book Cover Image / Binding may Differ , Same Edition , Fast Delivery in 3-5 Business Days !! Same day Dispatch !!
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 3 images

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) Hardcover – Oct 20 2004

3.4 out of 5 stars 5 customer reviews

See all 2 formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 97.34
CDN$ 30.14 CDN$ 43.64
"Please retry"
CDN$ 307.78

Harry Potter and the Cursed Child
click to open popover

Frequently Bought Together

  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
  • +
  • Design Patterns: Elements of Reusable Object-Oriented Software
Total price: CDN$ 155.09
Buy the selected items together

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Hardcover: 736 pages
  • Publisher: Prentice Hall; 3 edition (Oct. 20 2004)
  • Language: English
  • ISBN-10: 0131489062
  • ISBN-13: 978-0131489066
  • Product Dimensions: 21.1 x 4.3 x 25.7 cm
  • Shipping Weight: 1.7 Kg
  • Average Customer Review: 3.4 out of 5 stars 5 customer reviews
  • Amazon Bestsellers Rank: #117,459 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From the Inside Flap

I am grateful that the previous editions were extremely popular worldwide. I sincerely thank all the readers!

Here is how the book will benefit you.

Design Well—First, the use of object technology is widespread, so mastery of OOA/D is critical for you to succeed in the software world.

Learn a Process Roadmap—Second, if you are new to OOA/D, you’re understandably challenged about how to proceed; this book presents a well-defined iterative roadmap—an agile approach to the Unified Process—so that you can move in a step-by-step process from requirements to code.

Learn UML for Modeling—Third, the Unified Modeling Language (UML) has emerged as the standard notation for modeling, so it’s useful to be able to apply it skillfully.

Learn Design Patterns—Fourth, design patterns communicate the “best practice” idioms OO design experts apply. You will learn to apply design patterns, including the popular “Gang-of-Four” patterns, and the GRASP patterns. Learning and applying patterns will accelerate your mastery of analysis and design.

Learn from Experience—Fifth, the structure and emphasis in this book are based on years of experience in education and mentoring thousands of people in the art of OOA/D. It reflects that experience by providing a refined, proven, and efficient approach to learning the subject, so your investment in reading and learning is optimized.

Learn from a Realistic Study—Sixth, it exhaustively examines two case studies—to realistically illustrate the entire OOA/D process, and goes deeply into thorny details of the problem.

Design to Code, with TDD & Refactoring—Seventh, it shows how to map object design artifacts to code in Java. It also introduces test-driven development and refactor.

Layered Architecture—Eighth, it explains how to design a layered architecture and relate the UI layer to domain and technical services layers.

Design Frameworks—Finally, it shows you how to design an OO framework and applies this to the creation of a framework for persistent storage in a database.At my website there are a variety of educator resources, including all the book figures organized into Microsoft PowerPoint presentations, sample OOA/D PowerPoint presentations, and more. If you’re an educator, please contact me for resources.

I am collecting material from existing educators using the book, to share with other educators. If you have anything to share, please contact me.

Intended Audience—an Introduction!

This book is an introduction to OOA/D, related requirements analysis, and to iterative development with the Unified Process as a sample process; it is not meant as an advanced text. It is for the following audience:

  • Developers and students with some experience in OO programming, but who are new—or relatively new—to OOA/D.
  • Students in computer science or software engineering courses studying object technology.
  • Those with some familiarity in OOA/D who want to learn the UML notation, apply patterns, or who want to deepen their analysis and design skills.

Some prerequisites are assumed—and necessary—to benefit from this book:

  • Knowledge and experience in an object-oriented programming language such as Java, C#, C++, or Python.
  • Knowledge of fundamental OO concepts, such as class, instance, interface, polymorphism, encapsulation, and inheritance.

Fundamental OO concepts are not defined.

Java Examples, But...

In general, the book presents code examples in Java due to its widespread familiarity. However, the ideas presented are applicable to most—if not all—object-oriented technologies, including C#, Python, and so on.

Book Organization

The overall strategy in the organization of this book is that analysis and design topics are introduced in an order similar to that of a software development project running across an “inception” phase (a Unified Process term) followed by three.

  1. The inception phase chapters introduce the basics of requirements analysis.
  2. Iteration 1 introduces fundamental OOA/D and how to assign responsibilities to objects.
  3. Iteration 2 focuses on object design, especially on introducing some high-use “design patterns.”
  4. Iteration 3 introduces a variety of subjects, such as architectural analysis and framework design.


From the Back Cover

“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.

See all Product Description

Customer Reviews

3.4 out of 5 stars
Share your thoughts with other customers

Top Customer Reviews

Format: Hardcover Verified Purchase
This book doesn't cover everything but it is a good way to start to learn about UML and Object-Oriented Design. The author is clear and repeat the information in different ways to make sure that you've understood it. I have used this book for an Object-Oriented university class and it has done a good job teaching me.

Ce livre ne couvre pas tout ce qu'il y a à dire sur le sujet mais constitue une bonne intoduction à l'UML et au design orienté objet. L'auteur est clair et répète l'information sous différentes formes pour s'assurer de la compréhension du lecteur. J'ai utilisé ce livre pour un cours universitaire et il m'a été bien utile pour comprendre la matière.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Hardcover Verified Purchase
Bought it for a course on OO analysis and design. As a reference to learn UML from, it is a very good book with a lot of exemple and best practices and principles. Written in the context of UP method, they author does a good job to separate the two topics so that UML can be used in any other agile method. Great book overall!
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Hardcover Verified Purchase
The book is not straight forward, it doesn't treat a subject by explaining it in a direct maner. I believe the autor wanted to be thorough and explain things a lot but he did it by explaining the same things over and over. That resulted in long and dry chapters.
One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Hardcover Verified Purchase
Book is almost new, very good!
Delivery is quick, it only took several days to Montreal.
The book is the text book of the course COMP 6471 in CS of Concordia Univ.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Hardcover
Larman's Book tries to be everything for anyone and fails miserably to be anything for anyone. The subject matter is composed of topics;

Design Patterns

Both of which are addressed in passing rather than as a focus.

The sub-title; An introduction to Object Oriented Analysis and Design and Iterative development also falls by the wayside due to Author's inability to express a positive opinion. In the first section of the book, the theme of trying to explain something by describing what it is NOT rather than what it is causes no end of confusion for the reader.

Subsequent chapters are not any less confusing or better focused.

All in all, this book will not teach you anything despite its all inclusive, universal title and sub-title. You will be better off picking up texts which deal with the individual subject matters promised in the title but undelivered by Larman.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse