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