软件构建

软件开发活动

  • 定义问题
  • 需求分析
  • 规划构建
  • 软件架构
  • 详细设计
  • 编码与调试
  • 单元测试
  • 集成测试
  • 集成
  • 系统测试
  • 保障维护

软件构建活动

  • 编码与调试
  • 规划构建
  • 详细设计
  • 单元测试
  • 集成测试
  • 集成

形象化比喻

  • 写作: 小程序的可读性.
  • 种植: 每次做一点.
  • 生长: 原型+功能.
  • 建造: 蓝图+施工.设计会根据问题规模而改变.

序列式开发法

  • 需求相当稳定
  • 设计直截了当,而且理解透彻
  • 开发团队对于这一应用领域非常熟悉
  • 项目风险很小
  • 长期可预测性很重要
  • 后期改变需求\设计和编码的代价很可能较昂贵

迭代式开发法

  • 需求并没有被理解透彻,或者出于其它理由你认为它是不稳定的
  • 设计很复杂,或者有挑战性,或者两者兼具
  • 开发团队对这一应用领域不熟悉
  • 项目包含许多风险
  • 长期可预测性不重要
  • 后期改变需求\设计和编码的代价很可能较低