软件生存周期:同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡的许多阶段,一般称为软件生存周期。
又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。
一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每一个时期又划分为若干阶段。每个阶段有明确的任务,这样使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。
1)可行性分析与项目开发计划
主要确定软件的开发目标及器可行性。
必须要回答的问题是:要解决的问题是什么?该问题有可行的解决办法么?解决办法的费用?需要多少资源、实践?
参与人员:用户、项目负责人、系统分析师。
产生的文档:可行性分析报告、项目开发计划。
2)需求分析
需求分析阶段的任务不是具体地解决问题,而是准确地确定软件系统必须做什么,确定软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型。
参与人员:用户、项目负责人、系统分析师。
产生的文档:软件需求说明书。
3)概要设计
该阶段,开发人员要把确定的各项功能需求转换成需要的体系结构。在该体系结构中,每个成分都是意义明确的模块,每个模块都和某些功能需求相对应,因此,概要设计就是设计软件的结构,明确软件由那些模块组成,模块的层次结构、调用关系、功能。同时还要设计项目的应用系统的总体数据结构和数据库结构,要存储什么数据,数据之间的关系。
参与人员:系统分析师、软件设计师。
产生的文档:概要设计说明书。
4)详细设计
对每个模块完成的功能进行精确的、结构化的过程描述。
参与人员:软件设计师、程序员。
产生的文档:详细设计文档。
5)编码
把每个模块的控制结构转换成计算机可接受的程序代码。
6)测试
在设计测试用例的基础上检查软件的各个组成部分。
参与人员:另一部门的软件设计师或系统分析师。
产生的文档:软件测试计划、测试用例、软件测试报告
7)维护(生存周期中时间最长的阶段)
在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。