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

商品描述(中文翻譯)

**描述**

《物件導向設計與應用》長期以來一直是物件導向技術的重要參考資料,而物件導向技術也隨之演變,成為工業級軟體開發的主流。在這第三版中——也是13年來的首次修訂——讀者可以學習如何使用新的範式,如Java、統一建模語言(UML)2.0和.NET,來應用物件導向方法。

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

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

- 對新UML 2.0的介紹,涵蓋符號的基本和進階元素,並強調關鍵變更
- 新的領域和上下文
- 大幅增強的建模重點——這是讀者熱切要求的——包含五個章節,每個章節深入探討整體開發生命週期中的一個階段
- 對複雜系統推理的新方法
- 對物件模型中廣為誤解的基本元素(如抽象、封裝、模組化和層次結構)的概念基礎的檢視
- 如何分配開發團隊的資源並管理與開發複雜軟體系統相關的風險
- 關於物件導向程式語言的附錄

這是任何希望利用物件導向技術來管理許多系統固有複雜性的人的開創性文本。

**目錄**

- 側邊欄 xi
- 前言 xiii
- 致謝 xix
- 關於作者 xx

**第一部分:概念 1**

- 第1章:複雜性 3
- 1.1 複雜系統的結構 4
- 1.2 軟體的固有複雜性 7
- 1.3 複雜系統的五個屬性 12
- 1.4 有組織與無組織的複雜性 14
- 1.5 將秩序帶入混沌 18
- 1.6 設計複雜系統的思考 24

- 第2章:物件模型 29
- 2.1 物件模型的演變 29
- 2.2 物件模型的基礎 37
- 2.3 物件模型的元素 43
- 2.4 應用物件模型 71

- 第3章:類別與物件 75
- 3.1 物件的本質 75
- 3.2 物件之間的關係 88
- 3.3 類別的本質 92
- 3.4 類別之間的關係 96
- 3.5 類別與物件的相互作用 111
- 3.6 建立高品質類別與物件的思考 112

- 第4章:分類 121
- 4.1 正確分類的重要性 121
- 4.2 識別類別與物件 126
- 4.3 關鍵抽象與機制 138

**第二部分:方法 145**

- 第5章:符號 147
- 5.1 統一建模語言 147
- 5.2 套件圖 155
- 5.3 元件圖 163
- 5.4 部署圖 171
- 5.5 用例圖 175
- 5.6 活動圖 185
- 5.7 類別圖 192
- 5.8 序列圖 206
- 5.9 互動概覽圖 213
- 5.10 複合結構圖 215
- 5.11 狀態機圖 218
- 5.12 時序圖 231
- 5.13 物件圖 235
- 5.14 通信圖 238

- 第6章:過程 247
- 6.1 基本原則 248
- 6.2 宏觀過程:軟體開發生命週期 256
- 6.3 微觀過程:分析與設計過程 272

- 第7章:實用性 303
- 7.1 管理與規劃 304
- 7.2 人員配置 308
- 7.3 發佈管理 312
- 7.4 重用 314
- 7.5 品質保證與度量 316
- 7.6 文件 320
- 7.7 工具 322
- 7.8 特殊主題 324
- 7.9 物件導向開發的好處與風險 326

**第三部分:應用 331**

- 第8章:系統架構:衛星導航 333
- 8.1 啟始 334
- 8.2 詳述 347
- 8.3 建設 370
- 8.4 過渡後 371

- 第9章:控制系統:交通管理 375
- 9.1 啟始 376
- 9.2 詳述 385
- 9.3 建設 396
- 9.4 過渡後 411

- 第10章:人工智慧:密碼分析 413
- 10.1 啟始 414
- 10.2 詳述 421
- 10.3 建設 427
- 10.4 過渡後 446

- 第11章:數據獲取:氣象監測站 449
- 11.1 啟始 450
- 11.2 詳述 463
- 11.3 建設 474
- 11.4 過渡後 487

- 第12章:網頁應用:假期追蹤系統 489
- 12.1 啟始 490
- 12.2 詳述 494
- 12.3 建設 506
- 12.4 過渡與過渡後 534

**附錄A:物件導向程式語言 537**
- A.1 語言演變 537
- A.2 Smalltalk 541
- A.3 C++ 546
- A.4 Java 551

**附錄B:進一步閱讀 557**
- 註解 567
- 詞彙表 591
- 分類書目 603
- 索引 677