原型化模型是为了弥补瀑布模型的不足而产生的,目的是为了减少开发风险。
原型化模型的第一步就是创建一个快速原型,能够满足项目干系人和未来的用户可以与原型进行交互,在通过与相关干系人进行充分的讨论和分析,最终弄清楚当前系统的需求,进行了充分的了解之后,在原型的基础上开发出用户满意的产品。在实际的项目过程中,借助于组织过程资产以及快速模型软件,一般在需求分析的时候,就可以建立一些简单的原型。原型化模型是极具意义的项目实践。
原型化模型减少了瀑布模型中因为软件需求不明确而给开发工作带来的风险。因为在原型基础上的沟通更为直观,也为需求分析和定义,提供了新的方法。原型化模型的应用意义很广,瀑布和V模型将原型化模型的思想用于需求分析环节,来解决因为需求不明确而导致产品出现严重后果的缺陷。
原型应当具备以下特点:
- 实际可行。
- 具有最终系统的基本特征。
- 构造方便,快速,造价低。
原型法的特点在于原型法对用户的需求是动态响应,逐步纳入的,系统分析、设计与实现都是随着对一个工作模型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。系统开发计划就是一个反复修改的过程。
可以将原型分为以下两种类型:
(1)抛弃型原型:此类原型在系统真正实现以后就放弃不用了。
(2)进化型原型:此类原型的构造从目标系统的一个或几个基本需求出发,通过修改和追加功能的过程逐渐丰富,演化成最终系统。
对于复杂的大型软件,开发一个原型往往达不到要求,为减少开发风险,在瀑布模型和原型化模型的基础上演进,出现了螺旋模型以及大量使用的RUP。