📅  最后修改于: 2020-12-13 14:32:02             🧑  作者: Mango
螺旋模型将迭代开发的思想与瀑布模型的系统化,受控方面结合在一起。此螺旋模型是迭代开发过程模型和顺序线性开发模型(即非常注重风险分析的瀑布模型)的组合。通过围绕螺旋的每次迭代,它允许产品的增量发布或增量改进。
螺旋模型有四个阶段。一个软件项目在称为Spirals的迭代中反复经历这些阶段。
此阶段从收集基线螺旋中的业务需求开始。随着产品的成熟,在随后的螺旋式发展中,系统需求,子系统需求和单元需求的识别均在此阶段完成。
此阶段还包括通过客户与系统分析师之间的持续沟通来了解系统要求。螺旋式增长结束时,产品将在确定的市场中部署。
设计阶段从基线螺旋中的概念设计开始,涉及架构设计,模块的逻辑设计,物理产品设计以及后续螺旋中的最终设计。
构造阶段指的是在每个螺旋线上生产实际的软件产品。在基线阶段,当只考虑产品并正在开发设计时,在此阶段就开发了POC(概念验证)以获取客户反馈。
然后,在随后的螺旋结构中,对要求和设计细节有了更高的清晰度,并生成了带有版本号的称为build的软件工作模型。这些版本将发送给客户以征求反馈。
风险分析包括识别,估算和监控技术可行性和管理风险,例如进度延误和成本超支。测试完构建后,在第一次迭代结束时,客户评估软件并提供反馈。
下图是螺旋模型的表示,列出了每个阶段的活动。
根据客户评估,软件开发过程将进入下一个迭代,然后遵循线性方法来实施客户建议的反馈。在整个软件生命周期中,沿着螺旋的迭代过程一直持续。
螺旋模型与任何产品的自然开发过程保持同步,因此被广泛用于软件行业,即成熟的学习对客户和开发公司的风险最小。
以下指针说明了螺旋模型的典型用法-
当存在预算约束且风险评估很重要时。
适用于中高风险项目。
长期的项目承诺,因为随着需求的变化,经济优先级可能发生变化。
客户通常不能确定自己的要求。
需求很复杂,需要评估才能清楚。
新产品线应分阶段发布,以获得足够的客户反馈。
在开发周期中,预计产品会发生重大变化。
螺旋生命周期模型的优点是,当产品中的元素可用或已知时,它可以添加产品元素。这样可以确保与以前的要求和设计没有冲突。
此方法与具有多个软件版本和发行版本的方法一致,该方法允许有序地过渡到维护活动。该方法的另一个积极方面是,螺旋模型迫使用户尽早参与系统开发工作。
另一方面,要完成这样的产品需要非常严格的管理,并且存在无限循环地运行螺旋的风险。因此,变更的纪律和接受变更请求的程度对于成功开发和部署产品非常重要。
螺旋SDLC模型的优点如下-
可以适应不断变化的要求。
允许大量使用原型。
可以更准确地捕获需求。
用户尽早看到系统。
开发可以分为较小的部分,而有风险的部分可以尽早开发,这有助于更好地进行风险管理。
螺旋SDLC模型的缺点如下-
管理更加复杂。
项目结束可能不及早得知。
不适合小型或低风险项目,对于小型项目可能会很昂贵。
流程很复杂
螺旋可能会无限期地继续下去。
大量的中间阶段需要过多的文档。