Evolutionary Software Process Model
Evolutionary Software Process Model
Model Types
However, neither the Linear Sequential Model nor the Prototype Model apply this
aspect to software production. The Linear Sequential Model was designed for
straight-line development. The Prototype Model was designed to assist the
customer in understanding requirements and is designed to produce a visualization
of the final system.
But the Evolutionary Models take the concept of “evolution” into the engineering
paradigm. Therefore Evolutionary Models are iterative. They are built in a manner
that enables software engineers to develop increasingly more complex versions of
the software.
..............................................................
.
Increment n: Analysis-->Design-->Code-->Test (Delivery of nth
Increments)
Advantages•
The Spiral Model is an evolutionary software process model that couples the
iterative nature of prototyping with the controlled and systematic aspects of
the Linear Sequential Model. Using the Spiral Model the software is developed in
a series of incremental releases. Unlike the Iteration Model where in the first
product is a core product, in the Spiral Model the early iterations could result in a
paper model or a prototype. However, during later iterations more complex
functionalities could be added.
A Spiral Model, combines the iterative nature of prototyping with the controlled
and systematic aspects of the Waterfall Model, therein providing the potential for
rapid development of incremental versions of the software. A Spiral Model is
divided into a number of framework activities, also called task regions. These task
regions could vary from 3-6 in number and they are:
Risk Analysis - tasks required to assess the technical and management risks.
Construction & Release - tasks required to construct, test and support (eg.
Documentation and training)
The model uses prototyping as a risk reduction mechanism and allows for
the development of prototypes at any stage of the evolutionary development.
In this model the developer and the customer both together strive for a “win-win”
result. The customer wins by getting the system or product that satisfies the
majority of the customer needs and the developer wins by working on realistic and
achievable goals, budgets and deadlines. Rather than a single customer
communication activity the following activities are defined:
In addition to the negotiations, the WINWIN spiral model also introduces three
process milestones (anchor points) which help completion of one cycle around the
spiral and provides the decision milestones. The three process milestones are:
1. Life Cycle Objective (LCO) – defines a set of activity for each major
software engineering activity. Eg. Defining the top-level system/product
requirements.
Life Cycle Architecture (LCA) – defines the objectives that must be met as
the system and software architecture is defined. Eg. The software team can
demonstrate that they have evaluated the applicability of the software and
also considered the impact on architectural decisions.
Advantages: