Unified Modeling Language Reference Manual (UML)

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Hardcover)
  • All (35) from $1.99   
  • New (4) from $38.16   
  • Used (31) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$38.16
Seller since 2008

Feedback rating:

(167)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
020130998X BRAND NEW NEVER USED IN STOCK 125,000+ HAPPY CUSTOMERS SHIP EVERY DAY WITH FREE TRACKING NUMBER

Ships from: fallbrook, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$56.39
Seller since 2014

Feedback rating:

(0)

Condition: New
020130998X New Book. Please allow 4-14 business days to arrive. We will ship Internationally as well. Very Good Customer Service is Guaranteed!! Millions sold offline.

Ships from: Newport, United Kingdom

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
$65.00
Seller since 2014

Feedback rating:

(113)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$65.00
Seller since 2014

Feedback rating:

(113)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by

Overview

The authors have done an outstanding job with this UML book. The definitions of the terms are the best I have seen. The organization and material in the encyclopedia are fantastic!
—Perry Cole, MCIWorldCom

The Unified Modeling Language (UML) has rapidly become the standard notation for modeling software-intensive systems. This book provides the definitive description of UML from its original developers—James Rumbaugh, Ivar Jacobson, and Grady Booch. Whether you are capturing requirements, developing a software architecture, designing the implementation, or trying to understand an existing system, this is the book for you.

The majority of the book is a unique alphabetical list of articles covering every aspect of UML in a form convenient for quick reference and detailed study. This format permits full coverage of UML details as well as high-level articles without confusing the reader by constant shifts in level. The first part of the book—a complete summary of UML concepts organized by subject area—provides an introduction to UML for the newcomer as well as entry points into the detailed articles.

Highlights of the book include:

  • Two-color diagrams, extensively annotated
  • Thorough coverage of both semantics and notation, separated in each article for easy reference
  • Further explanations of concepts whose meaning or purpose is obscure in the original specifications
  • Discussion sections offering usage advice and additional insight into tricky concepts
  • A hyperlinked version of the book in Adobe Reader format on CD-ROM, an excellent resource for browsing or searching the text for specific information
  • Full text of the UML specification documents on CD-ROM, courtesy of the Object Management Group
  • Notation summary, with hyperlinks to individual articles on CD-ROM


Designed for developers, architects, project managers and systems engineers, this guide and definitive reference aids in the design and construction of large-scale software projects. From the original designers of the Unified Modeling Language, this text reviews UML and discusses the nature and purpose of software models. It certainly a recommended reference. To derive the most benefit from this publication, you should be familiar with UML notation, object-oriented concepts, project modeling or Use Case concepts.

Read More Show Less

Editorial Reviews

Booknews
Written by the original designers of the Unified Modeling Language (UML), this reference provides additional detail about issues that may not be clear from the standards documents, and a rationale for many decisions that went into the UML. Opens with a history of UML, then surveys the views UML supports and shows how the various constructs work together. The majority of the book is an alphabetical encyclopedia of all of the concepts and constructs in UML. A complimentary CD-ROM with the complete UML standards documents can be requested by mail. 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

Read More Show Less

Product Details

  • ISBN-13: 9780201309980
  • Publisher: Addison-Wesley
  • Publication date: 12/18/1998
  • Series: Addison-Wesley Object Technology Series
  • Edition description: Older Edition
  • Pages: 550
  • Product dimensions: 7.54 (w) x 9.40 (h) x 1.35 (d)

Meet the Author

Dr. James Rumbaugh is one of the leading object-oriented methodologists. He is the chief developer of the Object Modeling Technique (OMT) and the lead author of the best-selling book Object-Oriented Modeling and Design. Before joining Rational Software Corporation in October 1994, he worked for more than 25 years at General Electric Research and Development Center in Schenectady, New York.

He has been working on object-oriented methodology and tools for many years. He developed the DSM object-oriented programming language, the state tree model of control, the OMT object modeling notation, and the Object Modeling Tool graphic editor. The foundations for the OMT notation were developed more than 10 years ago with Mary Loomis and Ashwin Shah of Calma Corporation. The OMT methodology was developed at GE R&D Center with coauthors Mike Blaha, Bill Premerlani, Fred Eddy, and Bill Lorensen.

Dr. Rumbaugh received his Ph.D. in computer science from MIT. During his Ph.D. research under Professor Jack Dennis, Dr. Rumbaugh was one of the inventors of data flow computer architecture. His career has dealt with semantics of computation, tools for programming productivity, and applications using complex algorithms and data structures. Dr. Rumbaugh has published journal articles on his work and has spoken at leading object-oriented conferences. He writes a regular column for the Journal of Object-Oriented Programming.

Dr. Rumbaugh is the lead author of the recent best-selling book Object-Oriented Modeling and Design, published by Prentice Hall. His latest book, OMT Insights: Perspectives on Modeling from the Journal of Object-Oriented Programming, was released in October 1996. He and hiscolleagues developed the OMT methodology described in the book based on real-world applications at GE, and they have worked to extend the original methodology. He has taught courses based on the methodology to different audiences around the world, ranging from one-hour seminars to intensive several-day training courses.

He has a B.S. in physics from MIT, an M.S. in astronomy from Caltech, and a Ph.D. in computer science from MIT.

During his career at GE, he worked on a variety of problems, including the design of one of the first time-sharing operating systems, early work in interactive graphics, algorithms for computed tomography, use of parallel machines for fast image generation, VLSI chip design, and finally, object-oriented technology.

Jim developed OMTool, an interactive graphical editor for manipulation of object model diagrams. The editor is commercially available. In addition, he led a five-year programming effort producing production-quality software.

In addition, Jim was the manager of the Software Engineering Program at GE, where he led a team of eight to ten Ph.D. and M.S. scientists performing research in software engineering in the areas of algorithm development, programming languages, program proving, and VLSI computer-aided design. In addition, he performed personal research.

Jim developed Chipwright, an interactive graphical CAD system for VLSI layout with incremental design rule checking. He also led a team of four programmers in implementation.

Jim developed and implemented the object-oriented language DSM, combining object-oriented concepts with database concepts and distributed it within GE for use on production applications. The language was heavily used at Calma Corporation and was extensively extended based on user feedback with a preliminary version.

Jim also developed Vista, a hierarchical interactive standard graphics system (similar to the PHIGS system) written in the object-oriented DSM language. He implemented user-interface applications based on this system, including a configuration-management tool and a user-interface generation tool.

Jim developed the concept of state trees, a structured extension of finite state machines incorporating a new model of object-oriented control. He applied it to the design of user interfaces, and the technique was used as a main aspect of the CHIDE user-interface system developed by colleagues at GE-CRD. Later, it was used in the OMTool object editor.

Jim also developed the Flow Graph System, a generic interactive graphic system for controlling a network of design engineering jobs, including management of multiple versions of data and coordination of information flow among applications. He received a patent on the underlying concepts.

In addition, Jim developed algorithms for the reconstruction of images for computerized tomography using fewer input points and with reduced noise in the reconstructed images. He also developed algorithms for display of three-dimensional images in real time using array processors, and he developed Parallax, a language for programming pipelined array processors.

Jim has served on various committees, including the OOPSLA Program Committee and the TOOLS Program Committee.

Ivar Jacobson, Ph.D., is “the father” of many technologies, including components and component architecture, use cases, modern business engineering, and the Rational Unified Process. He was one of the three amigos who originally developed the Unified Modeling Language. He is the principal author of five best-selling books on these methods and technologies, in addition to being the coauthor of the two leading books on the Unified Modeling Language. Ivar is a founder of Jaczone AB, where he and his daughter and cofounder, Agneta Jacobson, are developing a ground-breaking new product that includes intelligent agents to support software development. Ivar also founded Ivar Jacobson Consulting (IJC) with the goal of promoting good software development practices throughout teams worldwide. Grady Booch, is the Chief Scientist at Rational Software Corporation and developer of the Booch Method of object-oriented analysis and design. He is also co-developer of the Unified Modeling Language (UML). Widely recognized for these and many contributions in the field, he is a popular speaker at technology conferences around the world. Booch has twice received Software Development magazine's coveted Jolt-Cola Product Excellence Award for his seminal text, Object-Oriented Analysis and Design with Applications.

Read More Show Less

Read an Excerpt

Goals

This book is intended to be a complete and useful reference to the Unified Modeling Language (UML) for the developer, architect, project manager, system engineer, programmer, analyst, contracting officer, customer, and anyone else who needs to specify, design, build, or understand complex software systems. It provides a full reference to the concepts and constructs of UML, including their semantics, syntax, notation, and purpose. It is organized to be a convenient but thorough reference for the working professional developer. It also attempts to provide additional detail about issues that may not be clear from the standard documents and to provide a rationale for many decisions that went into the UML.

This book is not intended as a guide to the UML standards documents or to the internal structure of the metamodel contained in them. The details of the metamodel are of interest to methodologists and UML tool builders, but most other developers have little need for the arcane details of the Object Management Group (OMG) documents. This book provides all the details of UML that most developers need; in many cases, it makes information explicit that must otherwise be sought between the lines of the original documents. For those who do wish to consult the source documents, they are included on the accompanying CD.

This book is intended as a reference for those who already have some understanding of object-oriented technology. For beginners, the original books by us and by other authors are listed in the bibliography; although some of the notation has changed, books such as Rumbaugh-91, Booch-94, Jacobson-92, and Meyer-88 provide an introduction to object-orientedconcepts that is still valid and therefore unnecessary to duplicate here. For a tutorial introduction to UML that shows how to model a number of common problems, see The Unified Modeling Language User Guide Booch-99. Those who already know an object-oriented method, such as OMT, Booch, Objectory, Coad-Yourdon, or Fusion, should be able to read the Reference Manual and use it to understand UML notation and semantics; to learn UML quickly, they may nevertheless find it useful to read the User Guide.

UML does not require a particular development process, and this book does not describe one. Although UML may be used with a variety of development processes, it was designed to support an iterative, incremental, use-casendriven process with a strong architectural focus—the kind we feel is most suitable for the development of modern, complex systems. The Unified Software Development Process Jacobson-99 describes the kind of process we believe complements the UML and best supports software development. Outline of the Book

The UML Reference Manual is organized into three parts: an overview of UML history and of modeling, a survey of UML concepts, and an alphabetical encyclopedia of UML terms and concepts.

The first part is a survey of UML—its history, purposes, and uses—to help you understand the origin of UML and the need it tries to fill.

The second part is a brief survey of UML views so that you can put all the concepts into perspective. The survey provides a brief overview of the views UML supports and shows how the various constructs work together. This part begins with an example that walks through various UML views and then contains one chapter for each kind of UML view. This survey is not intended as a full tutorial or as a comprehensive description of concepts. It serves mainly to summarize and relate the various UML concepts and provides starting points for detailed readings in the encyclopedia.

The third part contains the reference material organized for easy access to each topic. The bulk of the book is an alphabetical encyclopedia of all of the concepts and constructs in UML. Each UML term of any importance has its own entry in the encyclopedia. The encyclopedia is meant to be complete; therefore, everything in the concept overview in Part 2 is repeated in more detail in the encyclopedia. The same or similar information has sometimes been included in multiple encyclopedia articles so that the reader can conveniently find it.

The reference part also contains an alphabetic list of UML standard elements. A standard element is a feature predefined using the UML extensibility mechanisms. The standard elements are extensions that are felt to be widely useful.

Appendices show the UML metamodel, a summary of UML notation, and some standard sets of extensions for particular domains. There is a brief bibliography of major object-oriented books, but no attempt has been made to include a comprehensive citation of sources of ideas for UML or other approaches. Many of the books in the bibliography contain excellent lists of references to books and journal articles for those interested in tracking the development of the ideas. Encyclopedia Article Formatting Conventions

The encyclopedia part of the book is organized as an alphabetical list of entries, each describing one concept in some detail. The articles represent a flat list of UML concepts at various conceptual levels. A high-level concept typically contains a summary of its subordinate concepts, each of which is fully described in a separate article. The articles are highly cross-referenced. This flat encyclopedia organization permits the description of each concept to be presented at a fairly uniform level of detail, without constant shifts in level for the nested descriptions that would be necessary for a sequential presentation. The hypertext format of the document should also make it convenient for reference. It should not be necessary to use the index much; instead go directly to the main article in the encyclopedia for any term of interest and follow cross-references. This format is not necessarily ideal for learning the language; beginners are advised to read the overview description of UML found in Part 2 or to read introductory books on UML, such as the UML User Guide Booch-99.

Encyclopedic articles have the following divisions, although not all divisions appear in all articles. Brief definition

The name of the concept appears in boldface, set to the left of the body of the article. A brief definition follows in normal type. This definition is intended to capture the main idea of the concept, but it may simplify the concept for concise presentation. Refer to the main article for precise semantics. Semantics

This section contains a detailed description of the meaning of the concept, including constraints on its uses and its execution consequences. Notation is not covered in this section, although examples use the appropriate notation. General semantics are given first. For concepts with subordinate structural properties, a list of the properties follows the general semantics, often under the subheading Structure. In most cases, the properties appear as a table in alphabetical order by property name, with the description of each property on the right. If a property has a brief enumerated list of choices, they may be given as an indented sublist. In more complicated cases, the property is given its own article to avoid excessive nesting. When properties require more explanation than permitted by a table, they are described in normal text with run-in headers in boldface italics. In certain cases, the main concept is best described under several logical subdivisions rather than one list. In such cases, additional sections follow or replace the Structure subsection. Although several organizational mechanisms have been used, their structure should be obvious to the reader. Notation

This section contains a detailed description of the notation for the concept. Usually, the notation section has a form that parallels the preceding semantics section, which it references, and it often has the same divisions. The notation section usually includes one or more diagrams to illustrate the concept. The actual notation is printed in black ink. To help the reader understand the notation, many diagrams contain annotations in blue ink. Any material in blue is commentary and is not part of the actual notation. Example

This subsection contains examples of notation or illustrations of the use of the concept. Frequently, the examples also treat complicated or potentially confusing situations. Discussion

This section describes subtle issues, clarifies tricky and frequently confused points, and contains other details that would otherwise digress from the more descriptive semantics section. A minority of articles have a discussion section.

This section also explains certain design decisions that were made in the development of the UML, particularly those that may appear counterintuitive or that have provoked strong controversy. Only a fraction of articles have this section. Simple differences in taste are generally not covered. Standard elements

This section lists standard constraints, tags, stereotypes, and other conventions that are predefined for the concept in the article. This section is fairly rare. Syntax Conventions

Syntax expressions. Syntax expressions are given in a modified BNF format in a sans serif font. To avoid confusing literal values and syntax productions, literal values that appear in the target sentence are printed in black ink, and the names of syntax variables and special syntax operators are printed in blue ink.

Text printed in black ink appears in that form in the target string.

Punctuation marks (they are always printed in black) appear in the target string.

Any word printed in blue ink represents a variable that must be replaced by another string or another syntax production in the target string. Words may contain letters and hyphens. If a blue word is italicized or underlined, the actual replacement string must be italicized or underlined.

In code examples, comments are printed in blue ink to the right of the code text. Subscripts and overbars are used as syntax operators (please refer to book for further information).

Literal strings. In running text, language keywords, names of model elements, and sample strings from models are shown in a sans serif font.

Diagrams. In diagrams, blue text and arrows are annotations, that is, explanations of the diagram notation that do not appear in an actual diagram. Any text and symbols in black ink are actual diagram notation. CD

This book is accompanied by a CD containing the full text of the book in Adobe Reader (PDF) format. Using Adobe Reader, the viewer can easily search the book for a word or phrase. The CD version also contains a clickable table of contents, index, Adobe Reader thumbnails, and extensive hot links in the body of the articles. Simply click on one of the links to jump to the encyclopedia article for the word or phrase.

The CD also contains the full text of the OMG UML specifications, included by the permission of the Object Management Group.

We feel that this CD will be a useful on-line reference to UML for advanced users. For More Information

Additional source files and up-to-date information on further work on UML and related topics can be found on the World Wide Web sites www.rational.com and www.omg.org. Acknowledgments

We want to thank many people who made the UML possible. First, we must thank Rational Software Corporation, especially Mike Devlin and Paul Levy, who had the vision to bring us together, start the unification work, and stay the course during the four years that were required to bring the work to successful completion. We also thank the Object Management Group for providing the framework that brought together many diverse viewpoints and merged them together into a broad consensus that was much greater than any one contribution.

We particularly want to thank Cris Kobryn, who led the technical team that prepared the UML standard and who managed to achieve a consensus among an extremely strong-willed group of persons (and the three of us were not the least of his problems). His diplomatic skills and technical balance kept the UML effort from foundering amid many differences of opinion. Cris also reviewed the book and provided countless useful suggestions.

We would like to thank Gunnar &#214vergaard for reviewing the book thoroughly, as well as for his perseverance in completing many sections of the UML documents that were not fun to write but were necessary to its formal correctness.

We want to thank Karin Palmkvist for an exceedingly thorough review that uncovered many bugs in technical content, as well as many flaws in grammar, phrasing, and presentation.

We would also like to thank Mike Blaha, Conrad Bock, Perry Cole, Bruce Douglass, Martin Fowler, Eran Gery, Pete McBreen, Guus Ramackers, Tom Schultz, Ed Seidewitz, and Bran Selic for their helpful reviews.

Most of all, we want to thank the scores or even hundreds of persons who contributed to the community of ideas from which UML was drawn—ideas in object-oriented technology, software methodology, programming languages, user interfaces, visual programming, and numerous other areas of computer science. It is impossible to list them all, or indeed to track even the major chains of influence, without a major scholarly effort, and this is an engineering book, not a historical review. Many are well known, but many good ideas came from those who did not have the good fortune to be widely recognized.

On a more personal note, I wish to thank Professor Jack Dennis, who inspired my work in modeling and the work of many other students, more than twenty-five years ago. The ideas from his Computations Structures Group at MIT have borne much fruit, and they are not the least of the sources of UML. I must also thank Mary Loomis and Ashwin Shah, with whom I developed the original ideas of OMT, and my former colleagues at GE R&#38D Center, Mike Blaha, Bill Premerlani, Fred Eddy, and Bill Lorensen, with whom I wrote the OMT book.

Finally, without the patience of my wife, Madeline, and my sons, Nick and Alex, there would have been no UML and no book about it.

James Rumbaugh
Cupertino, California
November 1998
Read More Show Less

Table of Contents

Preface
Pt. I Background
Ch. 1 UML Overview 3
Ch. 2 The Nature and Purpose of Models 13
Pt. 2 UML Concepts
Ch. 3 UML Walkthrough 23
Ch. 4 Static View 41
Ch. 5 Use Case View 63
Ch. 6 State Machine View 67
Ch. 7 Activity View 81
Ch. 8 Interaction View 85
Ch. 9 Physical Views 93
Ch. 10 Model Management View 97
Ch. 11 Extension Mechanisms 101
Ch. 12 UML Environment 105
Pt. 3 Reference
Ch. 13 Encyclopedia of Terms 113
Ch. 14 Standard Elements 499
Pt. 4 Appendices
App. A UML Metamodel 515
App. B Notation Summary 519
App. C Process Extensions 531
Bibliography 537
Index 539
Read More Show Less

Preface

Preface

Goals

This book is intended to be a complete and useful reference to the Unified Modeling Language (UML) for the developer, architect, project manager, system engineer, programmer, analyst, contracting officer, customer, and anyone else who needs to specify, design, build, or understand complex software systems. It provides a full reference to the concepts and constructs of UML, including their semantics, syntax, notation, and purpose. It is organized to be a convenient but thorough reference for the working professional developer. It also attempts to provide additional detail about issues that may not be clear from the standard documents and to provide a rationale for many decisions that went into the UML.

This book is not intended as a guide to the UML standards documents or to the internal structure of the metamodel contained in them. The details of the metamodel are of interest to methodologists and UML tool builders, but most other developers have little need for the arcane details of the Object Management Group (OMG) documents. This book provides all the details of UML that most developers need; in many cases, it makes information explicit that must otherwise be sought between the lines of the original documents. For those who do wish to consult the source documents, they are included on the accompanying CD.

This book is intended as a reference for those who already have some understanding of object-oriented technology. For beginners, the original books by us and by other authors are listed in the bibliography; although some of the notation has changed, books such as [Rumbaugh-91], [Booch-94], [Jacobson-92], and [Meyer-88] provide an introductiontoobject-oriented concepts that is still valid and therefore unnecessary to duplicate here. For a tutorial introduction to UML that shows how to model a number of common problems, see The Unified Modeling Language User Guide [Booch-99]. Those who already know an object-oriented method, such as OMT, Booch, Objectory, Coad-Yourdon, or Fusion, should be able to read the Reference Manual and use it to understand UML notation and semantics; to learn UML quickly, they may nevertheless find it useful to read the User Guide.

UML does not require a particular development process, and this book does not describe one. Although UML may be used with a variety of development processes, it was designed to support an iterative, incremental, use-case-driven process with a strong architectural focus—the kind we feel is most suitable for the development of modern, complex systems. The Unified Software Development Process [Jacobson-99] describes the kind of process we believe complements the UML and best supports software development.

Outline of the Book

The UML Reference Manual is organized into three parts: an overview of UML history and of modeling, a survey of UML concepts, and an alphabetical encyclopedia of UML terms and concepts.

The first part is a survey of UML—its history, purposes, and uses—to help you understand the origin of UML and the need it tries to fill.

The second part is a brief survey of UML views so that you can put all the concepts into perspective. The survey provides a brief overview of the views UML supports and shows how the various constructs work together. This part begins with an example that walks through various UML views and then contains one chapter for each kind of UML view. This survey is not intended as a full tutorial or as a comprehensive description of concepts. It serves mainly to summarize and relate the various UML concepts and provides starting points for detailed readings in the encyclopedia.

The third part contains the reference material organized for easy access to each topic. The bulk of the book is an alphabetical encyclopedia of all of the concepts and constructs in UML. Each UML term of any importance has its own entry in the encyclopedia. The encyclopedia is meant to be complete; therefore, everything

in the concept overview in Part 2 is repeated in more detail in the encyclopedia. The same or similar information has sometimes been included in multiple encyclopedia articles so that the reader can conveniently find it.

The reference part also contains an alphabetic list of UML standard elements. A standard element is a feature predefined using the UML extensibility mechanisms. The standard elements are extensions that are felt to be widely useful.

Appendices show the UML metamodel, a summary of UML notation, and some standard sets of extensions for particular domains. There is a brief bibliography of major object-oriented books, but no attempt has been made to include a comprehensive citation of sources of ideas for UML or other approaches. Many of the books in the bibliography contain excellent lists of references to books and journal articles for those interested in tracking the development of the ideas.

Encyclopedia Article Formatting Conventions

The encyclopedia part of the book is organized as an alphabetical list of entries, each describing one concept in some detail. The articles represent a flat list of UML concepts at various conceptual levels. A high-level concept typically contains a summary of its subordinate concepts, each of which is fully described in a separate article. The articles are highly cross-referenced. This flat encyclopedia organization permits the description of each concept to be presented at a fairly uniform level of detail, without constant shifts in level for the nested descriptions that would be necessary for a sequential presentation. The hypertext format of the document should also make it convenient for reference. It should not be necessary to use the index much; instead go directly to the main article in the encyclopedia for any term of interest and follow cross-references. This format is not necessarily ideal for learning the language; beginners are advised to read the overview description of UML found in Part 2 or to read introductory books on UML, such as the UML User Guide [Booch-99].

Encyclopedic articles have the following divisions, although not all divisions appear in all articles.

Brief definition

The name of the concept appears in boldface, set to the left of the body of the article. A brief definition follows in normal type. This definition is intended to capture the main idea of the concept, but it may simplify the concept for concise presentation. Refer to the main article for precise semantics.

Semantics

This section contains a detailed description of the meaning of the concept, including constraints on its uses and its execution consequences. Notation is not covered in this section, although examples use the appropriate notation. General semantics are given first. For concepts with subordinate structural properties, a list of the properties follows the general semantics, often under the subheading Structure. In most cases, the properties appear as a table in alphabetical order by property name, with the description of each property on the right. If a property has a brief enumerated list of choices, they may be given as an indented sublist. In more complicated cases, the property is given its own article to avoid excessive nesting. When properties require more explanation than permitted by a table, they are described in normal text with run-in headers in boldface italics. In certain cases, the main concept is best described under several logical subdivisions rather than one list. In such cases, additional sections follow or replace the Structure subsection. Although several organizational mechanisms have been used, their structure should be obvious to the reader.

Notation

This section contains a detailed description of the notation for the concept. Usually, the notation section has a form that parallels the preceding semantics section, which it references, and it often has the same divisions. The notation section usually includes one or more diagrams to illustrate the concept. The actual notation is printed in black ink. To help the reader understand the notation, many diagrams contain annotations in blue ink. Any material in blue is commentary and is not part of the actual notation.

Example

This subsection contains examples of notation or illustrations of the use of the concept. Frequently, the examples also treat complicated or potentially confusing situations.

Discussion

This section describes subtle issues, clarifies tricky and frequently confused points, and contains other details that would otherwise digress from the more descriptive semantics section. A minority of articles have a discussion section.

This section also explains certain design decisions that were made in the development of the UML, particularly those that may appear counterintuitive or that have provoked strong controversy. Only a fraction of articles have this section. Simple differences in taste are generally not covered.

Standard elements

This section lists standard constraints, tags, stereotypes, and other conventions that are predefined for the concept in the article. This section is fairly rare.

Syntax Conventions

Syntax expressions. Syntax expressions are given in a modified BNF format in a sans serif font. To avoid confusing literal values and syntax productions, literal values that appear in the target sentence are printed in black ink, and the names of syntax variables and special syntax operators are printed in blue ink.

Text printed in black ink appears in that form in the target string.

Punctuation marks (they are always printed in black) appear in the target string.

Any word printed in blue ink represents a variable that must be replaced by another string or another syntax production in the target string. Words may contain letters and hyphens. If a blue word is italicized or underlined, the actual replacement string must be italicized or underlined.

In code examples, comments are printed in blue ink to the right of the code text. Subscripts and overbars are used as syntax operators (please refer to book for further information).

Literal strings. In running text, language keywords, names of model elements, and sample strings from models are shown in a sans serif font.

Diagrams. In diagrams, blue text and arrows are annotations, that is, explanations of the diagram notation that do not appear in an actual diagram. Any text and symbols in black ink are actual diagram notation.

CD

This book is accompanied by a CD containing the full text of the book in Adobe Reader (PDF) format. Using Adobe Reader, the viewer can easily search the book for a word or phrase. The CD version also contains a clickable table of contents, index, Adobe Reader thumbnails, and extensive hot links in the body of the articles. Simply click on one of the links to jump to the encyclopedia article for the word or phrase.

The CD also contains the full text of the OMG UML specifications, included by the permission of the Object Management Group.

We feel that this CD will be a useful on-line reference to UML for advanced users.

For More Information

Acknowledgments

We want to thank many people who made the UML possible. First, we must thank Rational Software Corporation, especially Mike Devlin and Paul Levy, who had the vision to bring us together, start the unification work, and stay the course during the four years that were required to bring the work to successful completion. We also thank the Object Management Group for providing the framework that brought together many diverse viewpoints and merged them together into a broad consensus that was much greater than any one contribution.

We particularly want to thank Cris Kobryn, who led the technical team that prepared the UML standard and who managed to achieve a consensus among an extremely strong-willed group of persons (and the three of us were not the least of his problems). His diplomatic skills and technical balance kept the UML effort from foundering amid many differences of opinion. Cris also reviewed the book and provided countless useful suggestions.

We would like to thank Gunnar Övergaard for reviewing the book thoroughly, as well as for his perseverance in completing many sections of the UML documents that were not fun to write but were necessary to its formal correctness.

We want to thank Karin Palmkvist for an exceedingly thorough review that uncovered many bugs in technical content, as well as many flaws in grammar, phrasing, and presentation.

We would also like to thank Mike Blaha, Conrad Bock, Perry Cole, Bruce Douglass, Martin Fowler, Eran Gery, Pete McBreen, Guus Ramackers, Tom Schultz, Ed Seidewitz, and Bran Selic for their helpful reviews.

Most of all, we want to thank the scores or even hundreds of persons who contributed to the community of ideas from which UML was drawn—ideas in object-oriented technology, software methodology, programming languages, user interfaces, visual programming, and numerous other areas of computer science. It is impossible to list them all, or indeed to track even the major chains of influence, without a major scholarly effort, and this is an engineering book, not a historical review. Many are well known, but many good ideas came from those who did not have the good fortune to be widely recognized.

On a more personal note, I wish to thank Professor Jack Dennis, who inspired my work in modeling and the work of many other students, more than twenty-five years ago. The ideas from his Computations Structures Group at MIT have borne much fruit, and they are not the least of the sources of UML. I must also thank Mary Loomis and Ashwin Shah, with whom I developed the original ideas of OMT, and my former colleagues at GE R&D Center, Mike Blaha, Bill Premerlani, Fred Eddy, and Bill Lorensen, with whom I wrote the OMT book.

Finally, without the patience of my wife, Madeline, and my sons, Nick and Alex, there would have been no UML and no book about it.

James Rumbaugh

Cupertino, California

November 1998

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)