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--the first revision in 13 years--readers 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.
New to this new edition are
* An introduction to the new UML 2.0, from the notation's most fundamental and advanced elements with an emphasis on key changes
* New domains and contexts
* A greatly enhanced focus on modeling--as eagerly requested by readers--with five chapters that each delve into one phase of the overall development lifecycle.
* Fresh approaches to reasoning about complex systems
* An examination of the conceptual foundation of the widely misunderstood fundamental elements of the object model, such as abstraction, encapsulation, modularity, and hierarchy
* How to allocate the resources of a team of developers and mange the risks associated with developing complex software systems
* An appendix on object-oriented programming languages
This is the seminal text for anyone who wishes to use object-oriented technology to manage the complexity inherent in many kinds of systems.
Sidebars
Preface
Acknowledgments
About the Authors
Section I: Concepts
Chapter 1: Complexity
Chapter 2: The Object Model
Chapter 3: Classes and Objects
Chapter 4: Classification
Section II: Method
Chapter 5: Notation
Chapter 6: Process
Chapter 7: Pragmatics
Chapter 8: System Architecture: Satellite-Based Navigation
Chapter 9: Control System: Traffic Management
Chapter 10: Artificial Intelligence: Cryptanalysis
Chapter 11: Data Acquisition: Weather Monitoring Station
Chapter 12: Web Application: Vacation Tracking System
Appendix A: Object-Oriented Programming Languages
Appendix B: Further Reading
Notes
Glossary
Classified Bibliography
Index
Product Details
* Amazon Sales Rank: #129251 in Books
* Published on: 2007-04-30
* Original language: English
* Number of items: 1
* Binding: Hardcover
* 720 pages
Editorial Reviews
Amazon.com Review
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.
0805353402B04062001
About the Author
Grady Booch is an IBM fellow and author of six best-selling books on object-oriented programming. He is world-reknowned as an originator of OO and founder of UML.
Robert A. Maksimchuk, as Research Director in the Unisys CTO Office, focuses on emerging modeling technologies to advance the strategic direction of the Unisys 3D-Visual Enterprise modeling framework. Bob brings an abundance of systems engineering, modeling, and object-oriented analysis and design expertise, in numerous industries, to this mission. He is the coauthor of the books UML for Mere Mortals and UML for Database Design, has written various articles, has traveled worldwide as a featured speaker in numerous technology forums, and led workshops and seminars on UML and object-oriented development.
Michael W. Engle is a principal member of the engineering staff with the Lockheed Martin Corporation. He has extensive technical and management experience across the complete system development lifecycle, from project initiation through deployment and support in a variety of application domains. As a systems architect, Mike employs object-oriented analysis nad design techniques in complex systems development.
Dr. Bobbi Young is a Director of Research for the Unisys Chief Technology Office. She has many years of experience in the IT industry working with commercial companies and Department of Defense contractors. Dr. Young has been a consultant mentoring in program management, enterprise architecture, systems engineering, and object-oriented analysis and design. Throughout her career, she has focused on system lifecycle processes and methodologies, and enterprise architecture.
Jim Conallen is a software engineer in IBM Rational's Model Driven Development Strategy team, where he is actively involved in applying the Object Management Group's (OMG) Model Driven Architecture (MDA) initiative to IBM Rational's model tooling.
Kelli A. Houston is a Consulting IT Specialist at IBM Rational. She is the method architect for IBM's internal method authoring method and is part of the team responsible for integrating IBM's methods.
Customer Reviews
Too many words3
This book's reputation as one of the bibles of OOAD is probably deserved because (to someone relatively new to it) the essentials seem to be thoroughly covered. It just seems too much like wading through muck to find them.
The problem begins at the very beginning; on the first pages of the preface. In describing changes between publication of the second edition and this third edition, the author lists "robots are cruising on the surface of Mars" and "Personal hovercraft are available." Tongue-in-cheek?
Unfortunately, no, unless it's firmly planted there. As the book continues, the reader all too often wants to start skimming as paragraph after paragraph, sometimes page after page, of non-essential prattle clouds the essentials. For journeyman designers and developers, sections on the topology of old-fashioned procedural languages, on the importance of documentation, task planning, release planning (twice!) and more may be frustrating drags on learning the essentials of thinking through a good design and taking it to the doorstep of implementation.
A highly-simplified greenhouse application is used for examples throughout the first part of the book, leaving too many more-common scenarios unexplored and occasionally trapping skimmers who have not captured every concept in the design of that application along the way.
Late chapters illustrate some concepts with (finally!) other applications including an all-important (for many of us) web application as well as applications for satellite tracking, data aquisition for a weather station, artificial intelligence, and a control system for traffic management. Interesting, but again wordy and by the time you get there you're exhausted!
I did learn from this book, but I'm still looking for The Book that efficiently teaches OOAD, and I've read four or five already. So far I've learned more from a couple of implementation-level books: Martin Fowler's superb book Refactoring: Improving the Design of Existing Code, and his UML Distilled. These have been very instructive in part because Fowler's style is lean and very clear, un-clouded by distracting non-essentials. I've just ordered Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman. Fingers are crossed, maybe that will be The Book.
Nothings perfect. Irrespective, this should be on every OO programmers bookshelf.5
I have read few software engineering books that have been perfect. Some of this book is not perfect. The wisdom in the text, in the white space and beyond, is priceless. It is important to consider that Robert Martin, whose books on the theory and art of object oriented software development, amongst other subjects, are immense. Robert worked with Booch, and his greatness stands on the shoulders of Booch. You may not get everything from a first read of this book, and thats the beauty - it distills so many ideas in some many ways, that every time you read it, you get to share in the vision and deeper ideas behind the concepts.
This will always have a space on my shelf.
Quite simply, a 'most have' for any serious collection.5
College-level holdings strong in references for object-oriented programmers must have the 3rd updated edition of Object-Oriented Analysis and Design with
