演化模型主要针对需求不是很明确的软件项目,希望通过第一个原型来逐步探索和理解用户需求。按照不同的原型应用策略,演化模型可以分为两类:探索式演化模型和抛弃式演化模型。
探索式演化模型,其目标是与用户一起工作,共同探索系统需求,直到最后交付系统。这类开发从需求较清楚的部分开始,根据用户的建议逐渐向系统中添加功能。因此,最终的系统是在探索需求的原型上一步一步添加功能完成的。
抛弃式演化原型,通过实现一个或多个系统原型理解和明确用户需求,然后给出系统一个较好的需求定义。建立原型是为了帮助客户进一步明确原本含混不清的需求,帮助开发人员理解客户的需求的真实含义。这时的原型并不涉及系统核心功能的开发,更多的只是界面的模拟或者功能菜单的描述,甚至是运行同类产品作为原型演示。
对于大型、生命周期很长的系统,演化模型给项目管理带来的问题比较突出,因此演化模型更适合于小规模系统或者生存期较短的中小型系统。