首页 » 电脑 » 什么是软件开发螺旋模型

什么是软件开发螺旋模型

螺旋模型是一种软件设计哲学,它不是一个线性的过程,而是一个不断重复的四步过程,直到软件完成。在螺旋模型的第一步中,开发人员讨论目标。在此之后,开发人员将找到以最快和最安全的方式完成目标的方法。当开发人员知道他们在做什么时,他们会进行实际的编程,以便在软件中包含功能。完成此过程后,将向客户端显示接受或拒绝更改的软件。

采购产品电脑,手,笔记本电脑,macbook,技术,打字,免费的股票照片,电脑,软件

螺旋模型的优缺点

1)设计上的灵活性,可以在项目的各个阶段进行变更。

2)以小的分段来构建大型系统,使成本计算变得简单容易。

3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。 很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

螺旋模型的项目适用:

对于新近开发,需求不明确的情况下,适合用螺旋模型进行开发,便于风险控制和需求变更。

螺旋模型的全过程

计划是螺旋模型的第一步,在执行任何计划之前就开始了。在这一点上,开发人员分析应该添加到软件中的特性。例如,如果程序是为组协作而设计的,那么开发人员可以讨论是否需要一个组接口,使许多人能够同时使用程序。开发人员只讨论所需的特性,而不讨论如何创建它们。

当开发人员知道需要哪些特性时,他们就开始讨论如何完成这些特性。在螺旋模型的这个阶段,开发人员将讨论完成任务的不同编程实践和方法。虽然添加特性的方法有很多,但是开发人员通常会选择制作和处理最快的方法。安全性也是一个问题,因为开发人员不希望程序在使用过程中被阻塞。

在选择方法之后,开发人员将开始编写函数。此调度将按照第二阶段选择的方法进行,除非出现重大问题,否则不会更改。与螺旋模型的其他两个部分不同,这里几乎没有讨论。

一旦讨论的特性完成,我们将联系客户测试软件的当前状态。在这一点上,软件很少是完整的,这一步更多的是测试编程功能,而不是断言它已经完成。如果该软件不是为特定客户开发的,您可以调用潜在客户来测试该程序。无论客户端是否接受或拒绝特性,螺旋模型都会回到第一步,即计划,在那里讨论或拒绝新特性并纠正特性。这将继续按顺序进行,直到软件准备好发布或按照客户的规范完成。

相关软件开发模型

瀑布模型:将软件生命周期划分为制订计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了他们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。其优点是:可以规范化过程,有利于评审;缺点在于:过于理想,缺乏灵活性,容易产生需求偏差。

V模型:在快速应用开发模型的基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。优点:适合工程量小、人力资源少并且开发过程中改动不大的项目;缺点:错误发现时间迟,产生的风险费用高。

快速原型模型:第一步是建立一个快速原型,实现客户或未来的用户与系统的交互,客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

演化模型:也是一种原型开发,但与快速原型模型不同的是,快速原型模型在获取真实需求后,将抛弃原型。而演化模型则不然,他将在快速开发一个原型的基础上,逐步演化成最终的软件。

增量模型:软件被作为一系列的增量构件来设计、实现、集成和测试,每一个构件是由多种相互作用的模块所形成的提供特定功能的代码片段构成。增量模型在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解成若干个构件,开发人员逐个构件地交付产品,这样做的好处是软件开发可以较好地适应变化,客户可以不断地看到所开发的软件,从而降低开发风险,有利于快速开发软件。

螺旋模型:综合了瀑布模型和演化模型的优点,还增加了风险分析,特别适合于大型复杂的系统。采用螺旋模型时,软件开发演着自内向外旋转,每转一圈都要对风险进行识别和分析,螺旋线第一圈的开始点可能是一个概念项目。从第二圈开始,一个新产品开发项目开始了,新产品的演化演着螺旋线进行若干次迭代,一直运转到软件生命周期结束。

发表评论

您的电子邮箱地址不会被公开。