本书对软件工程的面向对象和传统方法进行了严谨和全面的介绍,是软件工程领域的经典著作,被加州大学伯克利分校等180多所美国高校选作教材。本书介绍面向对象的软件开发方法,统一过程的理论和实践,还强调文档、维护、重用、可移植性、测试和CASE工具等软件工程基础的重要性,并着重扩充敏捷过程和开源软件方面的新内容。此外,采用全新的MSG基金案例研究,突出统一过程的更多方面。
目录
- 出版者的话
- 专家指导委员会
- 译者序
- 前言
- 第一部分软件工程概述
- 第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.2Winburg小型实例研究
- 2.3Winburg小型实例研究心得
- 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.9.7螺旋生命周期模型
- 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章软件小组
- 第5章软件工程工具
- 第6章测试
- 第7章从模块到对象
- 第8章可重用性和可移植性
- 第9章计划和估算
- 第二部分软件生命周期的各个工作流
- 第10章需求
- 第11章传统的分析
- 第12章面向对象分析
- 第13章设计
- 第14章实现
- 第15章交付后维护
- 第16章UML的进一步讨论
- 附录