首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何理解螺旋模型?

如何理解螺旋模型?
EN

Software Engineering用户
提问于 2020-02-15 21:26:53
回答 1查看 245关注 0票数 -1

我需要检查我对螺旋过程模型的理解,因为它让我感到困惑。

据我理解,螺旋模型类似于瀑布模型,其活动如下:

  1. 需求分析
  2. 设计
  3. 实现
  4. 测试

但是在每个阶段,我们做的是:首先我们做一个风险分析,在其中我们发现和解决风险,然后我们实现这个阶段(无论是需求分析阶段还是设计阶段等等),然后我们计划下一个阶段。

我的理解对吗?

EN

回答 1

Software Engineering用户

发布于 2020-02-15 23:45:57

我建议你引用一篇关于美国宇航局应用软件开发螺旋模型的案例研究的文章,而不是维基百科和博姆的原始文章:

软件开发的螺旋模型提供了一种灵活的、风险驱动的软件开发方法,它通常比典型的瀑布式文档驱动模型更符合项目的实际情况。与其规定一套具体的活动和开发阶段来取得进展,这种螺旋使开发团队能够在当前目标、限制和风险的情况下选择最合适的路径。因此,基于螺旋的生命周期将自然支持增量开发以及其他范式。

首先,螺旋线显示了一个迭代过程,在这个过程中,每一个循环都产生一个新的“原型”,它细化了关于需求和产品设计的知识。这个迭代过程不一定是增量的。最初,博姆在其关于改进瀑布模型的论文中提出了罗伊斯提出的“两次建造”原则。然而,在实践中,“原型”可能导致增量,而不是丢弃原型,特别是在以后的迭代中。

风险驱动意味着目标是尽早减少最大的不确定性。螺旋没有明确的结束,因此迭代一直持续到产品成熟和健壮为止。

每次迭代都要经过四个阶段四个阶段

  1. 确定目标:在当前的迭代中要做什么,以及在什么时间框架内。这和瀑布没有太大的不同,在瀑布里,你会从播种和计划开始。
  2. 识别和解决风险:在这里,它与瀑布非常不同,因为它不一定是关于需求,而是关于不确定性。因此,您当然可以从一些初始需求开始,但在随后的迭代中,它可能涉及到体系结构支持高容量的能力,或者检查功能的完整性以满足预期或任何其他已识别的风险的方法。根据目标,您将进行一些研究,分析或设计,以解决风险。
  3. 开发和测试:显而易见。
  4. 计划下一次迭代:首先,需要评估当前迭代的结果:应该评估它们是否符合目标,并了解下一步需要做什么。

因此,螺旋模型允许逐步精化:您不需要在一开始就知道产品的细节,但是您可能会逐步发现所需的细节。它不是面向文档的,因此与传统的“编写需求”、“指定设计”、“实现设计”有很大的不同。它允许在开发和如何开发方面具有一定的灵活性。

灵活性的程度解释了为什么螺旋线被Boehm称为“过程生成器”:螺旋被用来根据项目的需要定制过程。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/405248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档