书籍详情
面向对象与传统软件工程:统一过程的理论与实践(原书第六版)
作者:(美)斯凯奇 著,韩松 等译;韩松译
出版社:机械工业出版社
出版时间:2006-02-01
ISBN:9787111179634
定价:¥55.00
购买这本书可以去
内容简介
本书是软件工程领域的经典著作,被国外多所大学选用为教材,至今已是第6版。从Java到面向对象、再到统一过程的软件开发方法,面对软件工程发展中的重大方法上的改变。本书作者都以严谨的态度对其软件工程专著进行修订,使软件工程在理论上与新的方法和实践更加紧密结合。全书共分两部分;第一部分介绍了软件工程的理论基础;第二部分讲述了软件生命周期的各个阶段。采用这种独特的、极具可读性的组织方式,学生可以更加系统地学习软件工程。本书是一本经典的软件工程教科书,自1990年首次出版以来,这已是第6次修订出版。全书共分为两部分:第一部分介绍了以项目开发为基础的软件工程的理论基础;第二部分讲述了软件生命周期的各个阶段。第6版的亮点在于结合了统一过程,并深入介绍了UML,使得内容更具实用性和时效性。此外,书中还包含两个大型的运行实例、大量的参考文献及习题集,使得读者能更好地学习和实践书中的内容。本书是高等院校软件工程课程的理想教材,对于专业软件开发人员,本书也是一个很好的参考。
作者简介
StephenR.Schach,1972年获魏兹曼科学院理学理科硕士学位,1973年获开普敦大学应用数学博士学位。Schach在软件工程领域有广泛研究,特别是对软件维护与开放源代码软件的实验分析有深入研究。他著有多部有关软件工程、面向对象软件工程、面向对象系统分析与设计的教材,署名出版物(包括录像带)达100部之多。他还在国际上广泛讲授软件工程方面的课程,包括重用、CASE和面向对象范型等。
目录
出版者的话
专家指导委员会
译者序
前言
第一部分 软件工程概述
第1章 软件工程的范畴
1.1 历史方面
1.2 经济方面
1.3 维护性方面
1.3.1 维护的传统和现代观点
1.3.2 交付后维护的重要性
1.4 需求、分析和设计方面
1.5 小组编程方面
1.6 为什么没有计划阶段
1.7 为什么没有测试阶段
1.8 为什么没有文档阶段
1.9 面向对象范型
1.10 正确看待面向对象范型
1.11 术语
1.12 道德问题
本章回顾
进一步阅读
习题
参考文献
第2章 软件生命周期模型
2.1 理论上的软件开发
2.2 winburg小型实例研究
2.3 winburg小型实例研究心得
2.4 野鸭拖拉机公司小型实例研究
2.5 迭代和递增
2.6 修订的winburg小型实例研究
2.7 迭代和递增的风险和其他方面
2.8 迭代和递增的控制
2.9 其他生命周期模型
2.9.1 编码一修补生命周期模型
2.9.2 瀑布生命周期模型
2.9.3 快速原型开发生命周期模型
2.9.4 极限编程
2.9.5 同步一稳定生命周期模型
2.9.6 螺旋生命周期模型
2.10 生命周期模型的比较
本章回顾
进一步阅读
习题
参考文献
第3章 软件过程
3.1 统一过程
3.2 面向对象范型内的迭代和递增
3.3 需求流
3.4 分析流
3.5 设计流
3.6 实现流
3.7 测试流
3.7.1 需求制品
3.7.2 分析制品
3.7.3 设计制品
3.7.4 实现制品
3.8 交付后维护
3.9 退役
3.10 统一过程的各阶段
3.10.1 开始阶段
3.10.2 细化阶段
3.10.3 构建阶段
3.10.4 转换阶段
3.11 一维与二维生命周期模型
3.12 改进软件过程
3.13 能力成熟度模型
3.14 软件过程改进方面的其他努力
3.15 软件过程改进的代价和收益
本章回顾
进一步阅读
习题
参考文献
第4章 软件小组
4.1 小组组织
4.2 民主小组方法
4.3 传统的主程序员小组方法
4.3.1 纽约时报项目
4.3.2 传统的主程序员小组方法的不实用性
4.4 主程序员小组和民主小组之外的编程小组
4.5 同步一稳定小组
4.6 极限编程小组
4.7 人员能力成熟度模型
4.8 选择合适的小组组织
本章回顾
进一步阅读
习题
参考文献
第5章 软件工程工具
5.1 逐步求精法
5.2 成本一效益分析法
5.3 软件度量
5.4 CASE
5.5 CASE的分类
5.6 CASE的范围
5.7 软件版本
5.7.1 修订版
5.7.2 变种版
5.8 配置控制
5.8.1 交付后维护期间的配置控制
5.8.2 基准
5.8.3 产品开发过程中的配置控制
5.9 建造工具
5.10 使用CASE技术提高生产力
本章回顾
进一步阅读
习题
参考文献
第6章 测试
6.1 质量问题
6.1.1 软件质量保证
6.1.2 管理独立
6.2 非执行测试
6.2.1 走查
6.2.2 管理走查
6.2.3 审查
6.2.4 审查与走查的对比
6.2.5 评审的优缺点
6.2.6 审查的度量
6.3 执行测试
6.4 应该测试什么
6.4.1 实用性
6.4.2 可靠性
6.4.3 健壮性
6.4.4 性能
6.4.5 正确性
6.5 测试与正确性证明
6.5.1 正确性证明的例子
6.5.2 正确性证明小型实例研究
6.5.3 正确性证明和软件工程
6.6 谁应当完成执行测试
6.7 测试什么时候停止
本章回顾
进一步阅读
习题
参考文献
第7章 从模块到对象
7.1 什么是模块
7.2 内聚
7.2.1 偶然性内聚
7.2.2 逻辑性内聚
7.2.3 时间性内聚
7.2.4 过程性内聚
7.2.5 通信性内聚
7.2.6 功能性内聚
7.2.7 信息性内聚
7.2.8 内聚示例
7.3 耦合
7.3.1 内容耦合
7.3.2 共用耦合
7.3.3 控制耦合
7.3.4 印记耦合
7.3.5 数据耦合
7.3.6 耦合示例
7.3.7 耦合的重要性
7.4 数据封装
7.4.1 数据封装和产品开发
7.4.2 数据封装和产品维护
7.5 抽象数据类型
7.6 信息隐藏
7.7 对象
7.8 继承、多态和动态绑定
7.9 面向对象范型
本章回顾
进一步阅读
习题
参考文献
第8章 可重用性和可移植性
8.1 重用的概念
8.2 重用的障碍
8.3 重用实例研究
8.3.1 Raytheon导弹系统部
8.3.2 欧洲航天局
8.4 对象和重用
8.5 设计和实现期间的重用
8.5.1 设计重用
8.5.2 应用框架
8.5.3 设计模式
8.5.4 软件体系结构
8.5.5 基于组件的软件工程
8.6 重用和交付后维护
8.7 可移植性
8.7.1 硬件的不兼容性
8.7.2 操作系统的不兼容性
8.7.3 数值计算软件的不兼容性
8.7.4 编译器的不兼容性
8.8 为什么需要可移植性
8.9 实现可移植性的技术
8.9.1 可移植的系统软件
8.9.2 可移植的应用软件
8.9.3 可移植的数据
本章回顾
进一步阅读
习题
参考文献
第9章 计划和估算
9.1 计划和软件过程
9.2 周期和成本估算
9.2.1 产品规模的度量
9.2.2 成本估算技术
9.2.3 中间COMO
9.2.4 COCOMOII
9.2.5 跟踪周期和成本估算
9.3 软件项目管理计划的组成
9.4 软件项目管理计划框架
9.5 IEEE软件项目管理计划
9.6 计划测试
9.7 计划面向对象的项目
9.8 培训需求
9.9 文档标准
9.10 用于计划和估算的CASE工具
9.1l 测试软件项目管理计划
本章回顾
进一步阅读
习题
参考文献
第二部分 软件生命周期的各个
第10章 需求
10.1 确定客户需要什么
10.2 需求阶段概述
10.3 理解应用域
10.4 商业模型
10.4.1 访谈
10.4.2 其他技术
10.4.3 用例
10.5 初始需求
10.6 对应用领域的初始理解:OsbertC实例研究
10.7 初始商业模型:OsbertOglesby实例研究
10.8 初始需求:OsbertOglesby实例研究
10.9 继续需求阶段:Osbertoglesby实例研究
10.10 测试阶段:OsbertOglesby实例研究
10.11 传统的需求阶段
10.12 快速原型开发
10.13 人的因素
10.14 重用快速原型
10.15 需求流的CASE工具
10.16 需求阶段的度量
10.17 需求阶段面临的挑战
本章回顾
进一步阅读
习题
参考文献
第11章 传统的分析
11.1 规格说明文档
11.2 非形式化规格说明
11.3 结构化系统分析
11.4 结构化系统分析:OsbertOglesby实例研究
11.5 其他半形式化技术
11.6 建造实体一关系模型
11.7 有穷状态机
11.8 Petri网
11.9 Z
11.9.1 z:电梯问题实例研究
11.9.2 Z的分析
11.10 其他的形式化技术
11.1l 传统分析技术的比较
11.12 在传统分析阶段测试
11.13 传统分析阶段的CASE工具
11.14 传统分析阶段的度量
11.15 软件项目管理计划:Osbertoglesb实例研究
11.16 传统分析阶段面临的挑战本章回顾进一步阅读
习题
参考文献
第12章 面向对象分析
12.1 分析流
12.2 抽象实体类
12.3 面向对象分析:电梯问题实例研究
12.4 功能建模:电梯问题实例研究
12.5 实体类建模:电梯问题实例研究
12.5.1 名词抽象
12.5.2 CRC卡片
12.6 动态建模:电梯问题实例研究
12.7 测试流:面向对象分析
12.8抽象边界类和控制类
12.9 初始功能模型~OsbertOglesby实例研究
12.10 初始类图:OsbertOglesby实例研究
12.11 初始动态模型:OsbertOglesby实例研究
12.12 抽象边界类:OsbertOglesby实例研究
12.13 抽象控制类:OsbertOglesby实例研究
12.14 求精用例:OsbertOglesby实例研究
12.15 用例实现:OsbertOglesby实例研究
12.15.1 BuyaMasterpiece用例
12.15.2 BuyaMasterwork用例
12.15.3 BuyOtherPainting用例
12.15.4 其余5个用例
12.16 类图递增:OsbertOglesby实例研究
12.17 测试流:OsbertOglesby实例研究
12.18 统一过程中的规格说明文档
12.19 关于动作者和用例更详细的内容
12.20 用于面向对象分析阶段的CASE工具
12.21 面向对象分析阶段所面临的问题
本章回顾
进一步阅读
习题
参考文献
第13章 设计
13.1 设计和抽象
13.2 面向操作设计
13.3 数据流分析
13.3.1 小型实例研究:字数统计
13.3.2 数据流分析扩展
13.4 事务分析
13.5 面向数据设计
13.6 面向对象设计
13.7面向对象设计:电梯问题实例研究
13.8面向对象设计:OsbertOglesby实例研究
13.9 设计流
13.10 测试流:设计
13.11 测试流:OsbertOglesby实例研究
13.12 详细设计的形式化技术
13.13 实时设计技术
13.14 设计阶段的CASEI具
13.15 设计阶段的度量
13.16 设计阶段面临的挑战
本章回顾
进一步阅读
习题
参考文献
第14章 实现
14.1 编程语言的选择
14.2 第四代语言
14.3 良好的编程实践
14.3.1 使用一致和有意义的变量名
14.3.2 自文档代码的问题
14.3.3 使用参数
14.3.4 为增加可读性的代码编排
14.3.5 嵌套的if语句
14.4 编码标准
14.5 代码重用
14.6 集成
14.6.1 自顶向下的集成
14.6.2 自底向上的集成
14.6.3 三明治集成
14.6.4 面向对象产品的集成
14.6.5 集成的管理
14.7 实现阶段
14.8 实现阶段:OsbertOglesby实例研究
14.9 测试阶段:实现
14.10 测试用例选择
14.10.1 规格说明测试与代码测试
14.10.2 规格说明测试的可行性
14.10.3 代码测试的可行性
14.1l 黑盒单元测试技术
14.11.1 等价测试和边界值测试
14.11.2 功能测试
14.12 黑盒测试用例:OsbertOglesby实例研究
14.13 玻璃盒单元测试技术
14.13.1 结构测试:语句、分支和路径覆盖
14.13.2 复杂性度量
14.14 代码走查和审查
14.15 单元测试技术的比较
14.16 净室
14.17 测试对象时潜在的问题
14.18 单元测试的管理方面
14.19 何时该重写而不是调试一个代码模块
14.20 集成测试
14.21 产品测试
14.22 验收测试
14.23 测试流:OsbertOglesby实例研究
14.24 实现的CASE工具
14.24.1 软件开发全过程的CASE工具
14.24.2 集成化开发环境
14.24.3 商业应用软件开发环境
14.24.4 公共工具基础结构
14.24.5开发环境的潜在问题
14.25 实现流的度量
14.26 实现流面临的挑战
本章回顾
进一步阅读
习题
参考文献
第15章 交付后维护
15.1 为什么交付后维护是必要的
15.2 对交付后维护程序员的要求是什么
15.3 交付后维护小型实例研究
15.4 交付后维护的管理
15.4.1 缺陷报告
15.4.2 批准对产品的修改
15.4.3 确保可维护性
15.4.4 反复维护造成的问题
15.5 面向对象软件的维护
15.6 交付后维护技能与开发技能
15.7 逆向工程
15.8 交付后维护阶段的测试
15.9 交付后维护的CASE工具
15.10 交付后维护的度量
15.11 交付后维护:OsbenOgleSby实例研究
15.12 交付后维护阶段面临的挑战
本章小结
进一步阅读
习题
参考文献
第16章 UML的进一步讨论
16.1 UML不是一种方法
16.2 类图
16.2.1 聚合
16.2.2 多态
16.2.3 组合
16.2.4 泛化
16.2.5 关联
16.3 注解
16.4 用例图
16.5 模板
16.6 交互图
16.7 状态图
16.8 活动图
16.9 包
16.10 组件图
16.1l 配置图
16.12 UML图回顾
16.13 UML和迭代
本章回顾
进一步阅读
习题
参考文献
附录
附录A学期项目:Amlet沙漠中Ophelia的Oasis
附录B软件工程资源
附录C需求流:OsbertOglesby实例研究
附录D结构化系统分析:OsbertOglesby实例研究
附录E分析流:Osl)ertOglesby实例研究
附录F软件项目管理计划:OsbertOglesby实例研究
附录G设计流:OsbertOglesby实例研究
附录H实现流:OsbertOglesby实例研究(C++版本)
附录I实现流:osbeftOglesby实例研究(Java版本)
附录J测试流:OsbertOglesby实例研究
专家指导委员会
译者序
前言
第一部分 软件工程概述
第1章 软件工程的范畴
1.1 历史方面
1.2 经济方面
1.3 维护性方面
1.3.1 维护的传统和现代观点
1.3.2 交付后维护的重要性
1.4 需求、分析和设计方面
1.5 小组编程方面
1.6 为什么没有计划阶段
1.7 为什么没有测试阶段
1.8 为什么没有文档阶段
1.9 面向对象范型
1.10 正确看待面向对象范型
1.11 术语
1.12 道德问题
本章回顾
进一步阅读
习题
参考文献
第2章 软件生命周期模型
2.1 理论上的软件开发
2.2 winburg小型实例研究
2.3 winburg小型实例研究心得
2.4 野鸭拖拉机公司小型实例研究
2.5 迭代和递增
2.6 修订的winburg小型实例研究
2.7 迭代和递增的风险和其他方面
2.8 迭代和递增的控制
2.9 其他生命周期模型
2.9.1 编码一修补生命周期模型
2.9.2 瀑布生命周期模型
2.9.3 快速原型开发生命周期模型
2.9.4 极限编程
2.9.5 同步一稳定生命周期模型
2.9.6 螺旋生命周期模型
2.10 生命周期模型的比较
本章回顾
进一步阅读
习题
参考文献
第3章 软件过程
3.1 统一过程
3.2 面向对象范型内的迭代和递增
3.3 需求流
3.4 分析流
3.5 设计流
3.6 实现流
3.7 测试流
3.7.1 需求制品
3.7.2 分析制品
3.7.3 设计制品
3.7.4 实现制品
3.8 交付后维护
3.9 退役
3.10 统一过程的各阶段
3.10.1 开始阶段
3.10.2 细化阶段
3.10.3 构建阶段
3.10.4 转换阶段
3.11 一维与二维生命周期模型
3.12 改进软件过程
3.13 能力成熟度模型
3.14 软件过程改进方面的其他努力
3.15 软件过程改进的代价和收益
本章回顾
进一步阅读
习题
参考文献
第4章 软件小组
4.1 小组组织
4.2 民主小组方法
4.3 传统的主程序员小组方法
4.3.1 纽约时报项目
4.3.2 传统的主程序员小组方法的不实用性
4.4 主程序员小组和民主小组之外的编程小组
4.5 同步一稳定小组
4.6 极限编程小组
4.7 人员能力成熟度模型
4.8 选择合适的小组组织
本章回顾
进一步阅读
习题
参考文献
第5章 软件工程工具
5.1 逐步求精法
5.2 成本一效益分析法
5.3 软件度量
5.4 CASE
5.5 CASE的分类
5.6 CASE的范围
5.7 软件版本
5.7.1 修订版
5.7.2 变种版
5.8 配置控制
5.8.1 交付后维护期间的配置控制
5.8.2 基准
5.8.3 产品开发过程中的配置控制
5.9 建造工具
5.10 使用CASE技术提高生产力
本章回顾
进一步阅读
习题
参考文献
第6章 测试
6.1 质量问题
6.1.1 软件质量保证
6.1.2 管理独立
6.2 非执行测试
6.2.1 走查
6.2.2 管理走查
6.2.3 审查
6.2.4 审查与走查的对比
6.2.5 评审的优缺点
6.2.6 审查的度量
6.3 执行测试
6.4 应该测试什么
6.4.1 实用性
6.4.2 可靠性
6.4.3 健壮性
6.4.4 性能
6.4.5 正确性
6.5 测试与正确性证明
6.5.1 正确性证明的例子
6.5.2 正确性证明小型实例研究
6.5.3 正确性证明和软件工程
6.6 谁应当完成执行测试
6.7 测试什么时候停止
本章回顾
进一步阅读
习题
参考文献
第7章 从模块到对象
7.1 什么是模块
7.2 内聚
7.2.1 偶然性内聚
7.2.2 逻辑性内聚
7.2.3 时间性内聚
7.2.4 过程性内聚
7.2.5 通信性内聚
7.2.6 功能性内聚
7.2.7 信息性内聚
7.2.8 内聚示例
7.3 耦合
7.3.1 内容耦合
7.3.2 共用耦合
7.3.3 控制耦合
7.3.4 印记耦合
7.3.5 数据耦合
7.3.6 耦合示例
7.3.7 耦合的重要性
7.4 数据封装
7.4.1 数据封装和产品开发
7.4.2 数据封装和产品维护
7.5 抽象数据类型
7.6 信息隐藏
7.7 对象
7.8 继承、多态和动态绑定
7.9 面向对象范型
本章回顾
进一步阅读
习题
参考文献
第8章 可重用性和可移植性
8.1 重用的概念
8.2 重用的障碍
8.3 重用实例研究
8.3.1 Raytheon导弹系统部
8.3.2 欧洲航天局
8.4 对象和重用
8.5 设计和实现期间的重用
8.5.1 设计重用
8.5.2 应用框架
8.5.3 设计模式
8.5.4 软件体系结构
8.5.5 基于组件的软件工程
8.6 重用和交付后维护
8.7 可移植性
8.7.1 硬件的不兼容性
8.7.2 操作系统的不兼容性
8.7.3 数值计算软件的不兼容性
8.7.4 编译器的不兼容性
8.8 为什么需要可移植性
8.9 实现可移植性的技术
8.9.1 可移植的系统软件
8.9.2 可移植的应用软件
8.9.3 可移植的数据
本章回顾
进一步阅读
习题
参考文献
第9章 计划和估算
9.1 计划和软件过程
9.2 周期和成本估算
9.2.1 产品规模的度量
9.2.2 成本估算技术
9.2.3 中间COMO
9.2.4 COCOMOII
9.2.5 跟踪周期和成本估算
9.3 软件项目管理计划的组成
9.4 软件项目管理计划框架
9.5 IEEE软件项目管理计划
9.6 计划测试
9.7 计划面向对象的项目
9.8 培训需求
9.9 文档标准
9.10 用于计划和估算的CASE工具
9.1l 测试软件项目管理计划
本章回顾
进一步阅读
习题
参考文献
第二部分 软件生命周期的各个
第10章 需求
10.1 确定客户需要什么
10.2 需求阶段概述
10.3 理解应用域
10.4 商业模型
10.4.1 访谈
10.4.2 其他技术
10.4.3 用例
10.5 初始需求
10.6 对应用领域的初始理解:OsbertC实例研究
10.7 初始商业模型:OsbertOglesby实例研究
10.8 初始需求:OsbertOglesby实例研究
10.9 继续需求阶段:Osbertoglesby实例研究
10.10 测试阶段:OsbertOglesby实例研究
10.11 传统的需求阶段
10.12 快速原型开发
10.13 人的因素
10.14 重用快速原型
10.15 需求流的CASE工具
10.16 需求阶段的度量
10.17 需求阶段面临的挑战
本章回顾
进一步阅读
习题
参考文献
第11章 传统的分析
11.1 规格说明文档
11.2 非形式化规格说明
11.3 结构化系统分析
11.4 结构化系统分析:OsbertOglesby实例研究
11.5 其他半形式化技术
11.6 建造实体一关系模型
11.7 有穷状态机
11.8 Petri网
11.9 Z
11.9.1 z:电梯问题实例研究
11.9.2 Z的分析
11.10 其他的形式化技术
11.1l 传统分析技术的比较
11.12 在传统分析阶段测试
11.13 传统分析阶段的CASE工具
11.14 传统分析阶段的度量
11.15 软件项目管理计划:Osbertoglesb实例研究
11.16 传统分析阶段面临的挑战本章回顾进一步阅读
习题
参考文献
第12章 面向对象分析
12.1 分析流
12.2 抽象实体类
12.3 面向对象分析:电梯问题实例研究
12.4 功能建模:电梯问题实例研究
12.5 实体类建模:电梯问题实例研究
12.5.1 名词抽象
12.5.2 CRC卡片
12.6 动态建模:电梯问题实例研究
12.7 测试流:面向对象分析
12.8抽象边界类和控制类
12.9 初始功能模型~OsbertOglesby实例研究
12.10 初始类图:OsbertOglesby实例研究
12.11 初始动态模型:OsbertOglesby实例研究
12.12 抽象边界类:OsbertOglesby实例研究
12.13 抽象控制类:OsbertOglesby实例研究
12.14 求精用例:OsbertOglesby实例研究
12.15 用例实现:OsbertOglesby实例研究
12.15.1 BuyaMasterpiece用例
12.15.2 BuyaMasterwork用例
12.15.3 BuyOtherPainting用例
12.15.4 其余5个用例
12.16 类图递增:OsbertOglesby实例研究
12.17 测试流:OsbertOglesby实例研究
12.18 统一过程中的规格说明文档
12.19 关于动作者和用例更详细的内容
12.20 用于面向对象分析阶段的CASE工具
12.21 面向对象分析阶段所面临的问题
本章回顾
进一步阅读
习题
参考文献
第13章 设计
13.1 设计和抽象
13.2 面向操作设计
13.3 数据流分析
13.3.1 小型实例研究:字数统计
13.3.2 数据流分析扩展
13.4 事务分析
13.5 面向数据设计
13.6 面向对象设计
13.7面向对象设计:电梯问题实例研究
13.8面向对象设计:OsbertOglesby实例研究
13.9 设计流
13.10 测试流:设计
13.11 测试流:OsbertOglesby实例研究
13.12 详细设计的形式化技术
13.13 实时设计技术
13.14 设计阶段的CASEI具
13.15 设计阶段的度量
13.16 设计阶段面临的挑战
本章回顾
进一步阅读
习题
参考文献
第14章 实现
14.1 编程语言的选择
14.2 第四代语言
14.3 良好的编程实践
14.3.1 使用一致和有意义的变量名
14.3.2 自文档代码的问题
14.3.3 使用参数
14.3.4 为增加可读性的代码编排
14.3.5 嵌套的if语句
14.4 编码标准
14.5 代码重用
14.6 集成
14.6.1 自顶向下的集成
14.6.2 自底向上的集成
14.6.3 三明治集成
14.6.4 面向对象产品的集成
14.6.5 集成的管理
14.7 实现阶段
14.8 实现阶段:OsbertOglesby实例研究
14.9 测试阶段:实现
14.10 测试用例选择
14.10.1 规格说明测试与代码测试
14.10.2 规格说明测试的可行性
14.10.3 代码测试的可行性
14.1l 黑盒单元测试技术
14.11.1 等价测试和边界值测试
14.11.2 功能测试
14.12 黑盒测试用例:OsbertOglesby实例研究
14.13 玻璃盒单元测试技术
14.13.1 结构测试:语句、分支和路径覆盖
14.13.2 复杂性度量
14.14 代码走查和审查
14.15 单元测试技术的比较
14.16 净室
14.17 测试对象时潜在的问题
14.18 单元测试的管理方面
14.19 何时该重写而不是调试一个代码模块
14.20 集成测试
14.21 产品测试
14.22 验收测试
14.23 测试流:OsbertOglesby实例研究
14.24 实现的CASE工具
14.24.1 软件开发全过程的CASE工具
14.24.2 集成化开发环境
14.24.3 商业应用软件开发环境
14.24.4 公共工具基础结构
14.24.5开发环境的潜在问题
14.25 实现流的度量
14.26 实现流面临的挑战
本章回顾
进一步阅读
习题
参考文献
第15章 交付后维护
15.1 为什么交付后维护是必要的
15.2 对交付后维护程序员的要求是什么
15.3 交付后维护小型实例研究
15.4 交付后维护的管理
15.4.1 缺陷报告
15.4.2 批准对产品的修改
15.4.3 确保可维护性
15.4.4 反复维护造成的问题
15.5 面向对象软件的维护
15.6 交付后维护技能与开发技能
15.7 逆向工程
15.8 交付后维护阶段的测试
15.9 交付后维护的CASE工具
15.10 交付后维护的度量
15.11 交付后维护:OsbenOgleSby实例研究
15.12 交付后维护阶段面临的挑战
本章小结
进一步阅读
习题
参考文献
第16章 UML的进一步讨论
16.1 UML不是一种方法
16.2 类图
16.2.1 聚合
16.2.2 多态
16.2.3 组合
16.2.4 泛化
16.2.5 关联
16.3 注解
16.4 用例图
16.5 模板
16.6 交互图
16.7 状态图
16.8 活动图
16.9 包
16.10 组件图
16.1l 配置图
16.12 UML图回顾
16.13 UML和迭代
本章回顾
进一步阅读
习题
参考文献
附录
附录A学期项目:Amlet沙漠中Ophelia的Oasis
附录B软件工程资源
附录C需求流:OsbertOglesby实例研究
附录D结构化系统分析:OsbertOglesby实例研究
附录E分析流:Osl)ertOglesby实例研究
附录F软件项目管理计划:OsbertOglesby实例研究
附录G设计流:OsbertOglesby实例研究
附录H实现流:OsbertOglesby实例研究(C++版本)
附录I实现流:osbeftOglesby实例研究(Java版本)
附录J测试流:OsbertOglesby实例研究
猜您喜欢