软件生命周期的7个阶段


我们在软件的开发和维护过程中会遇到一系列严重的问题,

比如软件开发的成本和进度估计的不准,用户对已经完成开发的软件不满意、用户需求变更、软件产品质量不好、软件难以维护、软件没有合适的文档资料、软件开发成本高昂等。

如何开发软件,以满足对软件日益增长的需求?如何维护数量不断膨胀的已有软件?

只要掌握了正确科学的软件开发流程,上面的问题就能很好的解决。

软件开发主要分为以下几个阶段

1、问题定义

确定好要解决的问题是什么(what),通过对客户的访问调查,系统分析员扼要的写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。

2、可行性研究

确定该问题是否存在一个可以解决的方案。这个阶段的任务不是具体解决问题,而是研究问题的范围,套索这个问题是否值得去解决,是否有可行的解决办法。可行性研究的结果是客户做出是否继续进行这项工程的决定的重要依据,一般来说,只有投资可能取得较大的效益的那些工程项目才值得继续进行下去。

3、需求分析


深入具体的了解用户的需求,在所开发的系统要做什么这个问题上和用户想法完全一致。明确目标系统必须做什么,确定目标系统必须具备哪些功能。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。用《规格说明书》记录对目标系统的需求。

4、概要设计(总体设计)


概括的说,应该怎样实现目标系统,设计出实现目标系统的几种可能方案,设计程序的体系结构,也就是确定程序由哪些模块组成以及模块之间的关系。

5、详细设计


实现系统的具体工作,编写详细规格说明,程序员可以根据它们写出实际的程序代码。详细设计也称模块设计,在这个阶段将详细的设计每个模块,确定实现模块功能所需的算法和数据结构。

6、实现

1)编码和单元测试(编码占全部开发工作量的10%-20%)
2)综合测试(测试占全部开发工作量的40%-50%)
分为集成测试和验收测试。

7、软件维护

通过各种必要的维护活动使系统持久的满足用户的需求。主要分为 改正性维护、适应性维护、完善性维护、预防性维护。

软件交付

软件产品包括:程序、文档、数据

分享到