Page 58 - DCAP405_SOFTWARE_ENGINEERING
P. 58
Unit 4: Evolutionary Process Models
4.1 Evolutionary Process Model Notes
Figure 4.1 Evolutionary Model
The evolutionary model could be seen as one of the classic iterative activity based models. Each
of the activities are handled in sequential order. After each of the iterations an evolutionary
prototype is produced. This prototype is used to validate the iteration it’s just coming from and
forms the basis of the requirements for the next phase. It’s usually applied when the requirements
are unclear. There are two well-known forms: exploratory programming and prototyping.
Who is Theodosious Dobzhansky?
Did u know?
Theodosious Dobzhansky defined evolution as the change in allele frequencies over time,
a definition that appears to be more applicable to fine-scale population genetics questions
than, necessarily, to between-species evolutionary relationships.
A prototype is used to discover the requirements and is discarded once the real system is
developed. In exploratory programming a system is implemented and functionality is added
iteratively.
One of the major problems here is the way of dealing with the development of software. The
prototypes produced are being used in the next phase. Because many prototypes are produced
that are redefined further and further, the whole software might become a patchwork of features.
Hence the whole approach might only work for small projects.
The waterfall model is viable for software products that do not change very much once they are
specified. But for software products that have their feature sets redefined during development
because of user feedback and other factors, the traditional waterfall model is no longer
appropriate.
The Evolutionary EVO development model divides the development cycle into smaller,
incremental waterfall models in which users are able to get access to the product at the end
of each cycle.
LOVELY PROFESSIONAL UNIVERSITY 51