You are previewing UML Distilled: A Brief Guide to the Standard Object Modeling Language, Second Edition.
O'Reilly logo
UML Distilled: A Brief Guide to the Standard Object Modeling Language, Second Edition

Book Description

Now widely adopted as the de facto industry standard and sanctioned by the Object Management Group, the Unified Modeling Language (UML) is a notation all software developers need to know and understand. However, the UML is a big language, and not all of it is equally important. The award-winning first edition of UML Distilled was widely praised for being a concise guide to the core parts of the UML and has proved extremely successful in helping developers get up and running quickly. UML Distilled, Second Edition, maintains the concise format with significantly updated coverage of use cases and activity diagrams, and expanded coverage of collaborations. It also includes a new appendix detailing the changes between UML versions.

Written for those with a basic understanding of object-oriented analysis and design, this book begins with a summary of UML's history, development, and rationale and then moves into a discussion of how the UML can be integrated into the object-oriented development process. The primary author profiles the various modeling techniques in the UML--such as use cases, class diagrams, and interaction diagrams--and describes the notation and semantics clearly and succinctly. He also outlines useful non-UML techniques such as CRC cards and patterns. These descriptions are made even more relevant with a collection of best practices based on the primary author's experience and a brief Java programming example demonstrating the implementation of a UML-based design. With this tour of the key parts of the UML, readers will be left with a firm foundation upon which to build models and develop further knowledge of the Unified Modeling Language.

Praise for the First Edition

"UML Distilled is a recipient of the prestigious 1997 Software Development Magazine Productivity Award in the Books category. Addison-Wesley congratulates authors Martin Fowler and Kendall Scott for their outstanding work."

"This book is a godsend. It is packed with solid advice presented in a concise and highly readable way. The essence of the notations is explained very well indeed but the author goes beyond this to give very clear insights into the application of UML techniques."
-- Jennifer Stapleton, Vice President Technical, British Computer Society

"UML Distilled is well written, knowledgeable about both systems development and UML, and disarmingly honest."
-- Robert L. Glass, The Software Practitioner (March 1998)

"UML Distilled proves that you can say a lot of useful things about computing in a small book."
-- Gregory V. Wilson, Dr. Dobb's Journal


Table of Contents

  1. Copyright
  2. Diagrams
  3. Preface
  4. Figures
  5. Foreword
  6. Preface
  7. About the Authors
  8. Introduction
    1. What Is the UML?
    2. How We Got Here
    3. Notations and Meta-Models
    4. Why Do Analysis and Design?
    5. Looking for More Information
  9. An Outline Development Process
    1. Overview of the Process
    2. Inception
    3. Elaboration
    4. Planning the Construction Phase
    5. Construction
    6. Transition
    7. When to Use Iterative Development
    8. Where to Find Out More
  10. Use Cases
    1. Use Case Diagrams
    2. Business and System Use Cases
    3. When to Use Use Cases
    4. Where to Find Out More
  11. Class Diagrams: The Essentials
    1. Perspectives
    2. Associations
    3. Attributes
    4. Operations
    5. Generalization
    6. Constraint Rules
    7. When to Use Class Diagrams
    8. Where to Find Out More
  12. Interaction Diagrams
    1. Sequence Diagrams
    2. Collaboration Diagrams
    3. Comparing Sequence and Collaboration Diagrams
    4. When to Use Interaction Diagrams
  13. Class Diagrams: Advanced Concepts
    1. Stereotypes
    2. Object Diagram
    3. Class Scope Operations and Attributes
    4. Multiple and Dynamic Classification
    5. Aggregation and Composition
    6. Derived Associations and Attributes
    7. Interfaces and Abstract Classes
    8. Reference Objects and Value Objects
    9. Collections for Multivalued Association Ends
    10. Frozen
    11. Classification and Generalization
    12. Qualified Associations
    13. Association Class
    14. Parameterized Class
    15. Visibility
  14. Packages and Collaborations
    1. Packages
    2. Collaborations
    3. When to Use Package Diagrams and Collaborations
    4. Where to Find Out More
  15. State Diagrams
    1. Concurrent State Diagrams
    2. When to Use State Diagrams
    3. Where to Find Out More
  16. Activity Diagrams
    1. Decomposing an Activity
    2. Dynamic Concurrency
    3. Swimlanes
    4. When to Use Activity Diagrams
    5. Where to Find Out More
  17. Physical Diagrams
    1. Deployment Diagrams
    2. Component Diagrams
    3. Combining Component and Deployment Diagrams
    4. When to Use Physical Diagrams
  18. UML and Programming
    1. Patient Observation: Domain Model
    2. Patient Observation: Specification Model
    3. Moving to Code
  19. Techniques and Their Uses
  20. Changes between UML Versions
    1. Revisions to the UML
    2. Scheduled Future Revisions
    3. Changes in UML Distilled
    4. Changes from UML 1.0 to 1.1
    5. Changes from UML 1.2 (and 1.1) to 1.3 (and 1.4)
  21. Bibliography
  22. Index