Home > Store > Programming > General Programming/Other Languages

larger cover

Add To My Wish List

Object-Oriented Analysis and Design with Applications, 3rd Edition

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Reviews
  • Sample Content

Product Author Bios

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.

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   

Customer Reviews

71 of 75 people found the following review helpful
4.0 out of 5 stars A book on *using* OOP, September 3, 2000
After reading some of the less flattering reviews of this book, it seems that many reviewers were expecting a book on object-oriented programming in general. If you want to learn how program, this is not the book for you. This book is about *using* object-oriented techniques to architect systems. The content you should take away from it is entirely independent of any particular language.

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... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


50 of 53 people found the following review helpful
5.0 out of 5 stars A beacon of light in a world of darkness, October 29, 1999
After reading the other reviews I have a few comments.

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... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


14 of 14 people found the following review helpful
5.0 out of 5 stars Required reading for C++ developers, April 16, 1998
By 
Tony Kay (Nashville, TN) - See all my reviews

I bought this book due to a positive comment in B. Stroustrup's "The C++ Programming Language" bibliography. I was not dissapointed. This book covers everything from terminology, to useful notations, to actual application of techniques.

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... Read more

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 42 customer reviews...

Online Sample Chapter

Software Complexity: How Do We Bring Order to Chaos?

Table of Contents

Sidebars   xi
Preface    xiii
Acknowledgments    xix
About the Authors    xxi

Section I: Concepts   1

Chapter 1: Complexity   3

1.1      The Structure of Complex Systems    4
1.2      The Inherent Complexity of Software    7
1.3      The Five Attributes of a Complex System    12
1.4      Organized and Disorganized Complexity    14
1.5      Bringing Order to Chaos    18
1.6      On Designing Complex Systems    24

Chapter 2: The Object Model    29

2.1      The Evolution of the Object Model    29
2.2      Foundations of the Object Model    37
2.3      Elements of the Object Model    43
2.4      Applying the Object Model    71

Chapter 3: Classes and Objects    75

3.1      The Nature of an Object    75
3.2      Relationships among Objects    88
3.3      The Nature of a Class    92
3.4      Relationships among Classes    96
3.5      The Interplay of Classes and Objects    111
3.6      On Building Quality Classes and Objects    112

Chapter 4: Classification    121

4.1      The Importance of Proper Classification    121
4.2      Identifying Classes and Objects    126
4.3      Key Abstractions and Mechanisms    138

Section II: Method    145

Chapter 5: Notation    147

5.1      The Unified Modeling Language    147
5.2      Package Diagrams    155
5.3      Component Diagrams    163
5.4      Deployment Diagrams    171
5.5      Use Case Diagrams    175
5.6      Activity Diagrams    185
5.7      Class Diagrams    192
5.8      Sequence Diagrams    206
5.9      Interaction Overview Diagrams    213
5.10    Composite Structure Diagrams    215
5.11    State Machine Diagrams    218
5.12    Timing Diagrams    231
5.13    Object Diagrams    235
5.14    Communication Diagrams    238

Chapter 6: Process 247

6.1        First Principles    248
6.2        The Macro Process: The Software Development Lifecycle    256
6.3        The Micro Process: The Analysis and Design Process    272

Chapter 7: Pragmatics    303

7.1      Management and Planning    304
7.2      Staffing    308
7.3      Release Management    312
7.4      Reuse    314
7.5      Quality Assurance and Metrics    316
7.6      Documentation    320
7.7      Tools    322
7.8      Special Topics    324
7.9      The Benefits and Risks of Object-Oriented Development    326

Section III: Applications    331

Chapter 8: System Architecture: Satellite-Based Navigation    333

8.1      Inception    334
8.2      Elaboration    347
8.3      Construction    370
8.4      Post-Transition 371

Chapter 9: Control System: Traffic Management    375

9.1      Inception    376
9.2      Elaboration    385
9.3      Construction    396
9.4      Post-Transition 411

Chapter 10: Artificial Intelligence: Cryptanalysis    413

10.1      Inception    414
10.2      Elaboration    421
10.3      Construction    427
10.4      Post-Transition 446

Chapter 11: Data Acquisition: Weather Monitoring Station    449

11.1      Inception    450
11.2      Elaboration    463
11.3      Construction    474
11.4      Post-Transition    487

Chapter 12: Web Application: Vacation Tracking System    489

12.1      Inception    490
12.2      Elaboration    494
12.3      Construction    506
12.4      Transition and Post-Transition    534

Appendix A: Object-Oriented Programming Languages    537

A.1      Language Evolution    537
A.2      Smalltalk    541
A.3      C++    546
A.4      Java    551

Appendix B: Further Reading    557

Notes    567
Glossary    591
Classified Bibliography    603
Index    677

Preface

Download the Preface

Downloadable Sample Chapter

Download Chapter 1

Index

Download the Index

 
Best Value

Book + eBook Bundle  $134.98  $80.99

Book Price: $59.99
eBook Price: $21.00

Buy

This book includes free shipping!

Buy

Book  $74.99  $59.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $59.99  $47.99

About Watermarked eBooks

This PDF will be accessible from your Account page after purchase and requires the free Adobe® Reader® software to read it.

The eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Watermarked eBook FAQ

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.