Object-Oriented Design with Applications has long been the essential reference to object-oriented technology, which, in turn, has evolved to join the mainstream of industrial-strength software development. In this third edition, eaders can learn to apply object-oriented methods using new paradigms such as Java, the Unified Modeling Language (UML) 2.0, and .NET.
The authors draw upon their rich and varied experience to offer improved methods for object development and numerous examples that tackle the complex problems faced by software engineers, including systems architecture, data acquisition, cryptoanalysis, control systems, and Web development. They illustrate essential concepts, explain the method, and show successful applications in a variety of fields. You'll also find pragmatic advice on a host of issues, including classification, implementation strategies, and cost-effective project management.
Review By: Oleg Melnikov 10/27/2008
The book presents the foundations of object-oriented analysis and design (OOAD). The authors start by showing how an object model deals with issues of complex systems, then demonstrate how classes and objects should be used. The second half of the book shows how theory can be applied to a set of thorough examples. Novice readers will get a solid understanding of the subject matter, whereas a professional will enrich and broaden his understanding of OOAD.
Reading this book allows one to gain an understanding of OOAD and to get an idea on how to improve one’s software engineering process. The book covers a complete set of tools and methods for such tasks, varying from overall project management techniques to everyday tools like version control systems. The reader can identify parts missing in his or her environment, gain insight on how various tools are used together, and how OOAD relies on each of these tools.
The book covers and relies heavily on the reader's understanding of UML notation. Even though a deep understanding of UML is not required, the reader has to think in terms of UML diagrams to at least understand the book. Only the basics of UML are provided, so this book can not be considered a UML textbook. In my opinion the book is overloaded with UML; it doesn’t have to include a hundred pages of UML notation description.
To sum up, I would recommend this book to everyone working with object-oriented technology. Architects and designers will expand their knowledge base. Programmers who do not usually use UML will have a different view on object-oriented design and programming. This book is a must for those using or learning UML.