Join Books.org — it's free

Object-Oriented Programming, Other Programming Languages, General Software Engineering
The Unified Modeling Language User Guide (Second Edition) by Grady Booch β€” book cover

The Unified Modeling Language User Guide (Second Edition)

by Grady Booch, Ivar Jacobson, James Rumbaugh
Write a review
Log in to track your reading progress.

Overview

Introduced in 1997, the Unified Modeling Language (UML) has rapidly been accepted throughout the software industry as the standard graphical language for specifying, constructing, visualizing, and documenting software-intensive systems. The UML provides anyone involved in the production, deployment, and maintenance of software with a standard notation for expressing a system's blueprint. The UML covers conceptual things, such as business processes and system functions, as well as concrete things, such as programming-language classes, database schemas, and reusable software components. In The Unified Modeling Language User Guide, the original developers of the UML-Grady Booch, James Rumbaugh, and Ivar Jacobson-provide a tutorial to the core aspects of the language in a two-color format designed to facilitate learning. Starting with a conceptual model of the UML, the book progressively applies the UML to a series of increasingly complex modeling problems across a variety of application domains. This example-driven approach helps readers quickly understand and apply the UML. For more advanced developers, the book includes a learning track focused on applying the UML to advanced modeling problems.

With The Unified Modeling Language User Guide, readers will:

  • understand what the UML is, what it is not, and why it is relevant to the development of software-intensive systems
  • master the vocabulary, rules, and idioms of the UML in order to "speak" the language effectively
  • learn how to apply the UML to a number of common modeling problems
  • see illustrations of the UML's use interspersed with use cases for specific UML features
  • gain insight into the UML from the original creators of the UML


From the developers of UML, this tutorial reviews the core aspects of the language used to specify construct, visualize and document software-intensive systems. The authors begin with a conceptual model and progressively apply UML to increasingly complex models for a variety of applications. To derive the most benefit from this publication, you should be familiar with software engineering concepts and object-oriented modeling. After all, the author's intent is to teach you how to use UML effectively, not to go through the entire development process, or provide a reference for UML. Other publications listed below address those important issues.

Synopsis

The Unitied Modeling Language User Guide, is the first of two UML works written by the creators of UML. This book will introduce the core 80 percent of UML, approaching it in a layered fashion and providing numerous examples of it s application. The title is suitable for developers unfamiliar with UML or with modeling in general.

Booknews

A tutorial to the core aspects of the UML by the language's original developers. Begins with a conceptual model of the UML and then progressively applies the UML to a series of increasingly complex modeling problems across a variety of application domains. Covers structural modeling, behavioral modeling, and architectural modeling. Also includes a learning track focused on applying the UML to advanced modeling systems for more advanced developers. Appends information on UML notation, standard elements, and rational unified processes. Annotation c. by Book News, Inc., Portland, Or.

About the Author, Grady Booch

Grady Booch, James Rumbaugh, and Ivar Jacobson are the original designers of the Unified Modeling Language and three of the most widely known names in the field of software engineering. Accomplished authors, they are recognized worldwide for many significant contributions to the development of object technology, including the Booch Method, the Object Modeling Technique (OMT), and the Objectory (OOSE) Process. Booch and Rumbaugh work at IBM, and Jacobson is an independent consultant.

Reviews

There are no reviews yet. Log in to write one.

Editorials

Booknews

A tutorial to the core aspects of the UML by the language's original developers. Begins with a conceptual model of the UML and then progressively applies the UML to a series of increasingly complex modeling problems across a variety of application domains. Covers structural modeling, behavioral modeling, and architectural modeling. Also includes a learning track focused on applying the UML to advanced modeling systems for more advanced developers. Appends information on UML notation, standard elements, and rational unified processes. Annotation c. by Book News, Inc., Portland, Or.

Eduardo Fernandez

More UML Books

Until now, object-oriented projects in the computer industry have emphasized languages over models; many people believe that object-oriented programming means using C++ or Java. This is clearly a misunderstanding. Object-oriented programming is a method of problem solving, not a language issue; one can write object-oriented programs in Assembly language and write nonobject-oriented programs in C++. The key to object-oriented programming is modeling. Hopefully, the emergence of UML (Unified Modeling Language), as the OMG (Object Management Group) standard, will help change that situation. The standardization of modeling notations ends the confusion produced by a myriad of competing notations, which although they all had similar semantics, made claims to be unique or better than the others. While UML may not be perfect, its use as a standard will make modeling more uniform and better understood.

UML: The Unified Modeling Language User Guide, and The UML Reference Manual, both by Grady Booch, Jim Rumbaugh, and Ivor Jacobson, are long-awaited books from the main designers of UML. They will not disappoint those who waited. These books are excellent descriptions of what users need to know in order to use UML for practical applications.

The User Guide is divided into six main sections: "Getting Started" (three chapters), "Basic Structural Modeling" (five chapters), "Advanced Structural Modeling" (six chapters ), "Basic Behavioral Modeling" (five chapters), "Advanced Behavioral Modeling" (five chapters), and "Architectural Modeling" (seven chapters). The chapters include every aspect of UML, with examples and detailed discussions. The material is well organized and each chapter includes a general description of the concepts and some practical advice on their use. The examples are carefully chosen and I could not find any errors. Each chapter also includes a section on reverse engineering, which should be very valuable for practitioners. Thirty-three pages of appendices summarize UML and the Rational process (the authors all work for Rational, Inc.). It also includes a superfluous glossary (it even has a definition of UML in case you still didn't understand what it is).

The Reference Manual complements the User Guide by alphabetically describing in detail each language concept. For each concept, its notation and semantics are described; in many cases there is also a discussion section and an example. The coverage is quite complete (the reference section covers about 400 pages), in clear and precise language. The book also includes 12 chapters (90 pages) with general aspects of UML. Three appendices describe the UML metamodel, a notation summary, and process extensions. I'd have liked to see the explanation of concepts in terms of the metamodel; the examples are good for understanding, but not very precise.

Overall, these books fulfill their mission very well--they are authoritative sources of notation, definitions, usage, style, and general insight into UML. However, don't get any ideas about learning object-oriented concepts from them because this is not their purpose, and the books assume you already know this. For some ideas of where to look for basic concepts see my "Programmer's Bookshelf," DDJ, December 1998. The style of both books is clear, although at times perhaps too simple in an attempt to reach a wide audience, and at times verbose. There are also repetitions because of the organization of each chapter or section.

For a method that is the result of many suggestions and somewhat controversial as a standard, it is surprising that no references are given in the User Guide and only a few (mostly books) in the Reference Manual. A more complete set of references would have helped the reader to see how some of their ideas originated, what alternatives exist, what is missing, and in general, to provide a deeper understanding of the language.

I have used books by Rumbaugh and Booch in my classes, and the high level of their writing shines through these books. Jacobson is the originator of the concept of Use Cases and his style also shows here. The authors have incorporated ideas and suggestions from many sources, but they have been able to keep the core philosophy of their early work.

The Object Constraint Language: Precise Modeling With UML, by J. Warner and A. Kloppe, describes the OCL (Object Constraint Language), a language intended to complement UML and similar languages with a notation to express constraints precisely. A constraint is a restriction in some of the values of the model. OCL originated in IBM and one of the authors works for that company.

In contrast to similar approaches (such as Syntropy, see "Let's Get Formal," by S. Cook and J. Daniels, Journal of Object-Oriented Programming, July-August 1994), that use Z or a known formal language to make UML constraints more precise, OCL is a language expressly designed for this purpose, attempting to be both formal and simple. Its supposed simplicity comes from making the notation more verbose and less symbolic. I have my doubts that this really provides simplicity: If I know the meaning of "element x belongs to set A" written symbolically as in Z , seeing it written as "x belongs to A" doesn't make it simpler; if I don't know its meaning, the words don't help.

The book illustrates most of the concepts with a small, clear example. I'd have liked to see a more complex example, similar to the ones described by Cook and Daniels, to appreciate whether it is really simpler than Z. This is a slim book, 86 pages of material, and the rest includes two appendices, a concise reference manual for OCL, and a description of its formal grammar. A short but well chosen set of references ends this book. In spite of my doubts, I like the attempt to make software more rigorous. We need that for the complex software systems of the future.

In summary, UML: The Unified Modeling Language User Guide and The UML Reference Manual are must-have books for any development group and each developer should at least have the User Guide. The Object Constraint Language: Precise Modeling With UML is highly recommended. I'd like to see programmers increasing the precision of their analysis models.

UML is a notation to produce models, and its variety of diagrams is not easy to handle in a complex project. A process book by the three authors of the User Guide is due to appear shortly and will describe how to use these models along the development lifecycle.--Dr. Dobb's Electronic Review of Computer Books

Book Details

Published
May 1, 2005
Publisher
Addison-Wesley
Pages
475
Format
Hardcover
ISBN
9780321267979

More by Grady Booch

Similar books