软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又可进一步划分成若干个阶段。

软件定义时期通常为3个阶段:问题定义、可行性研究、需求分析。
软件开发时期通常为4个阶段:概要设计、详细设计、编码、单元测试、综合测试。
运行维护时期的主要任务是使软件持久地满足用户的需要。

1.问题定义
问题定义阶段必须回答的关键问题是:“要解决的问题是什么”。

2.可行性研究
这个阶段要回答的关键问题是:“上一个阶段所确定的问题是否有行得通的解决办法”。

3.需求分析
这个阶段的任务仍然不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”这个问题。

4.概要设计
这个阶段的基本任务是:概括地回答“怎样实现目标系统?”概要设计又称为初步设计、逻辑设计、高层设计或总体设计。

5.详细设计
概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体地实现这个系统”这个关键问题。

6.编码和单元测试
这个阶段的关键任务是写出正确的,容易理解、容易维护的程序模块。

7.综合测试
这个阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。

8.软件维护
维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。