欢迎进入软件构建的世界

1、什么是软件构建

  • 定义问题(problem definition)
  • 需求分析(requirements development)
  • 规划构建(construction planning)
  • 软件架构(software architecture),或高层设计(high-level design)
  • 详细设计(detailed design)
  • 编码与调试(coding and debugging)
  • 单元测试(unit testing)
  • 集成测试(integration testing)
  • 集成(integration)
  • 系统测试(system testing)
  • 保障维护(corrective maintenance)

2、软件构建为何如此重要

 

构建活动是软件开发的主要组成部分

根据项目规模的不同,构建活动在整个软件开发活动总时间中所占的比例一般在30%至80%之间。在整个项目中占有这么多时间的活动必然会影响到项目的成败。

 

构建活动是软件开发中的核心活动

需求分析和架构设计都是在构建活动开始之前就完成的基础工作,它们可以让你更有效地进行构建;系统测试(严格意义上的独立测试)则是构建活动的后续工作,用以验证构建的正确性。显然构建活动位于软件开发过程的核心位置。

 

把主要精力集中于构建活动,可以大大提高程序员的生产率

一项由Sackman、Erikson和Grant进行的经典研究表明:在构建活动期间,不同程序员的生产率(productivity)的差异可达到10到20倍(1968)。这一结果随后被大量其他的研究所证实。

 

构建活动的产物——源代码——往往是对软件的唯一精确描述

在很多项目中,程序员可以得到的唯一文档就是源代码本身。需求规格书和设计文档可能过时,但源代码总是最新的。因此源代码就必须具有尽可能高的质量。统一地运用各种技术来改进源代码的质量,将决定得到的结果是Rube Goldberg所造的古怪产品,还是详细、正确且信息丰富的程序。这些技术在构建活动中能得到最有效的应用。

 

构建活动是唯一一项确保会完成的工作

一个理想的软件项目在进行构建之前,都要经过谨慎的需求分析和架构设计。一个理想的项目在构建完成之后,也要经历全面的、统计意义上受控制(statistically controlled)的系统测试。然而现实中不那么完美的软件项目,往往跳过需求和设计的阶段而直接跃入构建环节。之后又由于有太多的错误要修正而时间又不够,测试环节也被抛到一边了。但是,无论一个项目的计划有多匆忙、多糟糕,它都不可能扔下构建活动——这是不可或缺的环节。因此,对构建活动进行改进,是改进软件开发过程的一种有效途径。

posted @ 2012-03-01 16:26  晴天有时下鱼  阅读(181)  评论(0编辑  收藏  举报