- Hardcover: 736 pages
- Publisher: Prentice Hall; 3 edition (October 30, 2004)
- Language: English
- ISBN-10: 0131489062
- ISBN-13: 978-0131489066
- Product Dimensions: 8.2 x 1.8 x 10.1 inches
- Shipping Weight: 3.7 pounds (View shipping rates and policies)
- Average Customer Review: 57 customer reviews
- Amazon Best Sellers Rank: #294,442 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) 3rd Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
"Children of Blood and Bone"
Tomi Adeyemi conjures a stunning world of dark magic and danger in her West African-inspired fantasy debut. Learn more
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
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.
About the Author
Craig Larman serves as chief scientist at Valtech, a leading technology consultancy with offices throughout the United States, Europe, and Asia. He is known throughout the worldwide software community as an expert and coach in OOA/D and design patterns, agile/iterative methods, an agile approach to the Unified Process (UP), and modeling with the UML. He holds a B.S. and M.S. in computer science from Simon Fraser University in Vancouver, British Columbia.
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Additionally the author is redundant and overly verbose. I get the impression that with better organization and more focused text, this book could've been more enriching. This book is sprawling, confusing, and often self-contradicting. I'm shocked to hear Martin Fowler recommends it because he is a spectacular author himself, and I wouldn't be surprised if his title "Analysis Patterns" wasn't a much more focused and well-written book on the subject of object-oriented analysis and design.
In particular, the author of "Applying UML and Patterns" attempts to dress up the GRASP as if they belonged in the GoF book Design Patterns. This is awkward at best and serves no real purpose. While there's certainly a clear distinction between all the principles, the format will only confuse those who haven't yet encountered Design Patterns. They don't live in the same mental space. Patterns all describe "what" and the GRASP describe "why." There is much in this book that frustrates me but it's largely contained in the superfluous text that deal with UML and project management. As an aside, if you simply wish to learn UML, skip this confusing mess. Read Martin Fowler's "UML Distilled."
It's not as if this book contains no information. But the majority of the information it does contain is derivative, and it's better explained in the source material. As for what's original, as far as I can tell it's not worth the price of admission, as strictly superior advice and guidelines are available elsewhere.
Now where to begin learning OOAD? As I scratched the surface I encountered such oft-cited works as Design Patterns by the "Gang of Four", Booch's Object-Oriented Analysis and Design with Applications, and Object-Oriented Modeling and Design by Rumbaugh et al. Obviously many books attempt to explain the OO paradigm. Specifically I want one that is: 1.) interesting, 2.) informed, and 3.) insightful.
That's why I'm glad I chose this book. It's unmistakably for serious readers, and not as easily accessible or "witty" as a few others. On the other hand, if you want to encounter *many* useful concepts and suggestions from an authoritative source, then I can't imagine a better choice than Applying UML and Patterns. I've read it cover-to-cover once, and have already begun referring back to it for my own purposes.
Sometimes it's useful to understand the author's perspective, to know if you will learn anything useful from their books. Craig Larman is obviously a proponent of agile risk-driven software development, OOAD, and using the UML sparsely as a communicative tool ("sketching" vs. "blueprinting").
Larman makes a very strong case for his perspective, too. After all, everyone knows requirements evolve and change over time, as does design. So why not adopt a process that accomodates this? Similarly, the UML is potentially a complicated language, but why get caught up on notation? The point is to communicate something of value, especially during design, when collaborative decisions must be made - leave the rest to CASE tools. Don't be scared of the Unified Process either, as it provides a great context in which to discuss business processes and risk-driven software development, even if you never explicitly use it.
By the time you finish this book you will: have a good overview of iterative and agile software development, know aspects of the unified process, know the basics of the OO paradigm, know how to assign responsibilities to objects, have been exposed to the most common design patterns, have encountered a few analysis patterns, and have a wealth of tips and suggestions to draw from in your own work.
All of this is presented in the context of a case study on a fictional point-of-sale system. The book slightly favors Java in its examples, but as these are fairly sparse and generally brief, it should be easy enough to follow for those familiar with C++ or C#. The author tries to note whenever choice of language has a significant impact.
Even at nearly 40 chapters, I wish the book were longer, as Larman's writing style is coherent and enjoyable. You'll likely find yourself wanting to know more about software architecture or the details of certain patterns, and luckily the book is full of citations and suggested reading material.
It's a great place to start for students and professionals, anyone who wants to pick up OOAD. If you only want a reference on patterns, then this is probably not the book for you. It doesn't go into great detail about the more complex patterns. Therefor it's recommended that you own some of the classic patterns literature. Likewise if you primarily need a reference on UML, I'd recommend Martin Fowler's excellent UML Distilled. Again, the bibliography of Applying UML and Patterns is an abundant source of related works, for those digging a bit deeper.