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 ...