Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design
by Craig Larman
Publisher: Prentice Hall 2004
Number of pages: 616
This book is a lucid and practical introduction to thinking and designing with objects—and creating systems that are well crafted, robust, and maintainable. Developers and students will learn object-oriented analysis and design (OOA/D) through three iterations of two cohesive, start-to-finish case studies. These case studies incrementally introduce key skills, essential OO principles and patterns, UML notation, and best practices.
Download or read it online for free here:
by T. Reenskaug, P. Wold, O.A. Lehne - Prentice Hall
The main theme of this book is to describe complex phenomena as structures of interacting objects. This is the authoritative account of the OOram methodology for software analysis, design, development, maintenance, and reuse.
by Kim Waldén, Jean-Marc Nerson - Prentice Hall
This book shows how a set of object-oriented abstractions can be applied throughout the software construction process, based on three major ideas: seamlessness, reversibility, and contracting. Intended for software professionals and students.
by Dung Nguyen, Stephen Wong - Rice University
From the table of contents: Introduction - Objects and Classes; Polymorphism in Action; Immutable List Structure; Mutable Data Structures; Restricted Access Containers; GUI Programming; Labs; Resources - Java Syntax Primer.
by S. Demeyer, S. Ducasse, O. Nierstrasz - Elsevier Science
This book collects and distills successful techniques in planning a reengineering project, reverse-engineering, problem detection, migration strategies and software redesign. It is full of practical, hands-on reengineering knowledge and expertise.