30/10/2014
Software process models
• Prescriptive Process Models
• Evolutionary Process Models
30/10/2014
Software process models
Evolutionary Process Models
Chapter 2
30/10/2014
Evolutionary Process Models
• Evolutionary models are iterative type models.
• They allow to develop more complete versions of the
software.
• The prototyping model
• The spiral model
30/10/2014
The Prototyping model
• Often, a customer defines a set of
general objectives for software but
does not identify detailed
requirements for functions and
features.
• In this case Prototyping is best suited
• The prototype can serve as “the first
system.”
30/10/2014
phases of Prototyping model
• Communication
• I n t h i s p h a se , d eve l o p e r a n d c u stome r m e et
a n d d i s c u ss t h e ove ra l l o b j e c t ive s o f t h e
s o f t ware .
• Quick design
• Q u i c k d e s i g n i s i m p l e m e nte d wh e n
re q u i re m e nts a re k n o wn.
• I t i n c l u de s o n l y t h e i m p o r tant a s p e c ts l i ke
i n p u t a n d o u t put fo r m at o f t h e s o f t ware .
• I t fo c u s e s o n t h o s e a s p e c ts wh i c h a re vi s i b l e
to t h e u s e r rat h e r t h a n t h e d eta i l e d p l a n .
30/10/2014
phases of Prototyping model
• Modeling quick design
• This phase gives the clear idea about
the development of software because
the software is now built.
• It allows the developer to better
understand the exact requirements.
• Construction of prototype
• The prototype is evaluated by the
customer itself.
30/10/2014
phases of Prototyping model
• Deployment, delivery,
feedback
• I f t h e u s e r i s n o t s at i sf i e d wi t h c u r re nt
p ro to typ e t h e n i t ref i n e s a c co rdi ng to t h e
re q u i re m e nts o f t h e u s e r.
• T h e p ro c e ss o f ref i n i n g t h e p ro totype i s
re p e ate d u nt i l a l l t h e re q u i re me nts o f u s e rs
a re m et .
• W h e n t h e u s e rs a re s at i sf i e d wi t h t h e
d eve l o p e d p ro totype t h e n t h e syste m i s
d eve l o p e d o n t h e b a s i s o f f i n a l p ro totype .
30/10/2014
Advantages of Prototyping Model
• Prototype model need not know the detailed input, output, processes, adaptability
of operating system and full machine interaction.
• In the development process of this model users are actively involved.
• The development process is the best platform to understand the system by the
user.
• Errors are detected much earlier.
• Gives quick user feedback for better solutions.
• It identifies the missing functionality easily. It also identifies the confusing or
difficult functions.
30/10/2014
Disadvantages of Prototyping Model:
• The client involvement is more and it is not always considered
by the developer.
• It is a slow process because it takes more time for development.
• Many changes can disturb the rhythm of the development
team.
• It is a thrown away prototype when the users are confused with
it.
The Spiral model
• Spiral model is a risk driven process model.
• It is used for generating the software projects.
• In spiral model, an alternate solution is provided if the risk is found in the
risk analysis, then alternate solutions are suggested and implemented.
• It is a combination of prototype and sequential model or waterfall model.
• In one iteration all activities are done, for large project's the output is
small.
10
11
30/10/2014
Advantages of Spiral Model
• It reduces high amount of risk.
• It is good for large and critical projects.
• It gives strong approval and documentation control.
• In spiral model, the software is produced early in the
life cycle process.
30/10/2014
Disadvantages 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.
• It is not suitable for low risk projects.
• Spiral may continue indefinitely.
Comparison of Different Life Cycle Models
• Iterative waterfall model
• most widely used model.
• But, suitable only for well-understood problems.
• Prototype model is suitable for projects not well
understood:
• user requirements
• technical aspects
14
Comparison of Different Life Cycle Models (CONT.)
• Evolutionary model is suitable for large problems:
• can be decomposed into a set of modules that can be incrementally
implemented,
• incremental delivery of the system is acceptable to the customer.
• The spiral model:
• suitable for development of technically challenging software
products that are subject to several kinds of risks.
15