Part 1 Getting Started 1
Chapter 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 32
Software Development Life Cycle 34
Chapter 3 Hello,World! 37
Key Abstractions 38
Mechanisms 41
Artifacts 43
Part 2 Basic Structural Modeling 45
Chapter 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 115
Chapter 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 206
Part 4 Basic Behavioral Modeling 207
Chapter 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 261
Hints and Tips 265
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 285
Chapter 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 349
Chapter 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 431
Chapter 33 Applying the UML 433
Transitioning to the UML 433
Where to Go Next 435
Appendix A UML Notation 437
Appendix B Rational Unified Process 443
Glossary 451
Index 463