Preface.
Why bother with the UML?
Structure of the book.
Changes for the Third Edition.
Acknowledgements.
1. Introduction.
What Is the UML?
Ways of Using the UML.
How We Got to the UML.
Notations and Meta-Models.
UML Diagrams.
What is Legal UML?
The Meaning of UML.
UML is not enough.
Where to Start with the UML.
Looking for More Information.
2. Development Process.
Iterative and Waterfall Processes.
Predictive and Adaptive Planning.
Agile Processes.
Rational Unified Process.
Fitting a Process to a Project.
Fitting the UML into a process.
Understanding Legacy Code.
Choosing a Development Process.
Where to Find Out More.
3. Class Diagrams: The Essentials.
Properties.
Attributes.
Associations.
Multiplicity.
Programming Interpretation of Properties.
Bi-directional Associations.
Operations.
Generalization.
Notes and Comments.
Dependency.
Constraint Rules.
When to Use Class Diagrams.
Where to Find Out More.
4. Sequence Diagrams.
Creating and deleting participants.
Loops, conditionals and the like.
Synchronous and Asynchronous Calls.
When to use Sequence Diagrams.
5. Class Diagrams: Advanced Concepts.
Keywords.
Responsibilities.
Static Operations and Attributes.
Aggregation and Composition.
Derived Properties.
Interfaces and Abstract Classes.
Read Only and Frozen.
Reference Objects and Value Objects.
Qualified Associations.
Classification and Generalization.
Multiple and Dynamic Classification.
Association Class.
Template (Parameterized) Class.
Enumerations.
Active Class.
Visibility.
Messages.
6. Object Diagrams.
When to use Object Diagrams.
7. Package Diagrams.
Packages and Dependencies.
Package Aspects.
Implementing Packages.
Where to Find Out More.
When to Use Package Diagrams.
8. Deployment Diagrams.
When to use deployment diagrams.
9. Use Cases.
Content of a Use Case.
Use Case Diagrams.
Levels of Use Cases.
Use cases and features (or stories).
When to Use Use Cases.
Where to Find Out More.
10. State Machine Diagrams.
Internal Activities.
Activity States.
Superstates.
Concurrent States.
Implementing State Diagrams.
When to Use State Diagrams.
Where to Find Out More.
11. Activity Diagrams.
Decomposing an action.
Partitions.
Signals.
Tokens.
Flows and Edges.
Pins and Transformations.
Expansion Regions.
Flow Final.
Join Specifications.
And there's more.
When to Use Activity Diagrams.
Where to Find Out More.
12. Communication Diagrams.
When to use Communication Diagrams.
13. Composite Structures.
When to Use Composite Structures.
14. Component Diagrams.
When to use Component Diagrams.
15. Collaborations.
When to Use Collaborations.
16. Interaction Overview Diagrams.
When to use Interaction Overview Diagrams.
17. Timing Diagrams.
When to use Timing Diagrams.
Appendix A Changes between UML Versions.
Revisions to the UML.
Changes in UML Distilled.
Changes from UML 1.0 to 1.1.
Type and Implementation Class.
Complete and Incomplete Discriminator Constraints.
Composition.
Immutability and Frozen.
Returns on Sequence Diagrams.
Use of the Term "Role".
Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5).
Use Cases.
Activity Diagrams.
Changes from UML 1.3 to 1.4.
Changes from UML 1.4. to 1.5.
From UML 1.x to UML 2.0.
Class Diagrams (Basic).
Interaction Diagrams.
Class Diagrams (Advanced).
State Diagrams.
Activity Diagrams.
Bibliography. Index.