UML Demystified - Kimmel, Paul (McGraw-Hill/Osborne, 2005)
UML Demystified explains how to read, model, and use UML to create well-structured, stable software products. This self-teaching guide comes complete with key points, background information, quizzes at the end of each chapter, and even a final exam. Simple enough for beginners but challenging enough for advanced students, this is a lively and entertaining brush-up, introductory text, or classroom supplement.