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