软件生命周期模型 您所在的位置:网站首页 敏捷开发模型是软件开发生命周期模型吗对吗 软件生命周期模型

软件生命周期模型

2024-07-11 23:47| 来源: 网络整理| 查看: 265

一、瀑布模型

瀑布模型(Waterfall Model)是最基本也最常用的一种生命周期模型,又称线性模型。瀑布模型顺序展开项目开发过程中的各阶段,开发进程从一个阶段“流动”到下一个阶段,每个阶段都会产生循环反馈,如果有信息未被覆盖或者发现问题,可以返回上一个阶段进行修改。

瀑布模型

实际上,在某个阶段出现问题时,可以根据实际情况直接返回到之前的任意阶段进行修改,并不是只能返回上一阶段;另外在运行维护阶段,根据维护工作类型的不同,有可能返回到需求分析、软件设计、软件编码等不同阶段。(为突出主流程、避免混淆,图中用一条虚线概括表示)

二、增量模型

增量模型把软件产品分为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,可以完成特定的功能。增量模型分批逐步地向用户交付产品,首先开发交付产品的基本部分,然后再逐步开发交付产品的附加部分。为了保证所开发的产品各个部分最后能有机地组合起来,通常会进行统一的需求分析和概要设计。

增量模型

三、快速原型模型

快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能通常是最终产品功能的子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户评价或试用,直观的了解目标系统的概貌,开发人员根据用户意见快速修改原型系统,然后再次请用户评价或试用,直至用户确认原型系统能够满足要求为止,开发人员据此形成需求规格说明文档后再开展设计和编码工作。

快速原型的本质是“快速”,开发人员应尽可能快地建立原型系统;快速原型的用途是获知用户的真正需求,一旦需求确认后,原型就可以被抛弃。(注:此处的快速原型指抛弃型原型)

快速原型模型

由于原型系统已经通过与用户交互得到了验证,据此产生的需求规格说明文档应该能够较为准确地描述用户需求,因此在后续阶段发现问题需要返回上一阶段的可能性也变小了。

四、螺旋模型

螺旋模型引入了其他模型不具备的风险分析,在每个阶段构建原型以便减小风险。在螺旋模型中,软件过程表示为一条螺线,而不是像其他模型那样表示为一个活动序列。螺线的每一个循环表示过程的一个阶段。一个循环可划分为4个象限,表示一个阶段中的4个活动。

目标设定——定义本阶段目标、实施方案,弄清开发的限制条件,制订管理计划;风险分析——分析评估目标与方案,识别风险并通过原型规避风险,如果风险巨大且无法规避,则可以停止项目或缩减项目规模;实施开发——基于瀑布模型实施软件开发和验证;评审和计划——评审开发成果,计划项目下一个循环的工作。

螺旋模型

沿螺线自内向外每循环一圈便开发出一个更为完善的软件版本。如果开发人员对需求有很好的理解,螺旋线只循环一圈即达到了用户要求,则螺旋模型实际上就是增加了风险分析的快速原型模型;如果对需求理解较差,则需要经历多圈螺旋线渐进明细,最初的循环可以只完成需求确认或设计确认,后续的循环就可以完成可运行程序的构建。(当然,如果在每个循环中都完成一次完整的瀑布流程,则螺旋模型实际上又演变为多轮迭代的快速原型模型)。下面是参照其他模型的惯例,用活动序列简化表示螺旋模型的几种典型情况。(实际上,每轮循环中具体的实施开发工作应该要基于上轮的开发成果并符合本轮的目标要求,不同项目情况千差万别,下图仅表示了几种典型情况)

增加了风险分析的快速原型模型

多轮循环渐进明细的螺旋模型

多轮迭代的快速原型模型

五、Rational统一过程(RUP)

RUP是Rational公司创造的一种混合型过程模型的实例,它集合了一般过程模型的要素,也支持原型构造和增量交付的方法。

RUP从2个视角描述过程:动态视角描述过程中随时间所经历的阶段,静态视角描述过程中所进行的活动。RUP没有像其他模型那样将阶段与活动等同起来。

5.1 四个阶段

RUP将软件生命周期划分为四个连续的阶段。每个阶段都有明确的目标,需要通过一次或多次迭代来完成;每个阶段结束之前都有一个里程碑,用于评估阶段目标是否达到。各阶段的主要目标如下:

初始阶段(t目标里程碑):明确项目范围和边界,定义软件核心需求,初步项目估算,制定里程碑计划,初步设计软件体系架构,准备项目支持环境;细化阶段(t结构里程碑):定义至少80%以上的软件需求,设计软件体系架构,制定总体开发计划,建立项目支持环境;确保项目需求、计划、体系架构足够稳定;确保项目风险降低到能够满足项目成本和进度要求的程度;构建阶段(t初始功能里程碑):设计、开发和测试,按计划循序渐进地形成各个版本并最终开发出一个完整产品,准备项目部署环境;交付阶段(t产品发布里程碑):将软件产品交付用户,部署、培训、维护。 5.2 九个核心工作流

RUP定义了九个核心工作流,包括六个过程工作流和三个支持工作流,对所有角色和活动进行逻辑分组。工作流的主要任务如下:

业务建模工作流:使用业务用例对业务过程建模,确保软件开发人员理解业务;需求工作流:需求建模,描述系统应该做什么,确保软件开发人员构建正确的系统;分析和设计工作流:分析和设计建模,描述如何实现系统;实现工作流:代码实现、单元测试、集成,编码或自动生成代码;测试工作流:集成测试、系统测试以及回归验证;分发工作流:软件打包、部署、培训,组织验收;项目管理工作流:计划、组织、协调、控制项目开发;配置和变更管理工作流:跟踪维护开发过程中所有成果的一致性和完整性;环境工作流:提供软件开发环境,包括过程管理和工具支持。 5.3 RUP生命周期模型

基于过程的动态结构和静态结构,RUP建立了二维生命周期模型,横坐标体现阶段,纵坐标表示活动。

RUP生命周期模型

RUP采用迭代和演化的方式开发软件,每个阶段都可以进一步分解为多个迭代过程,每次迭代可以只考虑系统的一部分需求,针对这部分需求进行业务建模、需求分析、设计、编码、测试与部署,如此循序渐进直至完成整个项目。当然,项目经理可以根据当前所处阶段以及上次迭代的结果,对本次迭代中的核心过程工作流进行裁剪,比方说在细化阶段第1次迭代中,需求和设计工作的工作量较大,分发工作基本没有;而在构建阶段的最后1次迭代中,主要以测试和分发工作为主,业务建模和需求分析工作就很少了。

六、生命周期模型适用范围及优缺点对比

生命周期模型适用范围及优缺点对比



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有