📜  螺旋模型

📅  最后修改于: 2021-01-10 15:40:21             🧑  作者: Mango

螺旋模型

我们在瀑布模型中面临的最大问题是,需要很长时间才能完成产品,并且软件已经过时。为了解决这个问题,我们有一种新的方法,称为螺旋模型。螺旋模型也称为循环模型。

在此模型中,我们逐模块创建应用程序模块并移交给客户,以便他们可以在很早的阶段就开始使用该应用程序。并且仅在模块相互依赖时才准备此模型。在此模型中,我们有时分阶段开发应用程序,因为有时客户会在过程之间提出要求。

螺旋模型的不同阶段如下:

  • 需求分析
  • 设计
  • 编码
  • 测试和风险分析

需求分析

螺旋模型流程始于收集业务需求。在此,接下来的内容将包括系统需求,单元需求和子系统需求的文档。在此阶段,由于业务分析师和客户之间一直保持沟通,因此我们可以轻松了解系统要求。周期结束后,该应用程序将在市场中部署。

设计

设计了螺旋模型的第二阶段,我们将在其中计划逻辑设计,体系结构设计,流程图,决策树等。

编码

在设计阶段的编译之后,我们将进入下一步,即编码阶段。在这种情况下,我们将根据客户的要求开发产品,并获得客户的反馈。此阶段指的是每个周期中实际应用程序的构建。

而且这些螺旋结构非常清楚地满足了需求,并且应用程序的设计细节被称为带有版本号的内部版本。之后,这些构建将转移到客户端以进行响应。

测试与风险分析

一旦开发成功完成,我们将在第一个周期结束时对构建进行测试,并从不同方面分析软件的风险,例如管理风险,检测和观察技术可行性。然后,客户端将测试应用程序并提供反馈。

螺旋模型的例子

让我们看一个例子,以更好地理解螺旋模型:

在螺旋模型中,软件是在小模块中开发的。假设我们有应用程序A,并且此应用程序A是在不同模型(如P,Q,R)的帮助下创建的。

在上图中,

RP:模块P的需求分析,与RQ,RR类似。

DP:模块P的设计,以及DQ,DR的设计。

CP:模块P的编码,以及类似的CQ,CR。

TP:测试模块P,以及类似的TQ,TR。

  • 在P模块中,我们首先获得需求,然后才设计模块。测试模块A的错误后,模块A的编码部分即告完成。
  • 下一个模块是Q,并且它是在构建模块P时创建的。我们遵循与模块P相同的过程,但是当我们开始测试模块Q时,我们将检查以下情况,例如:
    • 测试Q模块
    • Q模块与P的测试集成
    • 测试模块P
  • 创建模块P,Q之后,我们将进入模块R,然后按照与模块P和Q相同的过程进行测试,然后测试以下条件:
    • 首先,将模块检查为R,Q和P
    • 然后,按以下顺序检查模块的集成:R→Q,R和P→P和Q

注意:一旦多个模块的循环继续进行,则只有在正确构建模块P之后才能构建模块Q,模块R也是如此。

螺旋模型的最合适示例是MS-Excel,因为MS-Excel工作表具有多个单元格,而单元格是Excel工作表的组成部分。由于必须先创建单元格(模块P),因此我们可以对单元格执行操作,例如将单元格拆分为一半(模块Q),将单元格合并为两个,然后可以在excel工作表上绘制图形(模块R) )。

在螺旋模型中,我们可以执行两种类型的更改,如下所示:

  • 主要变化
  • 小改动

主要变化

当客户要求对特定模块的要求进行重大更改时,我们将仅更改该模块并执行集成和单元测试。为此,我们总是喜欢一个新的周期,因为它可能会影响现有模块。主要变化可能是软件的功能。

小改动

每当客户要求对特定应用程序进行细微更改时,软件团队都必须在单个周期内同时开发较小的更改以及新模块。而且我们永远不会进行任何新的循环或迭代,因为微小的变化不会影响现有功能,并且还会占用额外的资源和时间。较小的更改可能是UI(前端更改)。

螺旋模型的优缺点

Advantage Disadvantage
Flexible changes are allowed in spiral model. It is not suitable for the small and low-risk product because it could be costly for a smaller project.
The development can be distributed into smaller parts. It is a traditional model, and thus developers only did the testing job as well.
The customer can use the application at an early stage also. There is no requirement of review process and no parallel deliverables allowed in the spiral model.
More clarity for Developers and Test engineers In the spiral model, management is a bit difficult; that’s why it is a complex process.
It will provide the wide use of prototypes. The maximum number of intermediate phases needs unnecessary paperwork.