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.
Mankind, under the grace of God, hungers for spiritual peace, esthetic achievements, family security, justice, and liberty, none directly satisfied by industrial productivity. But productivity allows the sharing of the plentiful rather than fighting over scarcity; it provides time for spiritual, esthetic, and family matters. It allows society to delegate special skills to institutions of religion, justice, and the preservation of liberty.
--Harlan Mills, DPMA and Human Productivity
As computer professionals, we strive to build systems that work and are useful; as software engineers, we are faced with the task of creating complex systems in the presence of constrained computing and human resources. Object-oriented (OO) technology has evolved as a means of managing the complexity inherent in many different kinds of systems. The object model has proven to be a very powerful and unifying concept.
Since the publication of the second edition of Object-Oriented Analysis andDesign with Applications, we have seen major technological advances. This listincludes some highlights, among many others.
We have encountered the use of the object-oriented paradigm throughout the world. However, we still encounter many people who have not yet adopted the object paradigm of development. For both of these groups, this revision of this book holds much value.
For the person new to object-oriented analysis and design (OOAD), this book gives the following information:
There are four major differences between this edition and the previous publication.
This book provides practical guidance on the analysis and design of object-oriented systems. Its specific goals are the following:
This book is written for the computer professional as well as for the student.
This book is also suitable for use in undergraduate and graduate courses as well as in professional seminars and individual study. Because it deals primarily with a method of software development, it is most appropriate for courses in software engineering and as a supplement to courses involving specific object-oriented programming languages.
The book is divided into three major sections--Concepts, Method, and Applications--with considerable supplemental material woven throughout.
Section I examines the inherent complexity of software and the ways in which complexity manifests itself. We present the object model as a means of helping us manage this complexity. In detail, we examine the fundamental elements of the object model such as: abstraction, encapsulation, modularity, and hierarchy. We address basic questions such as "What is a class?" and "What is an object?"
Because the identification of meaningful classes and objects is the key task in object-oriented development, we spend considerable time studying the nature of classification. In particular, we examine approaches to classification in other disciplines, such as biology, linguistics, and psychology, and then apply these lessons to the problem of discovering classes and objects in software systems.
Section II presents a method for the development of complex systems based on the object model. We first present a graphic notation (i.e., the UML) for object-oriented analysis and design, followed by a generic process framework. We also examine the pragmatics of object-oriented development--in particular, its place in the software development lifecycle and its implications for project management.
Section III offers a collection of five nontrivial examples encompassing a diverse selection of problem domains: system architecture, control systems, cryptanalysis, data acquisition, and Web development. We have chosen these particular problem domains because they are representative of the kinds of complex problems faced by the practicing software engineer. It is easy to show how certain principles apply to simple problems, but because our focus is on building useful systems for the real world, we are more interested in showing how the object model scales up to complex applications. The development of software systems is rarely amenable to cookbook approaches; therefore, we emphasize the incremental development of applications, guided by a number of sound principles and well-formed models.
A considerable amount of supplemental material is woven throughout the book. Most chapters have sidebars that provide information on related topics. We include an appendix on object-oriented programming languages that summarizes the features of a few common languages. We also provide a glossary of common terms and an extensive classified bibliography that lists references to source material on the object model.
Readers always ask about the tools used to create the diagrams in the book. Primarily, we have used two fine tools for the diagrams: IBM Rational Software Architect and Sparx Systems Enterprise Architect. Why not use just one? The reality of the marketplace is that no tool does everything. The longer you do OOAD, you will eventually find some atypical "corner case" that no tool supports. (In that case, you may have to resort to basic drawing tools to show what you want.) But don't let those rare instances stop you from using robust OOAD tools such as those we mentioned.
This book may be read from cover to cover or it may be used in less structured ways. If you are seeking a deep understanding of the underlying concepts of the object model or the motivation for the principles of object-oriented development, you should start with Chapter 1 a...
Second half of the book include some examples with explanation.
A pleasure to read, nothing dry and stuffy and the analogies are spot-on so that even an old structured programming guy can understand and appreciate OO.
I was thinking to myself that maybe I didn't read it right, or maybe I accidentally skipped a page (or ten).
Author described the OOAD sens, paradigm and advantages. All part of text about OOAD are illustrated in UML 2.0 diagrams with comments. Read morePublished 2 months ago by Jarek Zelinski
template gardeing template diagram gardeing plan ~ initialize operating initializing ~~ analyst crop plan metrics ~~~ perspectives ties
Began a gardening plan to use... Read more
I love this book. And this is my opinion: I bought it the first time back in the late 90s when I was in college and recently I got the latest edition for kindle format so I can... Read morePublished 13 months ago by Max
I have the hard copy but loading onto my Kindle makes it easier to search for topics I want to brush up onPublished 15 months ago by Joan M Robbins
I rate with 5 stars because this book is a really nice one for learning object-oriented analysis. Quality is good and shipping is on time. Thank you so much!Published 17 months ago by Xin Gao
Only about halfway through but as many say this guy has a genius for explaining the subject that makes it crystal clear. Read morePublished 20 months ago by R. F. Bower
I was expecting the material to be dated, but it was quite relevant. It gives a good background for how we got where we are.Published 20 months ago by George
This is not really a book for hobbyists but if you're in a professional environment where you have to meet deadlines and etc, then this is a good book. Read morePublished on June 27, 2010 by T. Peyton
College-level holdings strong in references for object-oriented programmers must have the 3rd updated edition of Object-Oriented Analysis and Design with Applications. Read morePublished on July 26, 2007 by Midwest Book Review