面向對象分析與設計(第3版)(英文版)

面向對象分析與設計(第3版)(英文版)

《面向對象分析與設計(第3版)(英文版)》是2008年人民郵電出版社出版的圖書,作者是美)布奇。

主要內容

本書是UML創始人Grady Booch的代表作之一,書中介紹的概念都基於牢固的理論基礎。同時,本書又是一本注重實效的書,面向架構師和軟體開發者等軟體工程實踐者的實際需要。本書通過大量例子說明了基本概念,解釋了方法,並展示了在不同領域的成功套用。全書分為理論和套用兩部分。理論部分深刻剖析了面向對象分析與設計(OOAD)的概念和方法。套用部分連續列出了5個不同類型、不同領域的套用,描述如何從初始階段到移交階段將OOAD理論和方法套用到項目中。套用部分所涉及的領域包括系統架構、數據獲取、密碼分析、控制系統和Web開發,還給出了一些關於重要問題的有效建議,包括分類、實現策略和高性價比的項目管理。書中的表示法採用最新的UML 2.0,因此本書是學習UML 2.0不可多得的參考書。

本書作者基於長期豐富的經驗,提出了改進的對象開發方法,用於解決系統和軟體開發者面臨的複雜問題,非常適合實際系統和軟體的開發者、系統分析師或構架師、項目經理閱讀。本書主要闡述了軟體開發的方法,也可以作為高等院校軟體工程和高級編程課程的教材使用。

圖書目錄

Section 1 Concepts

Chapter 1 Complexity

1.1 The Structure of Complex Systems

1.2 The Inherent Complexity of Software

1.3 The Five Attributes of a Complex System

1.4 Organized and Disorganized Complexity

1.5 Bringing Order to Chaos

1.6 On Designing Complex Systems

Chapter 2 The Object Model

2.1 The Evolution of the Object Model

2.2 Foundations of the Object Model

2.3 Elements of the Object Model

2.4 Applying the Object Model

Chapter 3 Classes and Objects

3.1 The Nature of an Object

3.2 Relationships among Objects

3.3 The Nature of a Class

3.4 Relationships among Classes

3.5 The Interplay of Classes and Objects

3.6 On Building Quality Classes and Objects

Chapter 4 Classification

4.1 The Importance of Proper Classification

4.2 Identifying Classes and Objects

4.3 Key Abstractions and Mechanisms

Section 2 Method

Chapter 5 Notation

5.1 The Unified Modeling Language

5.2 Package Diagrams

5.3 Component Diagrams

5.4 Deployment Diagrams

5.5 Use Case Diagrams

5.6 Activity Diagrams

5.7 Class Diagrams

5.8 Sequence Diagrams

5.9 Interaction Overview Diagrams

5.10 Composite Structure Diagrams

5.11 State Machine Diagrams

5.12 Timing Diagrams

5.13 Object Diagrams

5.14 Communication Diagrams

Chapter 6 Process

6.1 First Principles

6.2 The Macro Process: The Software Development Lifecycle

6.3 The Micro Process: The Analysis and Design Process

Chapter 7 Pragmatics

7.1 Management and Planning

7.2 Staffing

7.3 Release Management

7.4 Reuse

7.5 Quality Assurance and Metrics

7.6 Documentation

7.7 Tools

7.8 Special Topics

7.9 The Benefits and Risks of Object-Oriented Development

Section 3 Applications

Chapter 8 System Architecture: Satellite-Based Navigation

8.1 Inception

8.2 Elaboration

8.3 Construction

8.4 Post-Transition

Chapter 9 Control System: Traffic Management

9.1 Inception

9.2 Elaboration

9.3 Construction

9.4 Post-Transition

Chapter 10 Artificial Intelligence: Cryptanalysis

10.1 Inception

10.2 Elaboration

10.3 Construction

10.4 Post-Transition

Chapter 11 Data Acquisition: Weather Monitoring Station

11.1 Inception

11.2 Elaboration

11.3 Construction

11.4 Post-Transition

Chapter 12 Web Application: Vacation Tracking System

12.1 Inception

12.2 Elaboration

12.3 Construction

12.4 Transition and Post-Transition

Appendix A Object-Oriented Programming Languages

A.1 Language Evolution

A.2 Smalltalk

A.3 C++

A.4 Java

Appendix B Further Reading

Notes

Glossary

Classified Bibliography

Index

編輯推薦

本書的英文原書長期以來都是面向對象技術的重要參考書,而面向對象技術已經成為主流軟體開發的事實標準。在這本值得期待的第3版中,讀者可以學會如何通過統一建模語言UML2.0來套用面向對象方法。

本書分成3個主要部分:概念、方法和套用,其中穿插了大量的補充材料。

第1部分研究軟體的內在複雜性,以及複雜性的表現方式。本書將對象模型作為一種手段來幫助我們管理這種複雜性;詳細地研究了對象模型的基本元素:抽象、封裝、模組化、層次結構;討論了“什麼是類?”以及“什麼是對象?”等基本問題。由於確定有意義的類和對象是面向對象開發中的關鍵任務,因此我們花了相當多的時間來研究分類的本質。具體來說,我們研究了生物學、語言學和心理學等其他學科中的分類方法,然後將這些經驗套用到發現軟體系統中類和對象的問題上。

第2部分基於對象模型提出了複雜系統開發的一種方法。針對面向對象的分析與設計,首先提出了一套圖形表示法(即UML),然後是一個通用的過程框架。還研究了面向對象開發的實踐,具體來說,就是它在軟體開發生命周期中的位置以及它對於項目管理意味著什麼。

第3部分提供了一組5個不簡單的例子,涉及不同問題域:系統架構、控制系統、密碼分析、數據獲取和web開發。之所以選擇這些問題域,是因為它們是軟體工程師實踐過程中遇到的複雜問題的代表。展示某些原則如何套用於簡單的問題是很容易的,但是因為我們關注的是為現實世界構建有用的系統,所以我們對如何將對象模型套用於複雜應用程式更加感興趣。軟體系統的開發不同於按菜譜做菜,因此我們強調應用程式的增量式開發,這種開發以一些正確的原則和良好的模型作為指導。

本書新增的內容包括:UML2.0的詳細介紹,包括這種表示法最基本的元素和高級元素,同時強調了重要的區別;用5章的篇幅大大加強了對建模的關注,每一章都強調了整體開發生命周期中的一個階段;讓複雜系統變得有條理的新方法,包括利用OOAD和UML來處理系統架構的新方法;關於對象模型中一些被廣泛誤解的基本元素的基礎概念,如抽象、封裝、模組化和層次結構;關於如何分配開發團隊資源以及管理開發複雜軟體系統相關風險的建議;關於主要面向對象程式語言(如Java和C++等)的附錄。

相關詞條

熱門詞條

聯絡我們