标题：面向对象分析与设计（第3版）（英文版）
基本信息
作/译者：(美)布奇 
出版社：人民邮电出版社
出版日期：2008年04月  [1]ISBN：9787115173065 [十位:7115173060] 
页数：691 重约：1.160KG 
定价：￥89.00
主要内容
本书是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[2]
编辑推荐
本书的英文原书长期以来都是面向对象技术的重要参考书,而面向对象技术已经成为主流软件开发的事实标准。在这本值得期待的第3版中,读者可以学会如何通过统一建模语言UML2.0来应用面向对象方法。
本书分成3个主要部分:概念、方法和应用,其中穿插了大量的补充材料。
第1部分研究软件的内在复杂性,以及复杂性的表现方式。本书将对象模型作为一种手段来帮助我们管理这种复杂性;详细地研究了对象模型的基本元素:抽象、封装、模块化、层次结构;讨论了“什么是类?”以及“什么是对象?”等基本问题。由于确定有意义的类和对象是面向对象开发中的关键任务,因此我们花了相当多的时间来研究分类的本质。具体来说,我们研究了生物学、语言学和心理学等其他学科中的分类方法,然后将这些经验应用到发现软件系统中类和对象的问题上。
第2部分基于对象模型提出了复杂系统开发的一种方法。针对面向对象的分析与设计,首先提出了一套图形表示法(即UML),然后是一个通用的过程框架。还研究了面向对象开发的实践,具体来说,就是它在软件开发生命周期中的位置以及它对于项目管理意味着什么。
第3部分提供了一组5个不简单的例子,涉及不同问题域:系统架构、控制系统、密码分析、数据获取和web开发。之所以选择这些问题域,是因为它们是软件工程师实践过程中遇到的复杂问题的代表。展示某些原则如何应用于简单的问题是很容易的,但是因为我们关注的是为现实世界构建有用的系统,所以我们对如何将对象模型应用于复杂应用程序更加感兴趣。软件系统的开发不同于按菜谱做菜,因此我们强调应用程序的增量式开发,这种开发以一些正确的原则和良好的模型作为指导。 
本书新增的内容包括:UML2.0的详细介绍,包括这种表示法最基本的元素和高级元素,同时强调了重要的区别;用5章的篇幅大大加强了对建模的关注,每一章都强调了整体开发生命周期中的一个阶段;让复杂系统变得有条理的新方法,包括利用OOAD和UML来处理系统架构的新方法;关于对象模型中一些被广泛误解的基本元素的基础概念,如抽象、封装、模块化和层次结构;关于如何分配开发团队资源以及管理开发复杂软件系统相关风险的建议;关于主要面向对象编程语言(如Java和C++等)的附录。