THIS APPENDIX BRIEFLY explains the Unified Modeling Language (UML) features that this book uses. UML provides conventional notation that this book applies to illustrate the design of object-oriented systems. Although UML is not overly complex, you can easily underestimate the richness of its features. For a rapid introduction to most of the features of the UML, read UML Distilled [Fowler with Scott 2003]. For a more thorough review, see The Unified Modeling Language User Guide [Booch, Rumbaugh, and Jacobsen 1999]. By learning to use standard nomenclatures and notations, we learn to communicate at a design level, making us all more productive.