当前位置:文档之家› 软件项目生命周期模型

软件项目生命周期模型

软件项目生命周期模型
修订记录
修订类型包含:新增、修改、删除。

目录
1目的 (1)
2适用范围 (1)
3软件生命周期简介 (1)
4瀑布模型生命周期 (1)
4.1瀑布模型的概念 (1)
4.2瀑布模型示意图 (1)
4.3瀑布模型的阶段 (2)
4.4瀑布模型的适用项目类型 (2)
5增量模型生命周期 (3)
5.1增量模型的概念 (3)
5.2增量模型示意图 (3)
5.3增量模型的阶段 (3)
5.4增量模型适用的项目类型 (4)
6迭代模型生命周期 (4)
6.1迭代模型的概念 (4)
6.2迭代模型示意图 (5)
6.3迭代模型的阶段 (5)
6.4迭代模型适用的项目类型 (5)
1目的
明确软件项目生命周期的概念及主要阶段,为项目过程策划提供依据。

2适用范围
技术与研发中心。

3软件生命周期简介
软件生命周期同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。

软件生命周期是软件的产生直到报废的生命周期。

为了使规模大、结构复杂和管理复杂的软件开发变的容易控制和管理,人们把整个软件生命周期划分为若干阶段,使得每个阶段有明确的任务,整理出软件生命周期模型。

主要分为瀑布模型、增量模型、迭代模型。

4瀑布模型生命周期
4.1瀑布模型的概念
瀑布模型强调阶段的顺序性和依赖性,即下一个阶段的开始必须以上一个阶段的完成为前提条件。

此外,瀑布模型要求各个阶段要有相应的文档作为审查依据,因此,瀑布模型是以文档驱动,并且各个阶段有清晰的划分。

瀑布型生命周期分为典型六个阶段。

4.2瀑布模型示意图
4.3瀑布模型的阶段
1)项目策划
此阶段是估算项目成本、制定项目计划与项目启动工作,主要确定软件的开发目标及其可行性。

2)需求开发
在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

通过调查与分析,获取用户需求并定义项目需求范围。

需求是在整个软件开发过程中不断变化和深入的,因此我们需要按照已发布的变更流程来应付这种变化,以保护整个项目的顺利进行。

3)设计开发
此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。

软件设计一般分为总体设计和详细设计。

好的软件设计将为软件程序编写打下良好的基础。

4)程序编码
此阶段是将软件设计的结果转换成计算机可运行的程序代码。

在程序编码中必须要制定统一,符合标准的编写规范。

以保证程序的可读性,易维护性,提高程序的运行效率。

5)软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。

整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。

测试的方法主要有白盒测试和黑盒测试两种。

在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6)运行维护
在全部功能通过测试后,可以进行部署工作。

部署后进入软件维护阶段。

软件维护是软件生命周期中持续时间最长的阶段。

在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。

要延续软件的使用寿命,就必须对软件进行维护。

软件的维护包括纠错性维护和改进性维护两个方面。

4.4瀑布模型的适用项目类型
瀑布模型适用于需求被清晰定义的项目,例如:功能、性能明确完整,在开发时间内需求没有或很少变化的项目。

5增量模型生命周期
5.1增量模型的概念
增量模型是有计划的产品改进模型,是一种能够快速构造可运行产品的方法。

在需求提出后,首先确定需求优先级,其次开发团队把软件产品作为一系列的增量构件来设计、编码、集成和测试。

每个构件由多个相互作用的模块构成,并且能完成特定的功能。

5.2增量模型示意图
5.3增量模型的阶段
1)项目策划
此阶段是估算项目成本、制定项目计划与项目启动工作,主要确定软件的开发目标及其可行性。

2)需求开发
在确定软件开发可行的情况下,对对整个系统进行需求分析。

确定系统的基于增量构件的需求框架,确定增量构建优先级。

3)设计开发
以需求框架中构件的组成及关系为依据,完成对软件系统的体系结构设计。

如系统框架设计,数据库设计等等。

4)程序编码
在完成软件体系结构设计之后,可以进行增量构件的开发。

这个时候,需要对构件进行需求细化,然后进行设计、程序编码和有效性验证。

5)软件测试
在完成了对某个增量构件的开发之后,需要将该构件集成到系统中,进行软件测试
工作。

并对已经发生了改变的系统进行回归测试。

6)下一个构件的开发测试
在上一个增量构件开发完成后,进入下一个增量构件的开发工作。

对构件进行需求细化,然后进行设计、程序编码和软件测试工作。

直到所有的增量构件开发测试完成。

7)运行维护
可以在完成一个增量构件的开发测试后,就进行部署工作,也可以在全部增量构件完成后再进行部署工作。

部署后进入运行维护阶段。

5.4增量模型适用的项目类型
增量模型适用于需求比较明确,或者是完成期限要求严格的项目。

适用于架构比较稳定的软件开发,每次增量不影响已有的架构,只是在已有的架构下增加新的功能。

例如:已有产品的升级或新版本开发。

6迭代模型生命周期
6.1迭代模型的概念
迭代模型是一次完整地经过所有工作流程的过程。

整个开发工作被组织为一系列的短小的、固定长度(1-4周)的小项目,被称为一系列的迭代。

与瀑布模型不同,迭代模型不再强调开发工作的序列化过程,而是将这些过程并行化。

每一次迭代都包括了需求分析、设计、实现与测试。

采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。

6.2迭代模型示意图
6.3迭代模型的阶段
1)初始阶段
确认本次迭代的项目范围,需求内容,选择可行的系统构架,制定项目计划,协调所需要的资源。

包含项目策划、需求开发等工作。

2)细化阶段
进行设计开发工作,如系统框架设计、数据库设计、创建开发模板等。

3)构造阶段
进行程序编码和软件测试工作。

将细化阶段的成果转化为程序代码,并提交测试。

根据测试计划进行软件测试工作,以发现软件在整个设计过程中存在的问题并加以纠正。

4)交付阶段
完成本次迭代,提交可交付成果。

进入运行维护阶段。

6.4迭代模型适用的项目类型
迭代模型适用于需求不清晰、不确定因素较多、风险较高、需要在后续阶段中不断细化需求的项目。

相关主题