我需要检查我对螺旋过程模型的理解,因为它让我感到困惑。
据我理解,螺旋模型类似于瀑布模型,其活动如下:
但是在每个阶段,我们做的是:首先我们做一个风险分析,在其中我们发现和解决风险,然后我们实现这个阶段(无论是需求分析阶段还是设计阶段等等),然后我们计划下一个阶段。
我的理解对吗?
发布于 2020-02-15 23:45:57
我建议你引用一篇关于美国宇航局应用软件开发螺旋模型的案例研究的文章,而不是维基百科和博姆的原始文章:
软件开发的螺旋模型提供了一种灵活的、风险驱动的软件开发方法,它通常比典型的瀑布式文档驱动模型更符合项目的实际情况。与其规定一套具体的活动和开发阶段来取得进展,这种螺旋使开发团队能够在当前目标、限制和风险的情况下选择最合适的路径。因此,基于螺旋的生命周期将自然支持增量开发以及其他范式。
首先,螺旋线显示了一个迭代过程,在这个过程中,每一个循环都产生一个新的“原型”,它细化了关于需求和产品设计的知识。这个迭代过程不一定是增量的。最初,博姆在其关于改进瀑布模型的论文中提出了罗伊斯提出的“两次建造”原则。然而,在实践中,“原型”可能导致增量,而不是丢弃原型,特别是在以后的迭代中。
风险驱动意味着目标是尽早减少最大的不确定性。螺旋没有明确的结束,因此迭代一直持续到产品成熟和健壮为止。
因此,螺旋模型允许逐步精化:您不需要在一开始就知道产品的细节,但是您可能会逐步发现所需的细节。它不是面向文档的,因此与传统的“编写需求”、“指定设计”、“实现设计”有很大的不同。它允许在开发和如何开发方面具有一定的灵活性。
灵活性的程度解释了为什么螺旋线被Boehm称为“过程生成器”:螺旋被用来根据项目的需要定制过程。
https://softwareengineering.stackexchange.com/questions/405248
复制相似问题