📅  最后修改于: 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之后才能构建模块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. |