《程序开发原理 抽象、规格与面向对象设计 abstraction, specification, and obiect-oriented design》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Barbara Liskov,(美)John Guttag著;裘健译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121032627
  • 页数:275 页
图书介绍:本书由著名编程理论专家所著,是美国麻省理工学院电气工程与计算机科学系的编程实践课程教材。书中讨论了怎样构建具有高可靠性、易于维护和能得以快速修改的软件开发方法,强调了软件的模块化开发思想,用丰富的实例告诉读者怎样进行模块化,并合理地组织各种模块以构成大型软件系统的过程。本书的前8章首次提出编程领域中一些十分有用的抽象概念,如过程抽象、迭代抽象以及最重要的数据抽象等。此外,本书通过大量的例子,用非形式化的规格说明来详细定义这些数据抽象,描述模块所需完成的任务,并定义了模块所需的性能边界条件。本书的后7章主要讲述了怎样利用抽象构建大型软件,主要侧重于软件工程的内容,基于类型层次结构提出对于数据抽象的调试、测试、需求分析、自顶向下和迭代的开发过程,还简要介绍了设计模式的概念。

第1章 概述 1

1.1 分解和抽象 1

1.2 抽象 2

1.3 本书其他要旨 8

练习 8

第2章 理解Java中的对象 9

2.1 程序结构 9

2.2 包 10

2.3 对象和变量 11

2.4 类型检查 14

2.5 分派 18

2.6 类型 18

2.7 数据流输入/输出 20

2.8 Java应用程序 20

练习 22

3.1 抽象的好处 24

第3章 过程抽象 24

3.2 规格 25

3.3 过程抽象的规格 26

3.4 实现过程 29

3.5 设计过程抽象 31

3.6 小结 34

练习 35

第4章 异常 36

4.1 规格 37

4.2 Java异常机制 38

4.3 异常编程 42

4.4 设计问题 43

4.5 防御编程 46

4.6 小结 47

练习 47

第5章 数据抽象 48

5.1 数据抽象的规格 49

5.2 使用数据抽象 53

5.3 实现数据抽象 54

5.4 附加方法 59

5.5 用于理解实现的一些帮助 63

5.6 数据抽象实现的属性 69

5.7 推理数据抽象 71

5.8 设计问题 74

5.9 局部性和可更改性 76

5.10 小结 77

练习 77

第6章 迭代抽象 79

6.1 Java中的迭代 81

6.2 迭代器规格 82

6.3 使用迭代器 83

6.4 实现迭代器 85

6.5 发生器的表示式不变量和抽象函数 87

6.6 有序列表 87

6.7 设计问题 91

练习 92

6.8 小结 92

第7章 类型层次 94

7.1 赋值与分派 95

7.2 定义一个类型层次 97

7.3 用Java定义层次 97

7.4 一个简单的例子 98

7.5 异常类型 103

7.6 抽象类 103

7.7 接口 106

7.8 复合实现 107

7.9 子类型的含义 112

7.10 类型层次的讨论 117

7.11 小结 118

练习 119

第8章 多态抽象 121

8.1 多态数据抽象 121

8.2 使用多态数据抽象 123

8.3 重新访问相等性 124

8.4 附加方法 125

8.5 更多灵活性 127

8.6 多态过程 130

8.7 小结 130

练习 131

第9章 规格 133

9.1 规格和规格满足集 133

9.2 规格的某些标准 133

9.3 为什么要有规格 138

9.4 小结 140

练习 140

第10章 测试与调试 141

10.1 测试 142

10.2 测试过程 147

10.3 测试迭代器 147

10.4 测试数据抽象 148

10.6 测试一个类型层次 150

10.5 测试多态抽象 150

10.7 单元和综合测试 152

10.8 测试工具 153

10.9 调试 155

10.10 防御性编程 159

10.11 小结 160

练习 161

第11章 需求分析 163

11.1 软件生命周期 163

11.2 需求分析总结 165

11.3 股票跟踪系统 168

11.4 小结 171

练习 172

第12章 需求规格 173

12.1 数据模型 173

12.2 需求规格 180

12.3 股票跟踪系统的需求规格 183

12.4 搜索引擎的需求规格 187

12.5 小结 190

练习 191

第13章 设计 193

13.1 设计过程纵览 193

13.2 设计笔记本 195

13.3 交互式程序的结构 199

13.4 开始设计 202

13.5 对方法的讨论 208

13.6 继续进行设计 209

13.7 查询抽象 210

13.8 WordTable抽象 214

13.9 最后加工 216

13.10 FP和UI间的交互 216

13.11 模块依赖图表vs数据模型 218

13.12 回顾及讨论 219

13.14 小结 222

13.13 自顶向下的设计 222

练习 223

第14章 从设计到实现 224

14.1 评估一个设计 224

14.2 整理程序开发过程 232

14.3 小结 236

练习 237

第15章 设计模式 238

15.1 隐藏对象创建 239

15.2 聪明的对策 242

15.3 桥接器模式 248

15.4 过程也必须是对象 249

15.5 复合 252

15.6 间接的力量 258

15.7 发布/订阅 260

15.8 小结 263

练习 263

术语表 264