书籍详情
零缺陷程序设计
作者:(美)Allan M.Stavely著;夏昕,王尧译;夏昕译
出版社:机械工业出版社
出版时间:2003-11-01
ISBN:9787111129417
定价:¥25.00
购买这本书可以去
内容简介
本书描述了编写无(或几乎无)bug代码的最新方法。这些方法同时还提高了生产力,缩短了开发时间。本书主要在三个领域内加以描述,分别是:规定、验证和测试。作者的写作目的是使开发人员更易理解规定和验证,写出结构完好的程序。本书适于高等院校学生和软件开发人员阅读。本书描述了编写无错代码的最新方法、这些方法来源于IBM等机构净室软件工程方面的实际经验、在过去的十五年间,这些方法在商业开发项目上应用得非常成功。出错概率要比行业平均水平低一个数量级。要特别指出的是,错误率的降低并非缘于成本的增长,相反。与它相伴而生的是生产力的提高和开发时间的全面缩减。Stavely在本书中简明扼要地说明了上述方法如何在软件开发的三个关键领域得以应用。这三个领域是:1.规定2.验证3,测试软件工程师必须将程序编制得更加简单明了,才能达到形式化规定的要求.才能通过数学方式证明代码与规定相匹配.才能消除逻辑上的bug:组内验证可以发现新的缺陷,可以激励小组成员对程序进行更加细致的检查:而测试则是为了巩固以前的工作。(基本上)查出所有剩余的错误。本书主要特色有:阐述了如何使用净室方法开发高质量的软件鼓励以小组为单位进行程序验证阐释了增量开发的重要性本书并未囊括IBM净室方法的所有内容。作者的目的是使读者容易理解规定和验证,写出结构完好的程序来;在阐述不同的观点时.本书的例子中用到了好几种语言,用的最多的是C,所以预先掌握C是必要的。
作者简介
Allan M.Stavely,二十几年来,一直任教于新墨西哥科技大学计算机科学系。他曾作为访问学者访问过IBM加州圣何塞研究中心、惠普英国布里斯托尔研究所,以及IBM英国温彻斯特研究中心。他的教学与研究领域主要包括软件工程、形式化方法和对编程的总体改进方法。
目录
出版者的话
专家指导委员会
译者序
前言
第1章 概述
1.1 问题:bug
1.2 净室方法
1.3 关于本书
备注
第2章 运算函数
2.1 运算:状态与函数
2.2 函数表示法:并行处理
2.3 条件并行处理
2.4 局部变量
2.5 基于预期函数的规定
2.6 其他标记法简介
2.7 预期函数的编写
练习
备注
第3章 验证
3.1 结构化控制语句
3.2 预期函数的定位
3.3 替换原则
3.4 代码序列
3.5 跟踪表
3.6 if语句
3.7 条件分支跟踪表
练习
备注
第4章 迭代的验证
4.1 while语句
4.2 循环中止的验证
4.3 已初始化循环
4.4 为独立的循环编写预期函数
4.5 其他形式的不定迭代
练习
备注
第5章 基于预期函数的程序设计
5.1 Pascal程序:最长一行的长度
5.2 C程序:统计字符及数字的出现次数
5.3 Icon程序:字符串解压缩
5.4 抽象化的探讨:登记注册系统
5.5 让事情简单
练习
备注
第6章 验证过程的回顾
6.1 为什么验证必须回顾
6.2 净室过程中的验证回顾
6.3 验证回顾是如何完成的
6.4 示例:注册登记系统的另一个例程
6.5 示例:测试数据生成器例程
6.6 示例讨论
练习
备注
第7章 定迭代
7.1 序列上的定迭代
7.2 序列变量
7.3 其他序列表达式
7.4 整型值的范围
7.5 其他数据结构
7.6 迭代机制
7.7 程序设计中的集合与序列
练习
备注
第8章 数据抽象与面向对象编程
8.1 数据抽象与封装
8.2 抽象函数
8.3 数据不变性
8.4 面向对象编程
练习
备注
第9章 递归与函数化语言
9.1 递归例程
9.2 终止
9.3 相互递归
9.4 函数化语言
练习
备注
第10章 测试
10.1 测试的角色
10.2 基于使用的测试
10.3 测试数据生成器
10.4 测试的其他方式
练习
备注
第11章 增量开发
11.1 用增量的方式开发程序
11.2 计划与实现的过程
11.3 示例:排演计划
练习
备注
第12章 我们将走向何方
12.1 净室过程的其他部分
12.2 其他的形式方法
12.3 我们学会了什么
12.4 展望未来
备注
部分习题的提示
参考文献
专家指导委员会
译者序
前言
第1章 概述
1.1 问题:bug
1.2 净室方法
1.3 关于本书
备注
第2章 运算函数
2.1 运算:状态与函数
2.2 函数表示法:并行处理
2.3 条件并行处理
2.4 局部变量
2.5 基于预期函数的规定
2.6 其他标记法简介
2.7 预期函数的编写
练习
备注
第3章 验证
3.1 结构化控制语句
3.2 预期函数的定位
3.3 替换原则
3.4 代码序列
3.5 跟踪表
3.6 if语句
3.7 条件分支跟踪表
练习
备注
第4章 迭代的验证
4.1 while语句
4.2 循环中止的验证
4.3 已初始化循环
4.4 为独立的循环编写预期函数
4.5 其他形式的不定迭代
练习
备注
第5章 基于预期函数的程序设计
5.1 Pascal程序:最长一行的长度
5.2 C程序:统计字符及数字的出现次数
5.3 Icon程序:字符串解压缩
5.4 抽象化的探讨:登记注册系统
5.5 让事情简单
练习
备注
第6章 验证过程的回顾
6.1 为什么验证必须回顾
6.2 净室过程中的验证回顾
6.3 验证回顾是如何完成的
6.4 示例:注册登记系统的另一个例程
6.5 示例:测试数据生成器例程
6.6 示例讨论
练习
备注
第7章 定迭代
7.1 序列上的定迭代
7.2 序列变量
7.3 其他序列表达式
7.4 整型值的范围
7.5 其他数据结构
7.6 迭代机制
7.7 程序设计中的集合与序列
练习
备注
第8章 数据抽象与面向对象编程
8.1 数据抽象与封装
8.2 抽象函数
8.3 数据不变性
8.4 面向对象编程
练习
备注
第9章 递归与函数化语言
9.1 递归例程
9.2 终止
9.3 相互递归
9.4 函数化语言
练习
备注
第10章 测试
10.1 测试的角色
10.2 基于使用的测试
10.3 测试数据生成器
10.4 测试的其他方式
练习
备注
第11章 增量开发
11.1 用增量的方式开发程序
11.2 计划与实现的过程
11.3 示例:排演计划
练习
备注
第12章 我们将走向何方
12.1 净室过程的其他部分
12.2 其他的形式方法
12.3 我们学会了什么
12.4 展望未来
备注
部分习题的提示
参考文献
猜您喜欢