2/118
FOREWORD TO THE THIRD EDITION ...................................................................................................................................4
FOREWORD TO THE FIRST EDITION....................................................................................................................................5
PREFACE...........................................................................................................................................................................5
Why Bother with the UML?........................................................................................................................................6
Structure of the Book..................................................................................................................................................7
Changes for the Third Edition....................................................................................................................................7
Acknowledgments......................................................................................................................................................7
DIAGRAMS .......................................................................................................................................................................10
CHAPTER 1. INTRODUCTION ............................................................................................................................................14
What Is the UML?.....................................................................................................................................................14
Where to Find Out More ..........................................................................................................................................14
Ways of Using the UML ...........................................................................................................................................15
How We Got to the UML..........................................................................................................................................18
Notations and Meta-Models.....................................................................................................................................20
UML Diagrams..........................................................................................................................................................21
What Is Legal UML?.................................................................................................................................................23
The Meaning of UML................................................................................................................................................24
UML Is Not Enough..................................................................................................................................................24
Where to Start with the UML....................................................................................................................................25
CHAPTER 2. DEVELOPMENT PROCESS ............................................................................................................................26
Iterative and Waterfall Processes............................................................................................................................26
Predictive and Adaptive Planning............................................................................................................................28
Agile Processes........................................................................................................................................................29
Rational Unified Process..........................................................................................................................................30
Fitting a Process to a Project...................................................................................................................................30
Fitting the UML into a Process................................................................................................................................32
Choosing a Development Process..........................................................................................................................35
Where to Find Out More ..........................................................................................................................................35
CHAPTER 3. CLASS DIAGRAMS: THE ESSENTIALS ...........................................................................................................35
Properties..................................................................................................................................................................36
When to Use Class Diagrams.................................................................................................................................38
Where to Find Out More ..........................................................................................................................................38
Multiplicity..................................................................................................................................................................38
Programming Interpretation of Properties..............................................................................................................39
Bidirectional Associations........................................................................................................................................41
Operations.................................................................................................................................................................42
Generalization...........................................................................................................................................................43
Notes and Comments..............................................................................................................................................44
Dependency..............................................................................................................................................................44
Constraint Rules.......................................................................................................................................................46
CHAPTER 4. SEQUENCE DIAGRAMS.................................................................................................................................47
Creating and Deleting Participants..........................................................................................................................50
Loops, Conditionals, and the Like...........................................................................................................................51
Synchronous and Asynchronous Calls...................................................................................................................54
When to Use Sequence Diagrams..........................................................................................................................54
CHAPTER 5. CLASS DIAGRAMS: ADVANCED CONCEPTS ..................................................................................................56
Keywords ..................................................................................................................................................................56
Classification and Generalization............................................................................................................................57
Multiple and Dynamic Classification........................................................................................................................57
Association Class.....................................................................................................................................................58
Template (Parameterized) Class.............................................................................................................................61
Enumerations............................................................................................................................................................62
Active Class..............................................................................................................................................................63
Visibility .....................................................................................................................................................................63
Messages..................................................................................................................................................................64
Responsibilities.........................................................................................................................................................64
Static Operations and Attributes..............................................................................................................................65
Aggregation and Composition.................................................................................................................................65
Derived Properties....................................................................................................................................................66
Interfaces and Abstract Classes..............................................................................................................................67
Read-Only and Frozen.............................................................................................................................................70
Reference Objects and Value Objects....................................................................................................................70
Qualified Associations..............................................................................................................................................71
CHAPTER 6. OBJECT DIAGRAMS......................................................................................................................................72