我们在瀑布模型中面临的最大问题是需要很长时间才能完成产品,并且软件已经过时。为了解决这个问题,我们有一种新的方法,称为螺旋模型。螺旋模型也称为循环模型。
在此模型中,我们逐个模块创建应用程序并移交给客户,以便他们可以在很早的阶段开始使用该应用程序。并且我们仅在模块相互依赖时才准备此模型。在此模型中,我们在各个阶段开发应用程序,因为有时客户会在流程之间给出要求。
螺旋模型的不同阶段如下:
需求分析
螺旋模型流程从收集业务需求开始。在此,以下螺旋将包括系统要求、单元要求和子系统需求的文档。在这个阶段,我们可以很容易地理解系统要求,因为业务分析师和客户不断沟通。一旦周期完成,该应用程序将部署在市场上。
设计
螺旋模型的第二阶段是设计,我们将规划逻辑设计、架构设计、流程图、决策树等。
编码
在设计阶段的编译之后,我们将进入下一步,即编码阶段。在这种情况下,我们将根据客户的要求开发产品,并获得客户的反馈。这个阶段是指每个周期中实际应用的构建。
这些螺旋对需求非常清晰,应用程序的设计细节被称为具有版本号的构建。之后,这些构建将传输到客户端以供其响应。
测试和风险分析
一旦开发成功完成,我们将在第一个周期结束时测试构建,并在管理风险、检测和观察技术可行性等不同方面分析软件的风险。之后,客户将测试应用程序并提供反馈。
螺旋模型示例
让我们看一个例子来更好地理解螺旋模型:
在螺旋模型中,软件是在小模块中开发的。假设我们有应用程序 A,并且这个 A 应用程序是在 P、Q、R 等不同模型的帮助下创建的。
在上图中,
RP: 模块P的需求分析,与RQ,RR类似。 DP: 模块P的设计,以及类似的DQ,DR。
CP: 模块 P 的编码,以及类似的 CQ、CR。
卫生纸: 测试模块 P,以及类似的 TQ、TR。
- 在P模块中,我们首先得到需求,然后只有我们设计模块。模块 A 的编码部分在测试错误时完成。
- 下一个模块是 Q,它是在构建模块 P 时创建的。我们遵循与模块 P 中相同的过程,但是当我们开始测试模块 Q 时,我们检查以下条件,例如:
- 测试 Q 模块
- 模块Q与P的测试集成
- 测试模块 P
- 创建模块 P、Q 后,我们将继续进入模块 R,然后我们将遵循与模块 P 和 Q 相同的过程,然后测试以下条件:
- 首先,检查模块为 R、Q 和 P
- 然后,按以下顺序检查模块的集成:
R → Q、R 和 P → P 和 Q
注意: 一旦多个模块的循环继续,模块 Q 只有在模块 P 正确构建后才能构建,模块 R 类似。
最适合螺旋模型的示例是 MS-Excel,因为 MS-Excel 工作表具有多个单元格,这些单元格是 Excel 工作表的组成部分。由于我们必须首先创建单元格(模块 P),因此我们可以对单元格执行操作,例如将单元格分成两半(模块 Q),将单元格合并为两个,然后我们可以在 excel 表(模块 R)上绘制图形。
在螺旋模型中,我们可以执行两种类型的更改,如下所示:
主要变化
当客户要求对特定模块的要求进行重大更改时,我们仅更改该模块并执行集成和单元测试。为此,我们总是更喜欢一个新的周期,因为它可能会影响现有的模块。主要变化可能是软件的功能。
小改动
每当客户要求对特定应用程序进行微小更改时,软件团队都会进行较小的更改,并且必须在单个周期中同时开发新模块。而且我们从不进行任何新的周期或迭代,因为微小的变化不会影响现有功能,而且还需要额外的资源和时间。次要更改可能是 UI(前端更改)。
可行性研究
可行性研究基于项目的需求,许多人(人力资源,业务分析师,架构)评估项目是否可以完成。要开发一个好的项目,我们应该遵循各种特点,这些特点是基于客户的需求:
序号 |
方面 |
描述 |
1. |
法律 |
公司能否将该项目作为网络法和其他监控协议来处理? |
2. |
技术 |
检查可用的机器是否支持该软件? |
3. |
操作可行性 |
公司应该能够产生客户给出的操作吗? |
3. |
经济 |
公司是否应该能够在给定的预算内完成产品? |
3. |
时间表 |
该项目是否应在给定的时间表内完成。 |
螺旋模型的优缺点
序号 |
优点 |
缺点 |
1. |
螺旋模型中允许灵活更改 |
它不适合小型和低风险产品,因为对于较小的项目来说可能很昂贵。 |
2. |
开发可以分布成更小的部分。 |
这是一个传统的模型,因此开发人员也只做了测试工作。 |
3. |
客户也可以在早期阶段使用该应用程序。 |
螺旋模型中没有审查过程的要求,也不允许并行的可交付成果。 |
4. |
为开发人员和测试工程师提供更清晰的信息 |
在螺旋模型中,管理有点困难;这就是为什么这是一个复杂的过程。 |
5. |
它将提供原型的广泛使用。 |
最大数量的中间阶段需要不必要的文书工作。 |
|