第1章 欢迎进入软件构建的世界
- 软件构建的主要活动包括:详细设计、编码、调试、集成、开发者测试(包括单元测试和集成测试)。
第2章 用隐喻来更充分的理解软件开发
- 隐喻是启示而不是算法。因此它们往往有一点随意。
- 隐喻把软件开发过程与其他你熟悉的活动联系在一起,帮助你更好的理解。
第3章 三思而后行:前期准备
- 发现错误的时间要尽可能接近引入该错误的时间。
- 选择更加序列化方法的原因:
- 需求相对稳定。
- 设计直截了当,而且理解透彻。
- 开发团队对于这一应用领域非常熟悉。
- 项目风险很小。
- “长期可预测性”很重要。
- 后期改变需求、设计和编码的代价很可能较昂贵。
- 选择更加迭代的方法的原因:
- 需求并没有被理解透彻,或者出于其他理由你认为它是不稳定的。
- 设计很复杂,或者很有挑战性,或者两者兼具。
- 开发团队对于这一应用领域不熟悉。
- 项目包含许多风险。
- “长期可预测性”不重要。
- 后期改变需求、设计和编码的代价很可能较低。