Thank you for reading this book! If I can answer a question, or for consulting or coaching a team (in OOA/D, UML, modeling, iterative and agile methods) please contact me at www.craiglarman.com
This is a practical introduction to object-oriented analysis and design (OOA/D), and to related aspects of iterative development. I am grateful that the previous editions were extremely popular worldwide. I sincerely thank all the readers!
Here is how the book will benefit you.
First , the use of object technology is widespread, so mastery of OOA/D is critical for you to succeed in the software world.
design well
Second , if you are new to OOA/D, you're understandably challenged about how to proceed; this book presents a well-defined iterative roadmapan agile approach to the Unified Processso that you can move in a step-by-step process from requirements to code.
learn a process roadmap
Third , the Unified Modeling Language (UML) has emerged as the standard notation for modeling, so it's useful to be able to apply it skillfully.
learn
UML
for modeling
Fourth , design patterns communicate the "best practice" idioms OO design experts apply. You will learn to apply design patterns, including the popular "gang-of-four" patterns, and the GRASP patterns. Learning and applying patterns will accelerate your mastery of analysis and design.
learn design patterns
Fifth , the structure and emphasis in this book are based on years of experience in education and mentoring thousands of people in the art of OOA/D. It reflects that experience by providing a refined, proven, and efficient approach to learning the subject, so your investment in reading and learning is optimized.
learn from experience
Sixth , it exhaustively examines two case studiesto realistically illustrate the entire OOA/D process, and goes deeply into thorny details of the problem.
learn from a realistic study
Seventh , it shows how to map object design artifacts to code in Java. It also introduces test-driven development and refactor.
design to code, with
TDD
& refactoring
Eighth , it explains how to design a layered architecture and relate the UI layer to domain and technical services layers.
layered architecture
Finally , it shows you how to design an OO framework and applies this to the creation of a framework for persistent storage in a database.
design frameworks