Books & Videos

Table of Contents

  1. Chapter 1 Introduction

    1. What's in a Modeling Language?

    2. Why UML 2.0?

    3. Models and Diagrams

    4. "Degrees" of UML

    5. UML and the Software Development Process

    6. Views of Your Model

    7. A First Taste of UML

    8. Want More Information?

  2. Chapter 2 Modeling Requirements: Use Cases

    1. Capturing a System Requirement

    2. Use Case Relationships

    3. Use Case Overview Diagrams

    4. What's Next?

  3. Chapter 3 Modeling System Workflows: Activity Diagrams

    1. Activity Diagram Essentials

    2. Activities and Actions

    3. Decisions and Merges

    4. Doing Multiple Tasks at the Same Time

    5. Time Events

    6. Calling Other Activities

    7. Objects

    8. Sending and Receiving Signals

    9. Starting an Activity

    10. Ending Activities and Flows

    11. Partitions (or Swimlanes)

    12. Managing Complex Activity Diagrams

    13. What's Next?

  4. Chapter 4 Modeling a System's Logical Structure: Introducing Classes and Class Diagrams

    1. What Is a Class?

    2. Getting Started with Classes in UML

    3. Visibility

    4. Class State: Attributes

    5. Class Behavior: Operations

    6. Static Parts of Your Classes

    7. What's Next

  5. Chapter 5 Modeling a System's Logical Structure: Advanced Class Diagrams

    1. Class Relationships

    2. Constraints

    3. Abstract Classes

    4. Interfaces

    5. Templates

    6. What's Next

  6. Chapter 6 Bringing Your Classes to Life: Object Diagrams

    1. Object Instances

    2. Links

    3. Binding Class Templates

    4. What's Next?

  7. Chapter 7 Modeling Ordered Interactions: Sequence Diagrams

    1. Participants in a Sequence Diagram

    2. Time

    3. Events, Signals, and Messages

    4. Activation Bars

    5. Nested Messages

    6. Message Arrows

    7. Bringing a Use Case to Life with a Sequence Diagram

    8. Managing Complex Interactions with Sequence Fragments

    9. What's Next?

  8. Chapter 8 Focusing on Interaction Links: Communication Diagrams

    1. Participants, Links, and Messages

    2. Fleshing out an Interaction with a Communication Diagram

    3. Communication Diagrams Versus Sequence Diagrams

    4. What's Next?

  9. Chapter 9 Focusing on Interaction Timing: Timing Diagrams

    1. What Do Timing Diagrams Look Like?

    2. Building a Timing Diagram from a Sequence Diagram

    3. Applying Participants to a Timing Diagram

    4. States

    5. Time

    6. A Participant's State-Line

    7. Events and Messages

    8. Timing Constraints

    9. Organizing Participants on a Timing Diagram

    10. An Alternate Notation

    11. What's Next?

  10. Chapter 10 Completing the Interaction Picture: Interaction Overview Diagrams

    1. The Parts of an Interaction Overview Diagram

    2. Modeling a Use Case Using an Interaction Overview

    3. What's Next?

  11. Chapter 11 Modeling a Class's Internal Structure: Composite Structures

    1. Internal Structure

    2. Showing How a Class Is Used

    3. Showing Patterns with Collaborations

    4. What's Next?

  12. Chapter 12 Managing and Reusing Your System's Parts: Component Diagrams

    1. What Is a Component?

    2. A Basic Component in UML

    3. Provided and Required Interfaces of a Component

    4. Showing Components Working Together

    5. Classes That Realize a Component

    6. Ports and Internal Structure

    7. Black-Box and White-Box Component Views

    8. What's Next?

  13. Chapter 13 Organizing Your Model: Packages

    1. Packages

    2. Namespaces and Classes Referring to Each Other

    3. Element Visibility

    4. Package Dependency

    5. Importing and Accessing Packages

    6. Managing Package Dependencies

    7. Using Packages to Organize Use Cases

    8. What's Next?

  14. Chapter 14 Modeling an Object's State: State Machine Diagrams

    1. Essentials

    2. States

    3. Transitions

    4. States in Software

    5. Advanced State Behavior

    6. Composite States

    7. Advanced Pseudostates

    8. Signals

    9. Protocol State Machines

    10. What's Next?

  15. Chapter 15 Modeling Your Deployed System: Deployment Diagrams

    1. Deploying a Simple System

    2. Deployed Software: Artifacts

    3. What Is a Node?

    4. Hardware and Execution Environment Nodes

    5. Communication Between Nodes

    6. Deployment Specifications

    7. When to Use a Deployment Diagram

    8. What's Next?

  1. Appendix A Object Constraint Language

    1. Building OCL Expressions

    2. Types

    3. Operators

    4. Pulling It Together

    5. Context

    6. Types of Constraints

    7. OCL Automation

  2. Appendix B Adapting UML: Profiles

    1. What Is a Profile?

    2. Stereotypes

    3. Tagged Values

    4. Constraints

    5. Creating a Profile

    6. Working with the Meta-Model

    7. Using a Profile

    8. Why Bother with Profiles?

  3. Appendix C A History of UML

    1. Take One Part OOAD...

    2. ...with a Sprinkling of OOSE...

    3. ...Add a Dash of OMT...

    4. ...and Bake for 10 to 15 Years

  4. Colophon