1
大学信息技术基础教程
1.2.3.6.1 3.6.1 软件的生命周期

3.6.1 软件的生命周期

一个软件从提出设想到完成使命为止,会经历一个漫长的时期,我们通常把软件经历的这个漫长的时期称为“软件生命周期”。软件生命周期主要经历软件计划、软件需求分析、软件总体设计、软件详细设计、软件编码、软件测试和软件维护等阶段。软件生命周期中的软件计划、软件需求分析、软件总体设计、软件详细设计、软件编码、软件测试常称为“软件开发期”,软件维护则称为“软件维护期”。在软件开发期中,测试阶段工作量占整个开发期总工作量的40%,而在软件的整个生命周期中软件维护的周期最长,工作量最大。

1)软件计划

这个阶段是确定将要开发的软件系统是做什么的,在经济上、技术上和操作上是否可行。也就是要确定软件系统的工作范围;预测开发的系统所需要的资源,包括硬件资源、软件资源和人力资源;对软件开发成本进行初步估计,并写出软件计划任务书。

2)软件需求分析

这个阶段的工作是对用户的需求进行分析和综合,确定软件的基本目标和逻辑功能要求,解决系统“做什么”的问题,并写出软件需求规范说明书。软件需求规范说明书是软件工程中最重要的文件,是用户和软件开发人员之间共同约定和开发的基础。

3)软件总体设计

这一阶段的主要任务是解决系统“怎么做”的问题。总体设计决定软件系统的总体结构,即模块结构,并给出模块的相互调用关系、模块间传递的数据及每个模块的功能说明。这个阶段将产生软件结构图和模块功能说明。

4)软件详细设计

详细设计是给出每个模块内部过程的描述,并写出软件详细设计说明书。

5)软件编码

软件编码阶段是把软件设计方案加以具体实施。即根据软件详细设计说明书的要求,为软件系统中的每一个功能模块编写程序并进行模块测试。这一阶段生成程序说明书、源程序。

6)软件测试

软件测试的主要任务是发现和排除错误,即对软件系统进行从上到下全面的测试和检验,看它是否符合软件总体设计方案规定的功能要求。这期间要提出测试标准,制定测试计划,确定测试方法。经过测试、纠错得到可运行的程序,同时写出软件测试报告。

7)软件维护

由于经过测试的软件仍然可能有错,用户的需求和软件的操作环境也可能发生变化。因此,交付运行的软件系统仍然需要维护。软件维护的实质是对软件继续进行查错、纠错和修改。

实际开发工作不可能是直线的,常常存在着反复。例如在软件设计阶段发现软件规范说明书有不完整或定义不确切的地方,就要回到需求分析阶段进行再分析;测试阶段发现模块内部或接口中的错误,就要回到设计阶段对原来的设计进行修改。