Amazon.com
One of the most important recent developments in software engineering is the Unified Modeling Language (UML) standard for documenting software designs. Written by UML's inventors (the so-called Three Amigos of software engineering), The Unified Modeling Language User Guide provides a very appealing guide to all the fundamentals of using UML effectively. The book opens with a basic tour of the essential concepts and modeling diagrams used in UML, including class diagrams, use case diagrams, and basic modeling principles. The authors pay close attention to modeling classes (and documenting the relationships between classes) as well as use case diagrams (which show how software will be used by various actors in a system). This book mixes in a little software-engineering theory, too, but it makes use of clear examples and actual UML diagrams to illustrate key concepts.
Later in the book, the authors discuss more difficult notational diagrams (such as state diagrams and activity diagrams, which can be used to model behavior in a system). Whatever your background in software engineering, you'll no doubt appreciate the author's clear explanations of basic (and advanced) modeling concepts, as well as the nuts-and-bolts details of today's powerful UML. With its combination of expert modeling advice and excellent detail on the specifics of UML, this book will be absolutely essential reading for anyone who wants to use UML for real-world software design. --Richard Dragan/p>
Reviews From AMAZON.COM
Do not buy this book for UML learning
This was a Text Guide in my OO Design class.
The book is good as a reference. Remember a User Guide is just an atomic explanation of each concept, it won't tell you how the whole thing works.
The book will explain you what a sequence diagram, a class diagram is, what is definition of interface, subsystem and so for. But the key on learning UML is how all these diagrams,models, subsystems and packages are applied? and in which order they must be developed? and when to use them?.
If you face a project, the book will be useless, why? Because it won't tell you that you first obtain you sequence diagrams from you specs requirements so you can obtain your class diagrams by discovering classes on them using a Boundary Controller Entity method or any other method. No technique is explained in this book.
The examples are simplistic and lack of real world application.
Historical, strongly structured and thorough reference
The book has a progressive exposition of the UML since it is organized, within a prologue and an epilogue, in the following sections: basic structural modeling, advanced structural modeling, basic behavioral modeling, advanced behavioral modeling, architecture modeling.
All the basic and advanced parts of the nine kinds of diagrams of the language (UML 1.3) are introduced and described, making this a thorough reference.
Very useful are the references in blue type to the left of every concept, that would be hyperlinks in an electronic version of the book, because they give instant access to deepenings.
It's not a book to read from cover to cover, as suggested for the novice by Booch in the preface, since its systematicness in exposition, a mid-way between an academic book and a technical manual. The best way to read it is in an `iterative and incremental' way. You can read only basic parts (a refinement step (the second iteration) with regard to Fowler's UML distilled) and fix the concepts with a UML modeling tool (while reading the book, more than six years ago, I used the trial versions of MagicDraw ) building complex example by yourself. Browse the advanced topics and delve into them when necessary. Here the rule of the 80-20, as Booch says, can and should be applied.
Every chapter instances a pattern in expressing the concepts (getting started, terms and concepts, common modeling techniques, hints and tips). There's not an example that grows from zero to completion, as in Larman's Applying UML and Patterns, throughout the book, instead you are introduced to the single concept of the language.
So formal that xtUML (executable and translatable UML: a subset of the UML, usable by embedded software developers) was possible, visionary in some aspects (deploy of the code from deployment diagrams, view chapter 30), enlightening for others (view chapter 27 on collaborations), now requires a second edition to illustrate the new and extended concepts of UML 2.0.
This was a long-awaited book (for years the reference, along with OMG specifications) from the software community and along with the other two (Rumbaugh's Reference Manual and Jacobson's USDP), edited after this, was part of the Rational's operation to produce the greatest commercial effects in terms of revenues (you can review the RATL stock prices at NASDAQ in that period).
Between publication and nowadays the focus has shifted from the language UML to the methodology/process (XP, Agile, xUP). But every iterative, incremental, architecture-centered process can't do without it.

ISBN:0321267974