《计算机软件方法学》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:钟珞,徐宝文编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:1996
  • ISBN:7113022375
  • 页数:199 页
图书介绍:

目录 1

第一章结构化程序设计 1

1.1结构化程序 1

1.1.1程序结构 1

1.1.2结构化程序的定义 2

1.1.3结构化定理 4

1.2结构化程序设计 8

1.2.1结构化程序设计推荐框图 8

1.2.2逐步求精方法 9

1.3.1基本思想 13

1.3模块化程序设计 13

1.3.2模块独立性 14

1.4程序设计风格 17

1.4.1 基本思想 17

1.4.2程序设计风格 17

1.4.3程序的健壮性 19

思考练习题 20

第二章程序正确性证明 21

2.1程序的部分正确性与终止性 21

2.2部分正确性证明 22

2.2.1不变式断言法 22

2.2.2公理化方法 24

2.3终止性证明 29

2.3.1良序集方法 29

2.3.2计数器方法 31

思考练习题 33

第三章递归程序正确性证明 35

3.1递归转化为迭代 35

3.2递归程序模式及计算规则 36

3.2.1递归程序模式 36

3.2.2递归计算规则 37

3.3.1结构归纳法 40

3.3递归程序正确性证明 40

3.3.2 良序归纳法 42

思考练习题 44

第四章并行程序正确性证明 45

4.1并行程序设计 45

4.1.1信号灯 45

4.1.2 Ada中的并行性 46

4.2时态逻辑简介 50

4.2.1基本思想 50

4.2.2模态逻辑简介 51

4.2.3时态逻辑简介 52

4.2.4程序时态逻辑 53

4.3.1并行程序模型 54

4.3 并行程序正确性证明 54

4.3.2并行程序性质的时态描述 56

思考练习题 62

第五章程序形式推导 63

5.1谓词变换器 63

5.1.1基本思想 63

5.1.2谓词变换器 64

5.2面向目标的推导 66

5.2.1序列语句推导 67

5.2.2选择语句推导 67

5.2.3循环语句推导 69

5.3循环不变式推导 74

5.3.1删去一个合取分量 75

5.3.2用变量代替常量 76

5.3.3扩展变量的值域 76

5.3.4前部条件与后部条件结合 77

5.4逐步求精模型 77

5.4.1后置条件的变换 77

5.4.2基本不变式的构造 79

5.4.3细分规则 80

5.4.4构造规则的求精 80

思考练习题 81

6.1.1变换的基本思想 82

6.1程序变换基本规则 82

第六章程序变换 82

6.1.2变换的基本规则 83

6.2程序生成 84

6.3程序改进 86

6.3.1非尾递归转化为尾递归 86

6.3.2多递归分支的转化 88

6.3.3二重递归的转化 89

6.4函数复合和反演 90

6.4.1 函数复合 90

6.4.2 函数反演 91

思考练习题 92

7.1.1抽象数据类型的概念 93

第七章抽象数据类型及其实现 93

7.1抽象数据类型及代数规格说明 93

7.1.2代数规格说明 94

7.1.3抽象数据类型的实现 96

7.2一种形式变换方法简介 96

7.2.1抽象数据类型的形式化讨论 97

7.2.2中间抽象数据类型的确定 98

7.2.3变换规则及正确性 100

7.3基于抽象数据类型设计程序设计语言 104

7.3.1抽象数据类型的简单定义 104

7.3.2项语言和条件语言 105

7.3.3子程序语言 106

7.3.4子程序调用的讨论 107

7.3.5递归程序正确性验证 107

思考练习题 108

第八章软件工程 109

8.1软件和软件周期 109

8.2软件工程 109

8.3系统定义与软件计划 110

8.3.1系统分析 111

8.3.2可行性研究 113

8.3.3成本效益分析 113

8.4软件需求 114

8.4.1结构化分析方法 115

8.4.2数据流程图 116

8.4.3 数据字典 117

8.5 概要设计 118

8.5.1结构化设计方法 118

8.5.2模块结构图 119

8.5.3从数据流程图导出模块结构图 120

8.5.4 Jackson方法 121

8.6祥细设计 122

8.6.1基本思想 122

8.6.2图形设计工具 123

8.7软件编码 124

8.7.1结构化程序设计方法 125

8.7.2程序设计质量 125

8.8 软件测试 125

8.8.1测试方法 126

8.8.2单元测试 127

8.8.3组装测试 127

8.8.4确认测试 128

8.8.5测试实例设计 129

8.9.1软件维护的内容 132

8.9软件维护 132

8.9.2软件维护的过程 133

8.9.3软件的可维护性 133

思考练习题 134

第九章快速原型法与第四代语言 135

9.1快速原型法 135

9.1.1基本思想 135

9.1.2快速原型开发模型 136

9.1.3快速原型技术 139

9.1.4用快速原型法生成用户界面 144

9.2第四代语言 146

9.2.1基本思想 146

9.2.3第四代语言的基本原理 148

9.2.2第四代语言的环境 148

思考练习题 152

第十章面向对象的方法 153

10.1面向对象技术 153

10.1.1对象、操作、消息和信息隐藏 153

10.1.2类、实例和继承性 154

10.1.3对象描述 155

10.2 面向对象的软件开发 155

10.2.1面向对象的系统分析与设计 155

10.2.2面向对象的生命周期 159

10.3.2面向对象的专家系统设计 163

10.3.1面向对象的方法与专家系统 163

10.3面向对象的专家系统 163

思考练习题 167

第十一章软件工程环境 168

11.1软件工程环境的建立 168

11.1.1软件工程环境的构成及特点 168

11.1.2软件工程环境的类型 169

11.2形式化开发环境 173

11.2.1基本概念 173

11.2.2 XYZ系统简介 174

11.3模型开发环境及功能设计 177

11.3.1模型开发现状 178

11.3.2模型开发环境 179

11.3.3主要功能设计 180

思考练习题 180

第十二章程序复杂性度量 181

12.1经典的度量方法 181

12.1.1 Halstead度量法 181

12.1.2 McCabe度量法 182

12.2 McCabe和Halstead度量法的缺陷及改进 182

12.2.1基本思想 182

12.2.2公理化软件复杂性度量 184

12.2.3新的测试复杂性度量方法 184

12.3.2程序结构的组成 186

12.3.1程序结构的描述 186

12.3结构复杂性度量方法 186

12.3.3程序结构的分解 187

12.3.4复杂性度量 189

12.3.5与其它度量方法的联系 190

12.4程序网络度量方法 192

12.4.1程序网络的转换及简化 192

12.4.2循环网络的简化 193

12.4.3条件语句执行时间的估计 193

12.4.4循环程序执行时间的估计 194

思考练习题 195

参考文献 196