Object-Oriented Analysis and Design with Applications, 3/e (Hardcover)

Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim Conallen, Kelli A. Houston

買這商品的人也買了...

商品描述

Description

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.

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

商品描述(中文翻譯)

描述

《應用物件導向設計》一直是物件導向技術的重要參考資料,而物件導向技術已經成為工業強度軟體開發的主流。在這第三版中,讀者可以學習如何應用物件導向方法,包括使用Java、統一建模語言(UML)2.0和.NET等新範式。

作者們根據他們豐富多樣的經驗,提供了改進的物件開發方法和許多例子,解決了軟體工程師面臨的複雜問題,包括系統架構、數據收集、密碼分析、控制系統和網頁開發。他們說明了基本概念,解釋了方法,並展示了在各個領域的成功應用。您還可以找到關於許多問題的實用建議,包括分類、實施策略和具有成本效益的專案管理。

這個新版的新增內容包括:

- 對新的UML 2.0的介紹,從符號的最基本和高級元素,並強調關鍵變化
- 新的領域和背景
- 更加強調建模的焦點,這是讀者熱切要求的,其中五章分別深入探討整個開發生命週期的一個階段。
- 對於推理複雜系統的新方法
- 對於物件模型的概念基礎的檢查,這些基礎元素常常被誤解,例如抽象、封裝、模塊化和層次結構
- 如何分配開發團隊的資源並管理開發複雜軟體系統所帶來的風險
- 附錄中關於物件導向程式設計語言的內容

這是一本對於任何希望使用物件導向技術來管理許多種系統中的複雜性的重要文獻。

目錄

附註
前言
致謝
關於作者
第一部分:概念
第1章:複雜性
1.1 複雜系統的結構
1.2 軟體的固有複雜性
1.3 複雜系統的五個屬性
1.4 有組織和無組織的複雜性
1.5 將混亂帶入秩序
1.6 設計複雜系統

第2章:物件模型
2.1 物件模型的演變
2.2 物件模型的基礎```