Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player

FREE Shipping on orders over $35.

Used - Good | See details
Sold by hippo_books.
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Applying UML and Patterns [Hardcover]

by Craig Larman
4.3 out of 5 stars  See all reviews (158 customer reviews)

Available from these sellers.

Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Hardcover --  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now
There is a newer edition of this item:
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) 4.5 out of 5 stars (43)
In Stock.

Book Description

October 30, 1997 0137488807 978-0137488803 1st
Guides students through each step of requirements, analysis, design, and coding. Topics cover Expressing analysis and design models using the UML, a standard diagramming notation, Applying patterns to assign responsibilities and design collaborations and more. DLC: Object-oriented methods.

Editorial Reviews Review

Written for the developer with previous programming and design experience, Applying UML and Patterns combines UML, software patterns, and Java to illustrate the author's own design strategy. Though author Craig Larman sometimes relies heavily on the jargon of software engineering, there's no doubt that his book contains some immediately useful ideas on software design, using the latest and greatest in software-engineering research.

This book begins by outlining a basic process of software design using iterative, object-oriented techniques. The case study used for this text is a point-of-sale (POS) system, a helpful real-world example. The book constructs use case diagrams and basic conceptual and class models for this system. The author then adds sequence diagrams to show how the POS system will do its processing and collaboration diagrams to show how objects will interact with one another. The author uses standard UML diagrams to document the design.

When it comes to refining class design, the author's experience with patterns really shines. His General Responsibility Assignment Software Patterns (GRASP) suggest guidelines for designing classes that work together effectively. Larman believes that the ability to assign responsibilities to classes effectively is one of the most important aspects of good object-oriented design. His patterns allow this to happen and provide an interesting contribution to the design process. (The author also introduces more widely used software patterns to enhance the design process.)

When it comes to coding the design, Java is the programming language of choice for this text. Further chapters discuss how to refine an initial design using an iterative process of software engineering. While it's unlikely that readers will adopt Larman's approach to software design in its entirety, his guidelines--and application of patterns to class design, all documented using UML--make this a worthwhile text for the more experienced reader. --Richard Dragan

From the Publisher

This Video Course presents an introductory course on using UML and Patterns for Object-Oriented Analysis and Design. The analogy is this, just as architects and contractors use standard plumbing and electrical blueprint notations when designing, so do programmers use UML notation and Patterns when developing new applications. --This text refers to the Turtleback edition.

Product Details

  • Hardcover: 507 pages
  • Publisher: Prentice Hall PTR; 1st edition (October 30, 1997)
  • Language: English
  • ISBN-10: 0137488807
  • ISBN-13: 978-0137488803
  • Product Dimensions: 10.4 x 8.3 x 1 inches
  • Shipping Weight: 2.6 pounds
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (158 customer reviews)
  • Amazon Best Sellers Rank: #1,474,961 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
46 of 47 people found the following review helpful
5.0 out of 5 stars The first book you should read to learn UML! November 26, 1999
Craig Larman did a splendid job simplifying UML. I bought this book along with the official UML user guide and I prefer reading this book because of how it made UML look so easy. What's so impressive about this book is that the author stays with one example throughout the book, and clearly illustrates the relationships and dependencies amongst different UML diagrams and artifacts. He even shows you how to map the diagrams to actual Java code! Larman's explanations of the different design patterns is also invaluable. I haven't heard of design patterns before, and this book helped me have a deeper appreciation of patterns to create better object-oriented software.
Comment | 
Was this review helpful to you?
70 of 75 people found the following review helpful
5.0 out of 5 stars Great Introduction To OO Analysis and Design December 21, 2001
Format:Hardcover|Verified Purchase
This book is the best introduction I have seen to object-oriented analysis and design. It explains the 'Unified Process' of analysis and design, including UML and the use of patterns. I am a big fan of this book because it emphasizes the "why"--the reason for each element of the process from a business perspective. For example, instead of simply offering a recipe for writing use cases, the book talks about why one might include or exclude specific elements to achieve specific objectives.
Those (like me) who have avoided Unified Process because it looks too rigid, bureaucratic, and form-laden will love this book. The author argues convincingly that UP is best implemented in an iterative process that looks more like Extreme Programming than the cumbersome waterfall process one typically associates with UP. Then the book shows how to implement a UP process in enough detail, with enough examples, and with enough flexibility, that a project leader can readily put this form of UP into practice.
I have avoided UP for years, but this book may have made a convert out of me. It's the first book I have seen that makes an effective business case for UP and presents a practical guide to its implementation. I have no hesitation recommending it to anyone, from novice project leaders to seasoned software architects.
Comment | 
Was this review helpful to you?
38 of 39 people found the following review helpful
5.0 out of 5 stars Concise and easy-to-read February 8, 2000
Craig Larman provides the reader with simple, easy-to-follow examples of UML and pattern application, with few deep theoretical or philisophical discussions of development process. This style offers the new user of UML a good guide to applied modeling concepts, without bogging he/she down in academic arguments. If you are going to buy a single book to learn UML, I highly recommend this one, as it goes beyond simply describing the notation, and illustrates its use through simple guidelines. Other books are necessary to fully understand the complexities of UML, patterns, and design process, but this one fills a huge gap for the beginner market.
Comment | 
Was this review helpful to you?
31 of 31 people found the following review helpful
5.0 out of 5 stars Except for the title, a great book! January 14, 2002
This book IS what the subtitle says: An Intro to OO Analysis and Design and the Unified Process. It is a GREAT introduction. It also uses patterns and does a good job of explaining why various approaches are what *good* programmers do. But it does strike me that the main title was invented to get the most "hits" on a variety of searches one might try. It's not primarily about "applying UML" which is a good thing, despite the title. It does use UML as its notation whenever notation is needed and it explains the usage well. I am using this book as a text in the first of a 3-course graduate series on software engineering. The reactions from students (all with industry experience, most without OO experience) have been quite positive. The use of an example that runs throughout the book provides a vehicle for getting deeper and deeper into certain topics. Larman writes in a very readable style but he doesn't write "down" to the reader. His motivations for various techniques/approaches are reasoned and appropriate. He references excellent books as well. As the professor, I have used some of these to develop certain topics more deeply in my accompanying lectures.
Was this review helpful to you?
30 of 33 people found the following review helpful
I feel ripped off. I was excited to see that this well-rated book had appeared in course form, and bought it to help my development group get started with UML and thinking in terms of design patterns. The book is interesting, and the tapes are not bad, but there are only about 3 hours of tape. This means that the examples are all very simple and there is only time to lightly touch on each topic. Personally, I don't consider 3 hours and 25 minutes -- minus the time spent on administrative matters -- to be anything close to a "complete video course." I'm a big fan of the idea of video courses, but in this case I feel like I paid 3 to 4 times as much as the price of the book just to get a few hours of introductory video that aren't enough to help us out. Come on, Prentice Hall -- you can do better than that! You guys know how to provide good value -- do it! Until then, my recommendation is to buy the book and spend the rest of the money on something else.
Comment | 
Was this review helpful to you?
16 of 16 people found the following review helpful
5.0 out of 5 stars GREAT introduction to object-oriented design February 27, 2002
Despite the main title, this book is not just about the UML (UML is not OOA/D or a method, it is SIMPLY NOTATION).
The book helps a developer learn core skills in the art and science of building object systems, rather than notation.
In fact, it is not so helpful to learn syntactically correct UML diagramming, but then not be able to create an excellent design, or evaluate, or improve an existing one. This is the harder and more valuable skill.
"How should responsibilities be allocated to classes of objects? How should objects interact? What classes should do what?"
These are some critical questions in the design of a system.
Knowing an object-oriented language is a necessary but insufficient first step to create object systems. This book helps a developer: Apply principles and patterns to create better object designs; Follow a set of common activities in analysis and design; Create frequently used diagrams in the UML notation.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
4.0 out of 5 stars Good classroom textbook, if that's what you want
This is a classroom text book for teaching the fundamentals of object oriented software development. Read more
Published on March 1, 2009 by P. Cherryl
5.0 out of 5 stars Thank you!
Great service! Purchased the book as a gift. Gift receiver asked for this book and is working through it.
Published on January 13, 2009 by Julie Ann Warrington
2.0 out of 5 stars Examples are not good
This book is good overview for UML however examples given are too easy and not comprehensive enough to explain the subject.
Published on June 16, 2008 by Cumhur Guzel
5.0 out of 5 stars Great work Craig Larman!
This is one of my MOST favorite books. I always have it on my table whenever I am working on the design and analysis phase of the development. Read more
Published on May 19, 2007 by Jahanzeb Farooq
5.0 out of 5 stars The BEST book for learning OO design
This book started me off in the right direction many years ago. When Grady Booch was espousing starting off with noun lists and static models and then creating the dynamic models... Read more
Published on May 31, 2006 by Freestream
5.0 out of 5 stars Great textbook on Object Oriented Analysis and Design
I taught an Object Oriented Analysis and Design course at college using this book. It was the ideal textbook. No book on OOAD I know comes close to it. Read more
Published on February 16, 2006 by T. Pasternak
5.0 out of 5 stars The Rosetta Stone for Applying UML
This book is more about the identifying and satisfying the dependencies that are such stumbling blocks for new or naive practioners of OO design with UML. Read more
Published on October 15, 2005 by Greg
5.0 out of 5 stars Not what I was expecting... but it was what I needed.
If you are looking for a UML book that details every single aspect of the UML, then this may not be what you're looking for.

This book hit me a bit by surprise. Read more
Published on September 12, 2005 by Steven
5.0 out of 5 stars Wonderful introduction to OOA and OOD
Coming from a VB6 (Book-Educated) background, OOA and OOD were very foreign to me. I had read some small explinations in a few books but it just wasnt enough to get me to start... Read more
Published on October 29, 2004 by C. A. Kirst
5.0 out of 5 stars The best book for introducing in OOAD and Design Patterns
If you want to introduce to the world of OOAD and Desing Patterns this is the best book for you ! Don't doubt to buy this book. Read more
Published on July 5, 2004 by Ricardo Quintero
Search Customer Reviews
Only search this product's reviews

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category