Object-oriented software engineering : - Bruegge, Bernd. (Prentice Hall, 2004)
This widely used book teaches practical object-oriented software engineering with the key real world tools UML, design patterns and Java. This step-by-step approach allows the reader to address complex and changing problems with practical and state-of-the-art solutions.