Object Oriented Analysis and Design


Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson
Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. 

Head First Design Patterns
Ideal for anyone interested in software design patterns, this visually rich resource lays out the basics in a simple, clear, and concise manner, explaining everything from how patterns are used in Java API to how design principles work.
This is a gimmicky book that actually works for once. It is an intelligent and well thought-out discussion of Java design patterns, and if you dont know what a design pattern is then this is an excellent way to find out. It is also an interested discussion of object-oriented design. 

Object Oriented Analysis and Design with Applications 3rd Edition by Grady Booch, Robert A. Maksimchuk
Grady Booch draws upon the rich and varied results of those projects and offers improved methods for object development and a new, unified notation. With numerous examples implemented in C++, Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pragmatic advice on a host of issues, including classification, implementation strategies, and cost-effective project management. 

Object-Oriented Software Construction by Bertrand Meyer
The developer of the acclaimed Eiffel programming language comes through with one of the clearest and most informative books about computers ever committed to paper. Object-Oriented Software Construction is the gospel of object-oriented technology and it deserves to be spread everywhere. Meyer opens with coverage of the need for an object-oriented approach to software development, citing improved quality and development speed as key advantages of the approach. 

Head First Object-Oriented Analysis and Design: A Brain Friendly Guide to OOAD 
by Brett D. McLaughlin, Gary Pollice, Dave West
"Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible and usable for the practitioner."
Packed with attention-grabbing graphics, illustrations, cartoons, and photos, this unique book shows how to analyze, design, and write serious object-oriented software that's easy to reuse, maintain, and extend--and software that allows new features to be added without breaking the old ones.

UML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler
Pressured with tight deadlines, application developers do not have the luxury of keeping completely up-to-date with all of the latest innovations in software engineering. Once in a great while, a tremendous resource comes along that helps these professionals become more efficient. The first two editions of UML Distilled have been perennial best-sellers because of their concise, yet thorough, nature.  

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman
"Applying UML and Patterns" is the world's #1 business and college introduction to "thinking in objects"--and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skillful agile modeling practices.