跳到主要内容

软件生命周期

将软件产品从提出、实现、使用、维护到停止使用退役的过程称为软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。大体可分为 3 个时期:软件计划时期(问题定义和可行性分析、需求分析),软件开发时期(概要设计、详细设计、编码、测试)和软件维护时期(软件维护)

时期阶段任务文档
软件计划问题定义理解用户要求,进行任务定义
软件计划计划任务书可行性分析可行性方案及代价
软件计划需求分析确定新系统的功能及目标需求规格说明书
软件开发概要设计划分子系统及功能模块概要设计说明书
软件开发详细设计模块设计详细设计说明书
软件开发软件编码编写程序代码程序设计的相关资料
软件开发系统测试完成测试阶段测试方案及结果
软件维护系统维护运行和维护运行及维护记录

软件生命周期模型( Lib-Cycle Mode )也称为软件过程模型。软件过程是把用户的需求转化为软件产品的一系列活动,它包括获取过程、供应过程、开发过程、操作过程、维护过程、管理过程、支持过程。软件过程模型是对软件系统开发项目总体过程的一种描述和定义,它反映了软件开发过程中各种活动的基本特点,指出了软件开发的原理和方法,是支持软件开发的有力工具。下面介绍在软件工程中应用较为广泛的几种软件过程模型。

瀑布模型

瀑布模型( Waterfall Mode )是1976年由 B.W.Boehm 提出的传统的软件生命周期模型。它将软件生存周期中各活动规定为依线性顺序连接的6 个阶段,包括软件计划、需求分析、软件设计、软件编码、软件测试和软件维护。这6 个阶段是顺序进行的,前一阶段的工作完成后,下一阶段的工作才能开始;前一阶段产生的文档是下一阶段工作的依据。所以说,它是一种理想的线性开发模式,适合在软件需求比较明确、开发技术比较成熟的场合下使用。

增量模型

增量模型( Incremental Mode )也称渐增模型,是瀑布模型的一种改进模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型开发软件时,可以让用户较早地看到开发的部分软件,及早发现问题,及早解决,防止问题积累到最后,软件开发失败。

快速原型模型

快速原型模型( Rapid Prototyping Mode ),快速原型模型也是瀑布模型的一种改进模型。它的过程是开发人员在接到开发任务后,尽快编写出一个软件的模拟模型(实验品,一般只包含输入、输出的界面),用它和用户进行交流,进一步了解用户需求,确定系统功能,开发出让用户满意的软件。

软件过程模型还包括许多其他的模型,如螺旋模型、喷泉模型、变换模型、面向对象生存期模型等。

目前,经过多年理论完善和实践,传统的瀑布模型已形成了一个较完整的体系,仍是软件开发中使用的最基本的理论基础和技术手段。