软件工程中的螺旋模型和原型模型有什么区别?
并说明一次性原型和进化原型之间的一些区别。
我从未听说过“原型”软件开发生命周期。原型设计常用于迭代和增量模型,包括螺旋模型和敏捷方法。
Barry Boehm 定义的螺旋模型包括尽可能多地定义需求、创建可帮助您识别风险和探索可能解决方案的设计、对设计进行原型设计,然后发布版本。发布后,您将再次开始该过程以生成下一个版本。
您可以使用两种原型。
快速制作一次性原型,目的是在您从中学习后丢弃它。它设计得不好,实施得不好。您的目标是在您的客户面前展示一些东西,以便他们可以看到并做出响应,以帮助您完善您的需求并朝着客户想要的系统迈进。然而,这是有风险的,因为客户看到了一个系统并且可能将其等同于一个工作系统——你需要强调它只是一个原型。
在进化原型中,您在开发原型时会更加小心,因为您将重构并将原型扩展到最终产品。您实际上可以向您的客户交付一个进化原型,并让他们像使用实际系统一样使用它——您慢慢地将原型改进为交付的最终产品。