第一章 程序设计方法学简介 1
1.1程序设计方法学的产生 1
1.2结构程序设计及其讨论的一些主要问题 3
习题 28
第二章 结构化程序 30
2.1什么是结构化程序 30
2.2结构化定理 36
2.3一些新的控制结构 47
习题 58
第三章 模块化程序设计 60
3.1模块化程序设计的基本思想 60
3.2MODULA-2语言中的模块化结构 71
3.3ADA语言中的程序包 78
习题 84
第四章 程序正确性证明 86
4.1程序正确性证明简介 86
4.1不变式断言法 89
4.3子目标断言法 98
4.4公理化方法 102
4.5良序集方法 110
4.6计数器方法 118
习题 121
第五章 结构化程序的正确性证明 126
5.1正确性定理 126
5.2证明程序正确性的代数方法 130
5.3产生循环不变式的一种方法 142
习题 145
第六章 递归程序及其正确性证明 147
6.1迭代与递归 147
6.2递归程序的一种模型 148
6.3递归程序的正确性证明 159
习题 168
第七章 程序的形式推导技术 170
7.1谓词变换器及其性质 170
7.2面向目标的程序推导 174
7.3循环不变式的推导技术 192
习题 199
第八章 程序变换技术 201
8.1程序变换的基本思想和基本规则 201
8.2程序生成阶段 206
8.3程序改进阶段(Ⅰ) 211
8.4程序改进阶段(Ⅱ) 217
8.5程序改进阶段(Ⅲ) 224
8.6程序变换研究中的若干问题 228
习题 229
第九章 面向对象的程序设计方法 231
9.1面向对象的程序设计方法的基本思想 231
9.2SMALLTALK语言简介 241
习题 254
第十章 软件开发方法与工具简介 256
10.1程序工具和软件开发环境 256
10.2快速原型技术 260
参考文献 266