首页 > 编程知识 正文

几种特殊的生命周期模型,各种软件生命周期模型的特点

时间:2023-05-03 16:01:34 阅读:21850 作者:3630

一方面,瀑布模型瀑布模型的各个阶段是规划、需求分析、设计、程序代码、软件测试、运行维护。

瀑布模型自上而下依次连接软件生命周期的各项活动,将上一阶段的输出作为下一阶段的输入。 另外,各阶段发现问题时,可以逆流而上,在前一个阶段进行反馈,进行适当的修改,但不能分阶段进行反馈,跨阶段进行反馈。

瀑布模型的总结表明,只要在各个阶段保证了有效性,最终其有效性也得到了保证。

在各个阶段,依次输出软件要求条款、设计文档、实际代码、测试用例、最终产品等产品(即输入下一阶段)。

瀑布模型的优点:

有良好的需求确认入口,为后续开发奠定良好的基础。 强调设计过程。 软件是“创造”的,不是“制造”的,所以设计尤为重要。 各阶段结束后进行复审,允许获取者/用户参与,有效控制了系统质量问题。 现阶段完成后,关注下一个阶段即可。 (确保了前一阶段的有效性)瀑布模型的缺点:

客户必须能够完整、准确、清晰地表达需求,开发人员必须从一开始就了解需求。 (事实上,在许多项目中,客户很难从一开始就表达出明确的需求,开发人员也很难从一开始就了解所有需求)缺乏灵活性。 最初的需求产生偏差的情况下,最终产品产生偏差的可能性较高。 每个阶段都会生成过多的文档,可能很难管理。 在瀑布模型结束之前,无法演示系统功能,这会增加项目风险。

二、增量模型增量模型可以将需求分阶段划分为一系列增量产品,每个增量可以分别开发。 也就是说,将软件模块化,每个模块是一个增量组件,然后分别开发,所有增量都重叠在一起,形成最终的软件产品。

另外,在各自的增量分别开发的情况下,由于是瀑布模型,所以增量模型可以认为是瀑布模型的升级版、瀑布模型的变形。

增量模型的优点:

增量模型作为瀑布模型的变体,因此增量模型具有瀑布模型的所有优点。 其他优点包括

与瀑布模型相比,第一个可交付版本所需的成本和时间很少。 例如,第一个增量只是软件的核心功能。 可以很快看到一些成果,增强开发者的信心。 开发风险比较小。 (珍惜、缩小、分开)第一帧版本可以快速发布,从而减少用户需求的变化,限制用户。增量模型的缺点:

由于初始增量是后续增量的基础,因此尝试修改初始增量的需求可能会影响后续增量。 增量模型的部分要求必须能够确定。 也就是说,虽然不需要确定所有要求,但必须先确定一部分。 这很容易理解,因为每个增量都与瀑布模型相同。 增量过多会超过管理成本,影响进度。

三、进化模型进化模型在需求不明确的情况下,通过不断迭代,可以逐渐明确需求。 重复多次,每次重复都要经过需求分析、设计、编码、测试、执行这一过程。 每次迭代都发生增量,迭代的结果反馈给用户,根据用户的要求修改需求并进行下一次迭代,从而重复迭代,最终生成用户满意的产品。

每个迭代过程都相当于一个小瀑布模型,但在需求分析阶段却不太一样。

不要削弱需求分析阶段的工作!

演化模型的优点:

如果需求不明确,可以使用该模型。 用户可以通过运行系统来改善需求。 需要更多的用户/获取者参与,增加软件质量的管理。演化模型的缺点:

每次迭代都需要管理成本,迭代越多,管理成本就越大。 容易让开发团队找借口不做需求分析。 由于用户难以理解该模型迭代进化的特点,如果一次迭代后的反馈不理想,用户容易产生不满。 (实际上,这一缺点帮助开发团队从用户那里获得了更明确的需求。 由于用户抱怨和不满,提出了改进意见,使需求更加明确,促进了下一次迭代。 )

四.喷泉模型喷泉模型主要用于描述面向对象软件的开发过程,该模型自下而上,各阶段无缝衔接,可多次重复。

:目的是精益求精。 系统的某些部分多次重复,相关功能在迭代中逐渐接近完善。

迭代即各阶段之间不存在明显边界。

无缝

由于各阶段无缝连接,各阶段可以同步开发,提高开发效率。喷泉模型的优点:

多次重复会生成大量文档,使文档管理变得困难。

五.螺旋模型螺旋模型是瀑布模型和进化模型加上风险分析。 迭代过程之一是计划的制定、风险分析、开发和评价。 这四个活动分布在笛卡尔坐标的四个象限中,一个象限表示一个活动。

从制定计划开始,进行风险分析,

如果通过了风险分析,则进入开发阶段,开发完成后再进行评估。评估后又进入外一层螺旋进行下一次循环迭代,制定计划,风险分析。。。直到项目开发完成或者没有通过风险分析为止。

螺旋模型其实和演化模型有些类似,都是通过不断迭代去完善需求,完善系统。但是,螺旋模型有一个最大的特点就是:风险分析。

螺旋模型的优点:

对大型的项目有较好的风险控制能力。

螺旋模型的缺点:

需要分析人员有风险分析的经验,因为分析失误会造成很大的损失。螺旋模型周期相对较长,所以不适用于大部分软件开发项目。

 

六、快速原型模型

快速原型是快速建立起来的程序,它只是最终产品的子集(或雏形),建立快速原型的作用是帮助用户确定需求以及可以用于确定项目的可行性。

快速原型模型主要部分可以分为:

原型快速分析:分析者和用户相互配合,快速确定软件系统的基本需求。原型构造:在原型快速分析的基础上,只考虑主要特性,快速构造一个可运行的系统。原型运行与评价:开发人员与用户频繁沟通,发现问题,消除误解,目的是发现新需求并修改原有需求。原型修正:根据新需求对原型系统进行修正。判定原型完成:若原型修改后获得了参与者的一致认可,那么原型开发的迭代就可以结束了。

快速原型模型的优点:

主要针对于小型的、快捷的,并且需求不明确的项目.有的软件原型可以作为最终产品的一部分。

快速原型模型的缺点:

快速建立的系统结构加上连续修改可能导致产品质量低下,原型系统的内部结构可能不好。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。