第一章 软件工程基本观念 1.1 软件工程的目标与常用模型 1.2 软件开发的基本策略 1.3 一些不正确的观念 1.4 一些有争议的观念 1.5 小结 第二章 程序员与程序经理 2.1 了解程序员 2.2 了解程序经理 2.3 程序员升为经理后是否还要编程 2.4 经理与技术队伍的建设 2.5 向错误与失败学习 2.6 提高综合素责 2.7 小结 第三章 项目计划与质量管理 3.1 项目计划 3.2 零缺陷质量管理的观念 3.3 软件的质量因素 3.4 质量检查 3.5 小结 第四章 可行性分析与需求分析 4.1 可行性分析的要素 4.2 可行性分析案例——投资软件公司失败的教训 4.3 需求分析为什么困难 4.4 如何进行需求分析 4.5 小结 第五章 系统设计 5.1 体系结构设计 5.2 模块设计 5.3 数据结构与算法设计 5.4 用户界面设计 5.5 系统设计示例——支持协同工作的交互式三维图形软件开发系统 5.6 小结 第六章 C++ 面向对象程序设计 6.1 C++面向对象程序设计的重要概念 6.2 良好的编程风格 6.3 小结 第七章 测试与改错 7.1 对测试的理解 7.2 测试人员的选择 7.3 测试的主要内容与常用方法 7.4 改错 7.5 小结 第八章 维护与再生工程 8.1 软件维护的常识 8.2 维护的代价及其主要因素 8.3 再生工程 8.3.1 重构 8.4 小结