UML Explained is an approachable, non-technical introduction to the Unified Modeling Language (UML), the standard graphical notation for modeling the elements, structure, and behaviors of object-oriented software systems.

Assuming no prior knowledge of the UML, object-oriented design, or programming fundamentals, this book fully explains basic concepts and terminology, such as objects, classes, and use cases. It shows how the UML integrates with an iterative and incremental process. Numerous sample UML diagrams and a running example throughout the book help you understand how to apply the UML to real-world software development. Also included is a comprehensive glossary of important terms.

You will learn about such essentials as:

Whether you are a non-technical professional who needs to understand software development activities within the workplace, or a system designer who has never worked with the UML before, UML Explained is the perfect place to start.

Kendall Scott provides UML training and mentoring on a nationwide basis through ICONIX. (You can learn about the one-day Introduction to UML course that ICONIX offers at The book evolved from Kendall's development of this course.) He is also an experienced technical writer who specializes in making complex, highly technical material accessible to non-technical readers. He is the supporting author of UML Distilled (Addison-Wesley, 1997 ) and UML Distilled, Second Edition (Addison-Wesley, 1999), and the co-author (with Doug Rosenberg) of Use Case Driven Object Modeling with UML (Addison-Wesley, 1999) and Applied Use Case Driven Object Modeling (Addison-Wesley, 2001). Kendall's UML Dictionary is available at

To purchase UML Explained from the website,
click here.



Organization of This Book



Chapter 1: Why the UML?

Why Model Software?

What Makes a Good Software Model?

Where Did the UML Come From?

Views of a System

Chapter 2: The UML and Process

The Four Phases

The Five Workflows

Iterations and Increments

Chapter 3: Identifying Relevant Real-World Things



Class Relationships

Class Diagrams

Object Diagrams



Chapter 4: Capturing Requirements

Actors and Use Cases

Use Case Diagrams

Flows of Events

Organizing Use Cases

Packages and Use Cases

More about Use Cases

Chapter 5: Expressing How Things Work Together

Robustness Analysis

Messages and Actions

Sequence Diagrams

Collaboration Diagrams

Expressing Time on Interaction Diagrams

Analysis Packages and Design Packages

Chapter 6: Refining the Structure of Things

Abstract Classes


Attribute and Operation Details

Extending the UML

Interfaces and Classes

Template Classes

Design Classes and Packages

Chapter 7: Describing Flows

Activities and Actions

Branching and Merging

Forking and Joining

Activity Diagrams

Processes, Threads, and Active Objects

Activity Diagrams and Packages

Chapter 8: Tracking the Lives of Things


States, Transitions, and Guard Conditions

State Machines and Statechart Diagrams

More about States and Transitions

Composite States

State Diagrams and Packages

Chapter 9: Showing How Groups of Things Work Together


Patterns, Mechanisms, and Frameworks

Systems and Subsystems

Chapter 10: Describing How Things Will Be Built


Component Diagrams


Deployment Diagrams

Physical Diagrams and Packages

*UML is a trademark of Object Management Group, Inc. in the U.S. and other countries.

ICONIX Software Engineering, Inc./2800 28th Street, Suite 320/Santa Monica, CA 90405/Tel (310)458-0092/Fax (310)396-3454/email: