- Hardcover: 608 pages
- Publisher: Addison-Wesley Professional; 2 edition (September 30, 1993)
- Language: English
- ISBN-10: 0805353402
- ISBN-13: 978-0805353402
- Product Dimensions: 7.8 x 1.6 x 9.5 inches
- Shipping Weight: 2.4 pounds (View shipping rates and policies)
- Average Customer Review: 3.6 out of 5 stars See all reviews (36 customer reviews)
- Amazon Best Sellers Rank: #404,494 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Object-Oriented Analysis and Design with Applications (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
Frequently bought together
Customers who bought this item also bought
In this eagerly awaited second edition, 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. A two-time winner of Software Development's coveted Jolt Cola Product Excellence Award!
From the Back Cover
The first edition of Object-Oriented Design with Applications was instrumental in making object-oriented technology a practical reality--hundreds of projects applied Booch's notation and process to complex problems in diverse domains. In this eagerly-awaited new edition, Grady Booch draws upon the rich and varied results of these projects to offer improved methods for object development and a new, unified notation. With numerous examples, all of which are now implemented in C++, Booch illustrates essential concepts, explains the method, and shows 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.Features of the New Edition:
- Presents a new, unified notation that incorporates the best ideas from Booch's notation and other widely-used methods
- Uses C++, rapidly emerging as a standard programming language for object development, in all programming examples and applications
- Includes new examples of real world projects, including a client/server architecture and an application framework
- Distinguishes between good and bad object-oriented analysis and design and shows how to evaluate architectural tradeoffs to manage complexity
- Includes extensive new detail on the process and pragmatics of object-oriented analysis and design
This is the essential reference for anyone who implements or manages object technologies, or who wishes to begin exploration of this important new paradigm.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
The author drives home the inherent complexity of software design and the need for OO analysis and design to alleviate that complexity. Current developers using an object-oriented approach and developers new to OO design and analysis can benefit from this book.
I teach C++ as part of my job, and have found many design books to be shallow works which cover proprietary notations, with a few cookbook recipes thrown in. These books commonly show a lack of real development experience, and are more theory than practice.
This is not the case with this book, which combines work from many different sources. It also consistently includes references to alternative opinions when covering controversial material.
Mr. Booch stresses the need for intelligent, and sometimes ad hoc decisions which are based on good design principles, and are refined as a project evolves. But he doesn't stop there. He explains useful techniques and thought processes which are the primary tools of good OO A&D.
This is one of the best design books I have seen to date.
1. In 1994 when this book was published Java was in development and had no ways near the popularity it has today. (According to Cay Hortsmann Java did not burst onto the scene until late 1995)
2. Bertrand Meyer's book is great and contains valuable wisdom, but all of its examples are in Eiffel. While Eiffel is a great language what are my chances finding a job writing Eiffel.
But really all of the above comments are pointless. The fact of the matter is that the concepts in an Object-Oriented book should be language independent. However, to be most effective authors reinforce abstract ideas by including concrete examples. Which means the author must pick a language or write in pseudo code. Booch's book is a valuable reference to be used in learning how to apply Object-Oriented concepts to the analysis and design portion of the software development process. It is up to you to know your own problem domain or work with experts who do. I personally write software that deals with weapon trajectories and weapon effects and just because the book does not have any examples on this domain does note mean it is not valuable. The job of this book is to teach me how to think in terms of objects and how to find and design my classes and class hierarchies. It succeeds, Thanks Grady Booch.
Some of the steps in becoming a good OOP programmer/architect are listed below (1 & 2 are often combined):
1. learn an OO language
2. learn OOP
3. learn how to *use* OOP
Step three is where this book and, for example, books on object-oriented design patterns (GoF) come in. Just because because you know what classes and inheritance are does not mean you will use them effectively. I cannot emphasise the importance of step 3 enough when architecting applications. If you are a coder, simply knowing OOP is fine, as an architect it is simply not enough.
In terms of organization, the book starts simple and builds on previous chapters in a very organized way. In the first chapter Booch delves into the philosophy of OOP and complex systems. This kind of broad introduction serves well as a way to show where OO analysis and design stand relative to other engineering disciplines.
The only problem I had with the book is the fact that it is a bit dated. It does not use UML (although what it uses is very similar) and even has a chapter devoted to client/server computing. (however, it also has a chapter on AI). If it were not for this its datedness, I would have easily given it 5/5.
Overall a great book from one of the father's of modern objected oriented analysis/design.
The book thoroughly covers all of the fundamental concepts of object oriented design in a language-independent way. Although there are some C++ code samples they are brief and it is not necessary for the reader to have a C++ background to learn the OO concepts presented in the book.
Even though there are newer books out there you still should consider this one because the concepts presented such as encapsulation and polymorphism have not changed and are well covered in this classic work.