第二十九章 集成

集成是指一种软件开发行为:将一些独立的软件组合为一个完整系统。

集成方式的重要性

从周到的继承中,你能预期获得某些下列的益处:

  • 更容易诊断缺陷;
  • 缺陷更少;
  • 脚手架更少;
  • 花费更少的时间获得第一个能工作的产品;
  • 更短的整体开发进度表;
  • 更好的顾客关系;
  • 增强士气;
  • 增加项目完成的机会;
  • 更可靠地估计进度表;
  • 更准确的现状报告;
  • 改善代码的质量;
  • 较少的文档。

集成频率——阶段式集成还是增量集成

阶段式集成

它遵循下列明确的步骤:

  1. 设计、编码、测试、调试各个类。这一步称为单元开发;
  2. 将这些类组合为一个庞大的系统;
  3. 测试并调试整个系统。这称为系统瓦解。

增量集成

增量集成遵循以下步骤:

  1. 开发一个小的系统功能部件;
  2. 设计、编码、测试、调试某个类;
  3. 将这个新的类集成到系统骨架上。测试并调试骨架和新类的结合体,在进一步添加任何新类前,确保该结合体能工作。如果做完了剩余的所有工作,就回到步骤2开始重复这一过程。

增量集成的益处

  • 易于定位错误;
  • 及早在项目里取得系统级的成果;
  • 改善对进度的监控;
  • 改善客户关系;
  • 更加充分地测试系统中各个单元;
  • 能在更短的开发进度计划内建造出整个系统。

增量继承的策略

  • 自顶向下集成;
  • 自底向上集成;
  • 三明治集成;
  • 风险导向的集成;
  • 功能导向的集成;
  • T型集成;

Daily Build与冒烟测试

  • 每日构建;
  • 检查失败的build;
  • 每天进行冒烟测试;
  • 让冒烟测试与时俱进;
  • 将daily build和冒烟测试自动化;
  • 成立build小组;
  • 仅当有意义时,才将修订加入build中,但是别等太久;
  • 要求开发人员在把他的代码添加到系统之前,进行冒烟测试;
  • 为即将添加到build的代码准备一块暂存区;
  • 惩罚破话build的人;
  • 在早上发布build;
  • 即使有压力,也要进行daily build和冒烟测试。

核对表:集成

集成策略

daily build与冒烟测试

要点

  • 构建的先后次序和集成的步骤会影响设计、编码、测试各类的顺序;
  • 一个经过充分思考的集成顺序能减少测试的工作量,并使调试变得容易;
  • 增量继承有若干变型,而且——除非项目微不足道的——任何一种形式的增量集成都比阶段式集成好;
  • 针对每个特定的项目,最佳的集成方式通常是自顶向下、自底向上、风险导向及其他集成方法的某种组合;
  • daily build能减少集成问题,提升开发人员的士气,并提供非常有用的项目管理信息。
posted @ 2019-09-28 11:44  Liam-Ji  阅读(174)  评论(0编辑  收藏  举报