I've never heard of a "Prototype" software development life cycle. Prototyping is often used in the iterative and incremental models, which include the spiral model and the Agile methodologies.
The spiral model as defined by Barry Boehm consists of defining the requirements as much as possible, creating a design that helps you to identify risks and explore possible solutions, prototyping your design, and then producing a release. Once you release, you begin the process again to produce the next release.
There are two kinds of prototypes that you might use.
A throwaway prototype is made quickly with the intention of discarding it after you have learned from it. It's not well designed nor well implemented. Your goal is to get something in front of you client so they can see it and respond to it in order to help you refine your requirements and move toward a system the client wants. However, this is risky since the client sees a system and might equate that with a working system - you need to stress that it's just a prototype.
In evolutionary prototype, you take more care when developing the prototype as you will be refactoring and expanding your prototype into the final product. You can actually deliver an evolutionary prototype to your client and have them use it just as they would the actual system - you slowly refine the prototype into a final product that is delivered.
发布评论
评论(1)
我从未听说过“原型”软件开发生命周期。原型通常用于迭代和增量模型,包括螺旋模型和敏捷方法论。
Barry Boehm 定义的螺旋模型包括尽可能多地定义需求、创建可帮助您识别风险并探索可能的解决方案的设计、对设计进行原型设计,然后生成版本。发布后,您将再次开始该过程以生成下一个版本。
您可以使用两种原型。
一次性原型是快速制作的,目的是在您从中吸取教训后将其丢弃。它设计得不好,实施得不好。您的目标是将某些内容呈现在客户面前,以便他们能够看到并做出响应,从而帮助您完善需求并朝着客户想要的系统迈进。然而,这是有风险的,因为客户看到一个系统并可能将其等同于一个工作系统 - 您需要强调它只是一个原型。
在进化原型中,您在开发原型时要更加小心,因为您将重构原型并将其扩展为最终产品。实际上,您可以向客户交付进化原型,并让他们像使用实际系统一样使用它 - 您慢慢地将原型改进为交付的最终产品。
I've never heard of a "Prototype" software development life cycle. Prototyping is often used in the iterative and incremental models, which include the spiral model and the Agile methodologies.
The spiral model as defined by Barry Boehm consists of defining the requirements as much as possible, creating a design that helps you to identify risks and explore possible solutions, prototyping your design, and then producing a release. Once you release, you begin the process again to produce the next release.
There are two kinds of prototypes that you might use.
A throwaway prototype is made quickly with the intention of discarding it after you have learned from it. It's not well designed nor well implemented. Your goal is to get something in front of you client so they can see it and respond to it in order to help you refine your requirements and move toward a system the client wants. However, this is risky since the client sees a system and might equate that with a working system - you need to stress that it's just a prototype.
In evolutionary prototype, you take more care when developing the prototype as you will be refactoring and expanding your prototype into the final product. You can actually deliver an evolutionary prototype to your client and have them use it just as they would the actual system - you slowly refine the prototype into a final product that is delivered.