Software evolves over a period of time and hence evolutionary
models are more suited to software development.
They are iterative.
They enable the software developer to develop increasingly
more complex versions of the software.
Evolutionary Process Models
Mock up model or throw away version of a software product.
Can be used as standalone process model or can be
implemented within the context of any other process models.
Can serve as the ‘first system’.
Used when customer defines a set of objectives but does not identify
input, output or processing requirements.
Best approach when developer is not sure of:
Efficiency of an algorithm
Adaptability of an operating system
Helps both the software engineers and stakeholders to better
understand what is to be built when requirements are fuzzy.
Software Engineer and customer defines overall objective
Identifies requirements and outline area
Quick plan is made
A Prototype iteration is planned quickly and modeled
The quick design focuses on the representation of those aspects of the
software that will be visible to end users
Construction of Prototype:
The quick design leads to the construction of the prototype.
Deployment Delivery & Feedback:
The prototype is deployed and evaluated by stakeholders.
The feedback leads to refinements of requirements.
Iteration occurs until the prototype satisfies the needs of various
At the prototype level no focus on software quality or long-term
In order to make the prototype working quickly, the developer
often makes implementation compromises such as use of
inappropriate Operating System or Programming Language.