A Comparison Between Evolutionary and Prototype Model

Volume 2, Spl. Issue 2 (2015)
e-ISSN: 1694-2329 | p-ISSN: 1694-2345
A Comparison Between Evolutionary and
Prototype Model
Aditi Thakur
Department of Computer Science, Baddi University of Emerging Sciences and Technology
ABSTRACT: In this paper, I have examined a number of
methods for describing or modelinghow software systems
are developed. It begins with background and definitions
of traditionalsoftware life cycle models that dominate most
textbook discussions and current software development
practices. Software systems come and go through a series
of passages that account for their inception, initial
development, productive operation, upkeep, and retirement
from one generation to another.This research paper is
1. INTRODUCTION
In incremental model the whole requirement is divided into
various builds. Multiple development cycles take place
here, makingthe life cyclea “multi-waterfall” cycle. Cycles
are divided up into smaller, more easily managed
modules. Each modulepasses through the requirements,
design, implementation and testing phases. A working
version of software is produced during the first module, so
you have working software early on during the software
life cycle. Each subsequent release of the module adds
function to the previous release. The process continues till
the complete system is achieved.
Incremental model in software engineering is a one which
combines the elements of waterfall model which are then
based on the existing research article and analysis of
increment model.
Keywords:
Software
Management
Processes,
SoftwareDevelopment, Development Models, Software
Development LifeCycle, Comparison between five models
of Software Engineering.
applied in an iterative manner. It basically delivers a series
of releases called increments which provide progressively
more functionality for the client as each increment is
delivered.
The incremental build model is a method of software
development where the product is designed, implemented
and tested incrementally (a little more is added each time)
until the product is finished. It involves both development
and maintenance. The product is defined as finished when
it satisfies all of its requirements. This model combines the
elements of the waterfall model with the iterative
philosophy of prototyping.
2. INCREMENTAL MODEL:
In incremental model the whole requirement is divided into
various builds. Multiple development cycles take place
here, making the life cycle a “multi-waterfall”
cycle. Cycles are divided up into smaller, more easily
managed modules. Each module passes through the
requirements, design, implementation and testing phases.
A working version of software is produced during the first
module, so you have working software early on during the
software life cycle. Each subsequent release of the module
adds function to the previous release.
Incremental model in software engineering is a one which
combines the elements of waterfall model which are then
applied in an iterative manner. It basically delivers a series
of releases called increments which provide progressively
more functionality for the client as each increment is
delivered. In this each successive version of product is
fully functioning software capable of performing more
useful work then the previous version. In this initial
product model or skeleton is refined into increasing levels
of capability by adding new functionalities in successive
version.
The incremental process models are effective the
incremental build model is a method of software
development where the product is designed, implemented
and tested incrementally until the product is finished. It
involves both development and maintenance. The product
is defined as finished when it satisfies all of its
requirements.
prototyping. Referring to the fig. here, the incremental
model applies linear sequences in a staggered fashion as
calendar time progresses.
The incremental model combines elements of the linear
sequential model with
the iterative philosophy of
Incremental development deals with delivering the system
broken down into increments with each increment
delivering part of the required functionality, rather than a
single delivery date. User requirements are prioritized and
the highest priority requirements are included in early
increments.
Each linear sequence produces a deliverable “increment”
of the software. For example, word-processing software
developed using the incremental paradigm might deliver
basic file management, editing and document production
capabilities in the second increment; spelling and grammar
checking in the third increment; and advanced page layout
capability
in
the
fourth
increment.
When an incremental model is used, the first increment is
often a core product. That is, basic requirements are
addressed, but many supplementary features (some known,
57
BUEST, Baddi
RIEECE -2015
Volume 2, Spl. Issue 2 (2015)
e-ISSN: 1694-2329 | p-ISSN: 1694-2345
others
unknown)
remain
undelivered.
As a result of use and/or evaluation, a plan is developed for
the next increment. The plan addresses the modification of
the core product to better meet the needs of the customer
and the delivery of additional features and functionality.
Once the development of an increment is underway, the
requirements are frozen though requirements so that later
increments can continue to evolve. Customer value can be
delivered with each increment so system functionality is
available earlier in the development process. Early
increments act as a prototype to help draw out
requirements for later increments. This therefore results in
a lower risk of overall project failure.Although this model
lacks process visibility and offers poor structure to the
project because of the ad-hoc manner of development, the
Author would recommend this model over the Waterfall
method. The Author prefers this model because of the
“Throw-away prototyping” feature of this model.
1.2 DIAGRAM OF INCREMENTAL LIFE CYCLE MODEL:-
This model combines the elements of the waterfall model
with the iterative philosophy of prototyping.Increment
process model are effective in situations where
requirements are defined precisely and there is no
BUEST, Baddi
RIEECE-2015
confusion about the functionality of the final product. In
this after every cycle, a useable product is given to
customer. These models are popular particularly when we
have to quickly deliver a limited functionality system.
58
Volume 2, Spl. Issue 2 (2015)
Incremental development slices the system functionality
into increments (portions). In each increment, a slice of
functionality is delivered through cross-discipline work,
from the requirements to the deployment. The unified
process groups increments/iterations into phases:
inception, elaboration, construction, and transition.Any
difficulty in design, coding and testing a modification
should signal the need for redesign or re-coding.
Modifications should fit easily into isolated and easy-tofind modules. If they do not, some redesign is possibly
needed.
As from the diagram you can see that there are 5 phases
(tasks) which are carried out in each increment. The first
increment is often a core product where the basic
requirements are addressed and the supplementary features
are added in the next increments. The core product is used
and evaluated by the client. Once the core product is
evaluated by the client there is plan development for the
next increment. Thus in every increment the needs of the
client are kept in mind and more features and functions are
added and the core product is updated. This process
continues till the complete product is produced.The
increments earlier to the main increment are called as
e-ISSN: 1694-2329 | p-ISSN: 1694-2345
IT’S BASICALLY: Then apply waterfall model into each increment.
 The system put into production when first increment
is delivered.
 As time passes additional increments are completed
and added to working system.
 Phases on each increment are sequential.
 Divide overall projects into number of increments
1.3 DIAGRAM (INCREMENTAL BUILD MODEL
“stripped down” versions of the final product. These
increments form a base for customer evaluation. On this
basis client can suggest new requirements if required.If
there are less number of employees to work on theproject.
Incremental development model is very useful to complete
the project before the deadline. In a project early
increments can be done with less number of people. In case
if the core product is well-defined and understood more
employees can be added if needed in the future increments.
One of the benefits of Incremental process model is that it
can be planned to manage technical risks.

1.3.1 MERITS: Initial product delivery is faster.
 Lower initial delivery cost.
 Core product is developed first i.e. main
functionality is added in the first increment.
 After each iteration, regression testing should be
conducted. During this testing, faulty elements of the
software can be quickly identified because few
changes are made within any single iteration.
 With each release a new feature is added to the
product.
 Customer can respond to feature and review the
product.
 Risk of changing requirement is reduced
 Work load is less. Prototypes are very visual, hence
no ambiguities
 Generates working software quickly and early during
the software life cycle.
59




It is easier to test and debug during a smaller
iteration.In this model customer can respond to each
built.
Lowers initial delivery cost.
Easier to manage risk because risky pieces are
identified and handled during it’d iteration.
Happier customers since you help them define
requirements
Flexibility in modifying requirements.
1.3.2 DEMERITS: It is difficult to divide the problem into several
functional units which can be incrementally
implemented and delivered.
 This model is used especially when customer prefers
to receive the product is increments to be able to start
using different features.
 Needs good planning and design.
BUEST, Baddi
RIEECE -2015
Volume 2, Spl. Issue 2 (2015)





e-ISSN: 1694-2329 | p-ISSN: 1694-2345
Needs a clear and complete definition of the whole
system before it can be broken down and built
incrementally.
Total cost is higher than waterfall.
Requires good analysis.
Resulting cost may exceed the cost of the
organization.
Each phase of an iteration is rigid and do not overlap
each other.
1.4 WHEN TO USE INCREMENTAL MODEL:2. SPIRAL MODEL
The spiral model is a risk-driven process model generator
for software projects. Based on the unique risk patterns of
a given project, the spiral model guides a team to adopt
elements of one or more process models, such
as incremental, waterfall, or evolutionary prototyping. [1]
The Spiral Life Cycle Model is a type of iterative software
development model which is generally implemented in
high risk projects. It was first proposed by Boehm. In this
system development method, we combine the features of
both, waterfall model and prototype model. In Spiral
model we can arrange all the activities in the form of a
spiral.
Spiral model is also called as meta-model because in a way
it comprises of other models of SDLC. Both waterfall and
prototype models are used in it. [2]
The spiral model, also known as the spiral lifecycle model,
is a systems development lifecycle (SDLC) model used in
information technology (IT). This model of development
combines the features of the prototyping model and
the waterfall model. The spiral model is favored for large,
expensive, and complicated projects. [3]
Each loop of spiral model represents a phase of software
process. This model is much more flexible than any other
model, since exact number of phases through which project
is developed is not fixed in this model.
The radial dimension of model represents cumulative
costs. Each path around spiral is indicative and increased
costs. Angular dimension represent progress made in
completing each cycle. Each loop of spiral from X-axis
clockwise through angel 360 which represents one phase.
BUEST, Baddi
RIEECE-2015






This model can be used when the requirements of the
complete system are clearly defined and understood.
Major requirements must be defined; however, some
details can evolve with time.
There is a need to get a product to the market early.
A new technology is being used
Resources with needed skill set are not available
There are some high risk features and goals.
One phase is split roughly into four sectors of major
activities:
 PLANNING: - Determination of objective,
constraints and alternatives.
 RISK ANALYSIS: - Analyze alternative and attempt
to identify and resolve risk involved.
 DEVELOPMENT: - Product development and testing
product.
 ASSESSMENT: - Customer evaluation. [4]
 The spiral model follows creation of a series of
prototypes for refining the understanding of the
requirements. The kind of approach is best suited to
projects that are not at all clearly defined and a clear
solution is yet to be arrived at. This model provides
an opportunity to build various prototypes to
understand the problem better and slowly arrive at a
solution using the prototypes iteratively. The project
starts with prototypes and ends with prototypes being
developed into fully functional systems. It allows for
a lot of flexibility from a customer and changing
requirements perspective. [5]
2.1 Use of the QuadrantsFirst quadrant (Objective
Setting):-During the first quadrant, it is needed to identify
the objectives of the phase.
 Examine the risks associated with these objectives.
Second Quadrant (Risk Assessment and Reduction):-
60
Volume 2, Spl. Issue 2 (2015)
e-ISSN: 1694-2329 | p-ISSN: 1694-2345


Detailed analysis is carried outfor each identified
project risk.

Steps are taken to reduce the risks. For example, if
there is a risk that the requirements are
inappropriate, a prototype system may be
developed.


Skills required, to evaluate and review project from
time to time, need expertise.
Rules and protocols should be followed properly to
effectively implement this model. Doing so,
through-out the span of project is tough.
It is not suitable for low risk projects. Amount of
documentation required in intermediate stages
makes management of project very complex
affair.[10]
Third Quadrant (Development and Validation):
Develop and validate the next level of the product
after resolving the identified risks.
Fourth Quadrant (Review and Planning):

Review the results achieved so far with
customer and plan the next iteration around
spiral.
Progressively more complete version of
software gets built with each iteration around
spiral. [6]
the
the
the
the
2.3 Merits of Spiral model: High amount of risk analysis hence, avoidance of
Risk is enhanced.
 Good for large and mission-critical projects.
 Strong approval and documentation control.
 Additional Functionality can be added at a later
date.
 Software is produced early in the software life
cycle. [7]
 It is suitable for high risk projects, where business
needs may be unstable.
 Project estimates in terms of schedule, cost etc
become more and more realistic as the project
moves forward and loops in spiral get completed.
 Changes can be introduced later in the life cycle as
well. And coping with these changes isn’t a very
big headache for the project manager.
 Spiral Life Cycle Model is one of the most flexible
SDLC models in place. Development phases can be
determined by the project manager, according to the
complexity of project.[8]
2.4 Demerits of Spiral model: Can be a costly model to use.
 Risk analysis requires highly specific expertise.
 Project’s success is highly dependent on the risk
analysis phase.
 Doesn’t work well for smaller projects.[9]
 Cost involved in this model is usually high.
 It is a complicated approach especially for projects
with a clear SRS.
61







3. When to use Spiral model
When costs and risk evaluation is important
For medium to high-risk projects
Long-term project commitment unwise because of
potential changes to economic priorities
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected (research and
exploration).[11]
4. CONCLUSION AND FUTURE WORK
There are many existing models for developing
systems for different sizes of projects and
requirements.
2. These models were established between 1970 and
1999.
3. Waterfall model and spiral model are used
commonly in developing systems.
4. Each model has advantages and disadvantages for
the development of systems, so each model tries to
eliminate the disadvantages of the previous model.
1.
Finally, some topics can be suggested for future
works:
1. Suggesting a model to simulate advantages that are
found in different models to software process
management.
2. Making a comparison between the suggested model
and the previous software processes management
models.
3. Applying the suggested model to many projects to
ensure of its suitability and documentation to
explain its mechanical work. [12]
REFERENCES
1. en.wikipedia.org/wiki/spiral_model.
2.www.answer4u.com/2011/12/spiralmodel.
3.searchsoftwarequality.techtarger.com/definition/spiral_model.
4.3rd edition k.k.agrawal,yogeshsingh(new age international publisher).
5.careeride.com/testing-spiralmodel-model.aspx.
6.Spiral atic.mil/cgi_bin/getTRDoc?AP=ADA382590.
7. istbexamcertification.com.
8.ianswer4u.com.
9. istbexamcertification.com.
10. ianswer4u.com.
11. istbexamcertification.com.
12.www.ijcsi.org/papers/7-5-94.
BUEST, Baddi
RIEECE -2015