Published by Addison-Wesley Professional (April 30, 2007) © 2007

Grady Booch | Robert Maksimchuk | Michael Engle | Jim Conallen | Kelli Houston | Bobbi Young | John Fuller
    VitalSource eTextbook (Lifetime access)
    €39,99
    Adding to cart… The item has been added
    ISBN-13: 9780132797443

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

    Language: English

    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   

    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