Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image
Have one to sell? Sell on Amazon

The Unified Modeling Language User Guide (Addison-Wesley Object Technology Series) Hardcover – September 30, 1998

ISBN-13: 978-0201571684 ISBN-10: 0201571684 Edition: 1st
Buy used
Condition: Used - Good Details
Condition: Used: Good
Comment: Fast Shipping - Safe and Secure Bubble Mailer!
Access codes and supplements are not guaranteed with used items.

Used & new from other sellers Delivery options vary per offer
152 used & new from $0.01
Amazon Price New from Used from
Hardcover, September 30, 1998
"Please retry"
$0.30 $0.01

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now

Editorial Reviews

Amazon.com Review

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

From the Inside Flap

The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML gives you a standard way to write a system's blueprints, covering conceptual things, such as business processes and system functions, as well as concrete things, such as classes written in a specific programming language, database schemas, and reusable software components.

This book teaches you how to use the UML effectively. Goals

In this book, you will

Learn what the UML is, what it is not, and why the UML is relevant to the process of developing software-intensive systems Master the vocabulary, rules, and idioms of the UML and, in general, learn how to "speak" the language effectively Understand how to apply the UML to solve a number of common modeling problems

The user guide provides a reference to the use of specific UML features. However, it is not intended to be a comprehensive reference manual for the UML; that is the focus of another book, The Unified Modeling Language Reference Manual (Rumbaugh, Jacobson, Booch, Addison-Wesley, 1999).

The user guide describes a development process for use with the UML. However, it is not intended to provide a complete reference to that process; that is the focus of yet another book, The Unified Software Development Process (Jacobson, Booch, Rumbaugh, Addison-Wesley, 1999).

Finally, this book provides hints and tips for using the UML to solve a number of common modeling problems, but it does not teach you how to model. This is similar to a user guide for a programming language that teaches you how to use the language but does not teach you how to program. Audience

The UML is applicable to anyone involved in the production, deployment, and maintenance of software. The user guide is primarily directed to members of the development team who create UML models. However, it is also suitable to those who read them, working together to understand, build, test, and release a software-intensive system. Although this encompasses almost every role in a software development organization, the user guide is especially relevant to analysts and end users (who specify the required structure and behavior of a system), architects (who design systems that satisfy those requirements), developers (who turn those architectures into executable code), quality assurance personnel (who verify and validate the system's structure and behavior), librarians (who create and catalogue components), and project and program managers (who generally wrestle with chaos, provide leadership and direction, and orchestrate the resources necessary to deliver a successful system).

The user guide assumes a basic knowledge of object-oriented concepts. Experience in an object-oriented programming language or method is helpful but not required. How to Use This Book

For the developer approaching the UML for the first time, the user guide is best read linearly. You should pay particular attention to Chapter 2, which presents a conceptual model of the UML. All chapters are structured so that each builds upon the content of the previous one, thus lending itself to a linear progression.

For the experienced developer seeking answers to common modeling problems using the UML, this book can be read in any order. You should pay particular attention to the common modeling problems presented in each chapter. Organization and Special Features

The user guide is organized into seven major sections:

Section 1 Getting Started Section 2 Basic Structural Modeling Section 3 Advanced Structural Modeling Section 4 Basic Behavioral Modeling Section 5 Advanced Behavioral Modeling Section 6 Architectural Modeling Section 7 Wrapping Up

The user guide contains three appendices: a summary of the UML notation, a list of standard UML elements, and a summary of the Rational Unified Process. A glossary of common terms is also provided.

Each chapter addresses the use of a specific UML feature, and most are organized into the following four sections:

Getting Started Terms and Concepts Common Modeling Techniques Hints and Tips

The third section introduces and then solves a set of common modeling problems. To make it easy for you to browse the guide in search of these use cases for the UML, each problem is identified by a distinct heading.

Each chapter begins with a summary of the features it covers, as in the following example.

In this chapter

Active objects, processes, and threads Modeling multiple flows of control Modeling interprocess communication Building thread-safe abstractions

Similarly, parenthetical comments and general guidance are set apart as notes, as in the following example. Note: You can specify more complex multiplicities by using a list, such as 0..1, 3..4, 6..*, which would mean "any number of objects other than 2 or 5."

The UML is semantically rich. Therefore, a presentation about one feature may naturally involve another. In such cases, cross references are provided in the left margin. Blue highlights are used in figures to distinguish text that explains a model from text that is part of the model itself. Code is distinguished by displaying it in a monospace font, as in this example. A Brief History of the UML

Object-oriented modeling languages appeared sometime between the mid 1970s and the late 1980s as methodologists, faced with a new genre of object-oriented programming languages and increasingly complex applications, began to experiment with alternative approaches to analysis and design. The number of object-oriented methods increased from fewer than 10 to more than 50 during the period between 1989 and 1994. Many users of these methods had trouble finding a modeling language that met their needs completely, thus fueling the so-called method wars. Learning from experience, new generations of these methods began to appear, with a few clearly prominent methods emerging, most notably Booch, Jacobson's OOSE (Object-Oriented Software Engineering), and Rumbaugh's OMT (Object Modeling Technique). Other important methods included Fusion, Shlaer-Mellor, and Coad-Yourdon. Each of these was a complete method, although each was recognized as having strengths and weaknesses. In simple terms, the Booch method was particularly expressive during the design and construction phases of projects, OOSE provided excellent support for use cases as a way to drive requirements capture, analysis, and high-level design, and OMT-2 was most useful for analysis and data-intensive information systems.

A critical mass of ideas started to form by the mid 1990s, when Grady Booch (Rational Software Corporation), Ivar Jacobson (Objectory), and James Rumbaugh (General Electric) began to adopt ideas from each other's methods, which collectively were becoming recognized as the leading object-oriented methods worldwide. As the primary authors of the Booch, OOSE, and OMT methods, we were motivated to create a unified modeling language for three reasons. First, our methods were already evolving toward each other independently. It made sense to continue that evolution together rather than apart, eliminating the potential for any unnecessary and gratuitous differences that would further confuse users. Second, by unifying our methods, we could bring some stability to the object-oriented marketplace, allowing projects to settle on one mature modeling language and letting tool builders focus on delivering more useful features. Third, we expected that our collaboration would yield improvements for all three earlier methods, helping us to capture lessons learned and to address problems that none of our methods previously handled well.

As we began our unification, we established three goals for our work:

To model systems, from concept to executable artifact, using object- oriented techniques To address the issues of scale inherent in complex, mission-critical systems To create a modeling language usable by both humans and machines

Devising a language for use in object-oriented analysis and design is not unlike designing a programming language. First, we had to constrain the problem: Should the language encompass requirements specification? Should the language be sufficient to permit visual programming? Second, we had to strike a balance between expressiveness and simplicity. Too simple a language would limit the breadth of problems that could be solved; too complex a language would overwhelm the mortal developer. In the case of unifying existing methods, we also had to be sensitive to the installed base. Make too many changes, and we would confuse existing users; resist advancing the language, and we would miss the opportunity of engaging a much broader set of users and of making the language simpler. The UML definition strives to make the best trade-offs in each of these areas.

The UML effort started officially in October 1994, when Rumbaugh joined Booch at Rational. Our project's initial focus was the unification of the Booch and OMT methods. The version 0.8 draft of the Uni


Shop the new tech.book(store)
New! Introducing the tech.book(store), 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

Product Details

  • Series: Addison-Wesley Object Technology Series
  • Hardcover: 512 pages
  • Publisher: Addison-Wesley Professional; 1 edition (September 30, 1998)
  • Language: English
  • ISBN-10: 0201571684
  • ISBN-13: 978-0201571684
  • Product Dimensions: 7.6 x 1.1 x 9.5 inches
  • Shipping Weight: 1.8 pounds
  • Average Customer Review: 3.3 out of 5 stars  See all reviews (86 customer reviews)
  • Amazon Best Sellers Rank: #2,538,577 in Books (See Top 100 in Books)

More About the Authors

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

Customer Reviews

3.3 out of 5 stars

Most Helpful Customer Reviews

32 of 33 people found the following review helpful By Tom O Bjorkholm on February 26, 2000
Format: Hardcover
"The Unified Modeling Language User Guide" really starts from the beginning. Apparently the reader is assumed to be totally unfamiliar with object oriented design. The book starts with the very basics, and explains a reasonably complete set of UML. The really advanced and esoteric features are not explained.
Each chapter is written like a good lecture. It starts from the very beginning assuming no previous knowledge of OO. Then one aspect of UML is carefully explained. Every chapter ends with some concluding remarks and "hints and tips". This organization is mostly good, but it adds a lot of repetition to the book.
The language is smooth and easy to read. It might still be a struggle to get read the book simply because of the amount of text (and repetition).
I would recommend this book to the interested novice. However, if you are reasonably familiar with UML, or if you have a solid foundation in object oriented programming, then I would recommend you the combination of "UML Distilled" by Martin Fowler and "The Unified Modeling Language Reference Manual" by James Rumbaugh et.al.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
35 of 37 people found the following review helpful By Dave O'Hearn on June 26, 2000
Format: Hardcover
If this were the only UML book in existence, it would deserve 5 stars. It contains a lot of information and a nearly comprehensive list of language features without the dry tone of a reference. But there are better books on the market and this is not the one to spend your $45 on. If you want a comprehensive reference, get the UML reference. If you want an introduction, get UML Distilled.
I purchased this text because the introduction to UML Distilled said that this book would be better if you wanted a really in depth understanding of the UML. Unfortunately, it does not fulfill this role. While it succeeds in catelogging nearly all the features of UML, it has no unified examples. Indeed, all the examples are next to trivial.
The book is not worthless. I read it and worked through some examples from my own experience, and I'm pretty comfortable with UML now. But good examples are something a text like this should provide. To really see the UML in action, I'm going to have to buy another book. I'll keep this one as a reference, but that isn't the purpose it was designed for.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
25 of 26 people found the following review helpful By Daniel Duffy on January 29, 2001
Format: Hardcover
I am an UML trainer and have used all three books by the amigos. I shall relate what my students have to say ... The reactions from my students is that the Booch book lacks depth (my students work in embedded systems, workflow, CAD ...), repeats itself and is unsuitable for serious work. Booch's earlier books did have some real applications (for example, the Home Heating System). In particular, his use of state machines was good. Today, they have been scaled down somewhat (they are mostly of the so-called anthroposophic kind and thus useless). Concluding, it is a pity that someone with the wealth of knowledge and background that the author has has not taken the effort to produce something of more value. After all, novice developers look up to the 3 amigos as being the 'gurus' of UML.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
18 of 18 people found the following review helpful By Jason Dinger on November 23, 1999
Format: Hardcover
This book is by far one of the best textbooks I have ever read. It has a clear, consistent organization of each chapter throughout the book. I really enjoyed the books iterative format in which concepts and terminology were briefly introduced, and then brought up time and again to build on earlier lessons. It is a great way to learn because the overall picture is given from the beginning and then expanded upon throughout the book.
Another plus to this book is the many mini-tutorials on how to apply the UML to real world problems.
I would definitely recommend this book to anyone who is serious about becoming a better software developer.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
21 of 22 people found the following review helpful By Sean Kelly on January 1, 2000
Format: Hardcover Verified Purchase
Who other than the inventors of the Unified Modeling Language to write the definitive guide to it? Booch, Jacobson, and Rumbaugh have answered the call with this book describing UML syntax, semantics, and diagrams with great detail.
Throughout the book, the authors draw parallels to building architecture for corresponding UML elements for software architecture. There's effective use of two-color printing to distinguish metadiscourse and metadiagrams from actual UML diagrams.
And it's deep: VERY deep. The authors explore nearly every use of every UML element, covering things that most users of UML will never use. In that regard, this book makes a better reference manual than a user's guide. I'd recommend getting this book to sit on the shelf when you have questions or want to solve an ambiguity, but stick with Martin Fowler's "UML Distilled" for the core UML that you'll use day-to-day.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
16 of 16 people found the following review helpful By Linus W Freeman on February 23, 2001
Format: Hardcover
This is a great book on UML written by three leading methodologists at Rational Rose (Jacobson, Booch, and Rumbaugh) who solicited input from the major software players in the industry during the development of UML.
I read most of the UML Toolkit book that was published before the UML Users Guide, but it was rather dry reading and didn't cover UML comprehensively like the UML Users Guide does.
After reading the UML Users guide, and maybe the Unified Process by the same authors, you can apply this knowledge to manage the complexity and architecture of large systems, assuming that not only do you understand all of the UML notation, but know how to apply it through education, training and expertise.
The UML Users guide is well written and has very short granular chapters that cover one self-contained concept of the UML. It is a must read for any serious software engineer who wants to speak a common modeling language and get beyond a code and fix type approach to development.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews