今日加贴-2007年5月14日

什么是软件生命周期?

  软件工程采用的传统方法是生命周期方法学。
  软件工程强调使用生命周期方法学和各种结构分析及结构设计技术,它们是在20世纪70年代为了对付应用软件日益增长的复杂程度、漫长的开发周期以及用户对软件产品经常不满意的状况而发展起来的。
  人类解决复杂问题时普遍采用的一个策略就是“各个击破”,也就是对问题进行分解然后再分别解决各个子问题的策略,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度。
  软件工程采用的生命周期方法学就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。
  采用生命周期方法学开发软件的时候,从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。
  前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的实现细节。
  每一个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。
  在每一个阶段结束之前都必须进行正式严格的技术审查和管理复审,从技术和管理两方面对这个阶段的开发成果进行检查,通过之后这个阶段才算结束,如果检查通不过,则必须进行必要的返工,并且返工后还要再经过审查。
  审查的一条主要标准就是每个阶段都应该交出“最新的”,即和所开发的软件完全一致的高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置及文档交付使用。
  文档是通信的工具,它们清楚准确地说明了到这个时候为止,关于该项工程已经知道了什么,同时确立了下一步工作的基础。
  此外,文档也起备忘录的作用,如果文档不完整,那么一定是某些工作忘记做了,在进入生命周期的下一阶段之前,必须补足这些遗漏的细节,保证文档的正确和完整。