Preface xiiiPart 1: Getting Started 1Chapter 1: Why We Model 3
The Importance of Modeling 4
Principles of Modeling 8
Object-Oriented Modeling 10
Chapter 2: Introducing the UML 13
An Overview of the UML 14
A Conceptual Model of the UML 17
Architecture 31
Software Development Life Cycle 33
Chapter 3: Hello, World! 37
Key Abstractions 38
Mechanisms 41
Artifacts 43
Part 2: Basic Structural Modeling 45Chapter 4: Classes 47
Getting Started 47
Terms and Concepts 49
Common Modeling Techniques 54
Hints and Tips 59
Chapter 5: Relationships 61
Getting Started 62
Terms and Concepts 63
Common Modeling Techniques 69
Hints and Tips 74
Chapter 6: Common Mechanisms 75
Getting Started 76
Terms and Concepts 77
Common Modeling Techniques 84
Hints and Tips 88
Chapter 7: Diagrams 89
Getting Started 90
Terms and Concepts 91
Common Modeling Techniques 96
Hints and Tips 101
Chapter 8: Class Diagrams 103
Getting Started 103
Terms and Concepts 105
Common Modeling Techniques 106
Hints and Tips 113
Part 3: Advanced Structural Modeling 115Chapter 9: Advanced Classes 117
Getting Started 117
Terms and Concepts 118
Common Modeling Techniques 130
Hints and Tips 131
Chapter 10: Advanced Relationships 133
Getting Started 134
Terms and Concepts 135
Common Modeling Techniques 148
Hints and Tips 149
Chapter 11: Interfaces, Types, and Roles 151
Getting Started 151
Terms and Concepts 153
Common Modeling Techniques 157
Hints and Tips 161
Chapter 12: Packages 163
Getting Started 164
Terms and Concepts 165
Common Modeling Techniques 170
Hints and Tips 174
Chapter 13: Instances 175
Getting Started 175
Terms and Concepts 176
Common Modeling Techniques 182
Hints and Tips 183
Chapter 14: Object Diagrams 185
Getting Started 185
Terms and Concepts 187
Common Modeling Techniques 188
Hints and Tips 191
Chapter 15: Components 193
Getting Started 193
Terms and Concepts 194
Common Modeling Techniques 203
Hints and Tips 205
Part 4: Basic Behavioral Modeling 207Chapter 16: Interactions 209
Getting Started 210
Terms and Concepts 211
Common Modeling Techniques 221
Hints and Tips 222
Chapter 17: Use Cases 225
Getting Started 225
Terms and Concepts 228
Common Modeling Techniques 236
Hints and Tips 237
Chapter 18: Use Case Diagrams 239
Getting Started 239
Terms and Concepts 241
Common Modeling Techniques 242
Hints and Tips 248
Chapter 19: Interaction Diagrams 249
Getting Started 250
Terms and Concepts 251
Common Modeling Techniques 260
Hints and Tips 264
Chapter 20: Activity Diagrams 267
Getting Started 268
Terms and Concepts 269
Common Modeling Techniques 280
Hints and Tips 284
Part 5: Advanced Behavioral Modeling 285Chapter 21: Events and Signals 287
Getting Started 287
Terms and Concepts 288
Common Modeling Techniques 293
Hints and Tips 296
Chapter 22: State Machines 297
Getting Started 298
Terms and Concepts 300
Common Modeling Techniques 315
Hints and Tips 318
Chapter 23: Processes and Threads 319
Getting Started 320
Terms and Concepts 321
Common Modeling Techniques 326
Hints and Tips 330
Chapter 24: Time and Space 331
Getting Started 331
Terms and Concepts 332
Common Modeling Techniques 335
Hints and Tips 338
Chapter 25: State Diagrams 339
Getting Started 340
Terms and Concepts 341
Common Modeling Techniques 343
Hints and Tips 347
Part 6: Architectural Modeling 349Chapter 26: Artifacts 351
Getting Started 351
Terms and Concepts 352
Common Modeling Techniques 355
Hints and Tips 360
Chapter 27: Deployment 361
Getting Started 361
Terms and Concepts 362
Common Modeling Techniques 366
Hints and Tips 368
Chapter 28: Collaborations 369
Getting Started 369
Terms and Concepts 371
Common Modeling Techniques 376
Hints and Tips 382
Chapter 29: Patterns and Frameworks 383
Getting Started 383
Terms and Concepts 385
Common Modeling Techniques 389
Hints and Tips 394
Chapter 30: Artifact Diagrams 395
Getting Started 395
Terms and Concepts 396
Common Modeling Techniques 398
Hints and Tips 407
Chapter 31: Deployment Diagrams 409
Getting Started 409
Terms and Concepts 411
Common Modeling Techniques 413
Hints and Tips 419
Chapter 32: Systems and Models 421
Getting Started 421
Terms and Concepts 423
Common Modeling Techniques 426
Hints and Tips 428
Part 7: Wrapping Up 431Chapter 33: Applying the UML 433
Transitioning to the UML 433
Where to Go Next 435
Appendix A: UML Notation 437Appendix B: Rational Unified Process 443
Glossary 451Index 463