Using UML: Software Engineering with Objects and Components (Updated Edition) Perdita Stevens
Updated for UML 1.4, this book is an introduction to the Unified Modeling Language for students learning about object- and component-based software design and development. The goal of the book is to encourage a pragmatic and open-minded approach to real-life software engineering. It places UML in the context of the software engineering discipline as a whole, providing students with a practical understanding of good practice in software design and development. The authors present a broad view of the subject area, enabling students to see for themselves how different practices may be appropriate for different situations.