SlideShare a Scribd company logo
SOFTWARE
DEVELOPMENT
LIFE
CYCLE (SDLC)
By
Komal Daheriya
SDLC MODEL
A framework that describes
the activities performed at
each stage of a software
development project.
SDLC PHASES
 Requirements Gathering and Analysis
 Design
 Development
 Testing
 Implementation
 Maintenance
SDLC MODEL
To help understand and implement the
SDLC phases various SDLC models have
been created software development
experts, universities, and standards
organizations.
REASONS FOR USING
SDLC MODEL
Provides basis for project planning,
estimating& scheduling.
Provides framework for standard set of
terminologies, activities & deliverables.
Provides mechanism for project tracking
and control.
Increases visibility of project progress to all
stakeholders.
ADVANTAGES OF CHOOSING
AN APPROPRIATE SDLC
Increased development speed.
Increased product quality.
Improved tracking & control.
Decreased project risk.
Decreased project management
overhead.
COMMON LIFE CYCLE MODELS
Waterfall model.
Prototype model.
Incremental Model.
Spiral model.
WATERFALL MODEL
Requirement
Design
Implementation
Test
Maintenance
 Requirement :- Defines
needed information, function,
behavior performance &
interface.
 Design :- Data structures,
Software architecture,
interface representation,
algorithm details.
 Implementation :- Source
code, data base, user
documentation, testing.
WATERFALL MODEL
Oldest and most well-known SDLC model.
Follows a sequential step-by-step process
from requirements analysis to maintenance.
Systems that have well-defined and
understood requirements are a good fit for
the Waterfall Model.
The waterfall model is also called is linear-
sequentional model or classic life cycle model.
BENEFITS OF WATERFALL
MODEL
Easy to understand, easy to use.
Provides structure to inexperienced staff.
Sets requirements stability.
Good for management control (plan, staff,
track)
DRAWBACKS OF WATERFALL
MODEL
 All requirements must be fully specified upfront.
Deliverables created for each phase are considered
frozen – inhibits flexibility .
 Can give a false impression of progress.
 Little opportunity for customer to preview
the system (until it may be too late).
 The customer can see the working model of the
project at the end.
WHEN TO CHOOSE IT
Requirements are very well known.
Product definition is stable.
Technology is understood.
New version of an existing product Porting
an existing product to a new platform.
PROTOTYPING MODEL
Requirement
gathering
Quick
Design
Building
Prototype
Engineering
Product
Refining
Prototype
Customer
Evaluation
Start
Stop
Prototyping Model
PROTOTYPING MODEL
 Prototype is a working model of software with
some limited functionality.
 Prototype does not always hold the exact logic
used in the actual software application.
 Prototyping is used to allow the users evaluate
developer proposals and try them out before
implementation.
 It helps get valuable feedback from the
customer and helps software designers.
BENEFITS OF PROTOTYPE
MODEL
 Increased user involvement in the product even
before its implementation.
 Quicker user feedback is available leading to
better solutions.
 Missing functionality can be identified easily.
 Confusing or difficult functions can be identified.
 Reduces time and cost as the defects can be
detected much earlier
DRAWBACK OF PROTOTYPE
MODEL
 Risk of insufficient requirement analysis owing to too
much dependency on the prototype.
 Users may get confused in the prototypes and actual
systems.
 The effort invested in building prototypes may be too
much if it is not monitored properly.
 The first version may have some compromises.
 Some time developer may make implementation
compromises to get prototype working quickly.
WHEN TO CHOOSE IT
 Software application that are relatively easy to
prototype almost always involve human-
machine interaction (HCI) the prototyping model
is suggested.
 A general objective of software is defined but
not detailed input, processing or output
requirements.
 When the developer is unsure of the efficiency
of an algorithm or the adaptability of an
operating system then prototype serves as a
better choice.
INCREMENTAL MODEL
Requirem
ent
Analysis
Design
Software
Product
Increment 1
Coding
Requirem
ent
Analysis
Design
Coding
Software
Product
Increment 2
Requirem
ent
Analysis
Design
Coding
Software
Product
Increment n
Iteration1
Iteration2
……
Iterationn
Incremental Model
INCREMENTAL MODEL
 The incremental model has some phases that
are in waterfall model. But it is iterative in
nature.
 The first increment in this model is generally a
core product.
 Each increment builds the product and submits
it to the customer for any suggested
modifications.
 The next increment implements on the
customer’s suggestions and additional
requirement in the previous increment.
BENEFITS OF INCREMENTAL
MODEL
 The incremental model can be adopted when
there are less number of people involved in the
project.
 Customers gets important functionality early.
 Lowers initial delivery cost.
 Each release is a product increment, so that the
customer will have a working product at hand all
the time.
 Requirements changes can be easily
accommodated.
DRAWBACK OF INCREMENTAL
MODEL
 Requires effective planning of iterations.
 Problems may arise pertaining to system
architecture because not all requirements are
gathered up front for the entire software life
cycle.
 Requires early definition of a complete and fully
functional system to allow the definition of
increments.
WHEN TO CHOOSE IT
There is a need to get the basic
functionality delivered fast.
 A new technology is being used.
Resource with needed skill set are not
available.
The domain is new to the team.
SPIRAL MODEL
SPIRAL MODEL
 The spiral model is similar to the incremental
model , with more emphasis placed on risk
analysis.
 Each loop in a spiral represents a development
phase.
 Each loop has four sections or quadrants.
 The spiral model is dived in to a number of
framework activities. The frame work activities
are denoted by task regions.
BENEFITS OF SPIRAL
MODEL
 High amount of risk analysis hence, avoidance
of risk is enhanced.
 Strong approval & documentation control.
 Changing requirements can be accommodated.
 Good for large and mission-critical projects.
 Software is produced early in the software life
cycle.
DRAWBACK OF SPIRAL
MODEL
 Can be a costly model to use.
 Management is more complex.
 Not suitable for small or low risk projects and
could be expensive for small projects.
 Process is complex.
 Spiral may go on indefinitely.
 Large number of intermediate stages requires
excessive documentation.
WHEN TO CHOOSE IT
 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
 Requirements are complex
 New product line
 Significant changes are expected (research and
exploration).
Thank
You

More Related Content

SDLC MODEL

  • 2. SDLC MODEL A framework that describes the activities performed at each stage of a software development project.
  • 3. SDLC PHASES  Requirements Gathering and Analysis  Design  Development  Testing  Implementation  Maintenance
  • 4. SDLC MODEL To help understand and implement the SDLC phases various SDLC models have been created software development experts, universities, and standards organizations.
  • 5. REASONS FOR USING SDLC MODEL Provides basis for project planning, estimating& scheduling. Provides framework for standard set of terminologies, activities & deliverables. Provides mechanism for project tracking and control. Increases visibility of project progress to all stakeholders.
  • 6. ADVANTAGES OF CHOOSING AN APPROPRIATE SDLC Increased development speed. Increased product quality. Improved tracking & control. Decreased project risk. Decreased project management overhead.
  • 7. COMMON LIFE CYCLE MODELS Waterfall model. Prototype model. Incremental Model. Spiral model.
  • 8. WATERFALL MODEL Requirement Design Implementation Test Maintenance  Requirement :- Defines needed information, function, behavior performance & interface.  Design :- Data structures, Software architecture, interface representation, algorithm details.  Implementation :- Source code, data base, user documentation, testing.
  • 9. WATERFALL MODEL Oldest and most well-known SDLC model. Follows a sequential step-by-step process from requirements analysis to maintenance. Systems that have well-defined and understood requirements are a good fit for the Waterfall Model. The waterfall model is also called is linear- sequentional model or classic life cycle model.
  • 10. BENEFITS OF WATERFALL MODEL Easy to understand, easy to use. Provides structure to inexperienced staff. Sets requirements stability. Good for management control (plan, staff, track)
  • 11. DRAWBACKS OF WATERFALL MODEL  All requirements must be fully specified upfront. Deliverables created for each phase are considered frozen – inhibits flexibility .  Can give a false impression of progress.  Little opportunity for customer to preview the system (until it may be too late).  The customer can see the working model of the project at the end.
  • 12. WHEN TO CHOOSE IT Requirements are very well known. Product definition is stable. Technology is understood. New version of an existing product Porting an existing product to a new platform.
  • 14. PROTOTYPING MODEL  Prototype is a working model of software with some limited functionality.  Prototype does not always hold the exact logic used in the actual software application.  Prototyping is used to allow the users evaluate developer proposals and try them out before implementation.  It helps get valuable feedback from the customer and helps software designers.
  • 15. BENEFITS OF PROTOTYPE MODEL  Increased user involvement in the product even before its implementation.  Quicker user feedback is available leading to better solutions.  Missing functionality can be identified easily.  Confusing or difficult functions can be identified.  Reduces time and cost as the defects can be detected much earlier
  • 16. DRAWBACK OF PROTOTYPE MODEL  Risk of insufficient requirement analysis owing to too much dependency on the prototype.  Users may get confused in the prototypes and actual systems.  The effort invested in building prototypes may be too much if it is not monitored properly.  The first version may have some compromises.  Some time developer may make implementation compromises to get prototype working quickly.
  • 17. WHEN TO CHOOSE IT  Software application that are relatively easy to prototype almost always involve human- machine interaction (HCI) the prototyping model is suggested.  A general objective of software is defined but not detailed input, processing or output requirements.  When the developer is unsure of the efficiency of an algorithm or the adaptability of an operating system then prototype serves as a better choice.
  • 18. INCREMENTAL MODEL Requirem ent Analysis Design Software Product Increment 1 Coding Requirem ent Analysis Design Coding Software Product Increment 2 Requirem ent Analysis Design Coding Software Product Increment n Iteration1 Iteration2 …… Iterationn Incremental Model
  • 19. INCREMENTAL MODEL  The incremental model has some phases that are in waterfall model. But it is iterative in nature.  The first increment in this model is generally a core product.  Each increment builds the product and submits it to the customer for any suggested modifications.  The next increment implements on the customer’s suggestions and additional requirement in the previous increment.
  • 20. BENEFITS OF INCREMENTAL MODEL  The incremental model can be adopted when there are less number of people involved in the project.  Customers gets important functionality early.  Lowers initial delivery cost.  Each release is a product increment, so that the customer will have a working product at hand all the time.  Requirements changes can be easily accommodated.
  • 21. DRAWBACK OF INCREMENTAL MODEL  Requires effective planning of iterations.  Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.  Requires early definition of a complete and fully functional system to allow the definition of increments.
  • 22. WHEN TO CHOOSE IT There is a need to get the basic functionality delivered fast.  A new technology is being used. Resource with needed skill set are not available. The domain is new to the team.
  • 24. SPIRAL MODEL  The spiral model is similar to the incremental model , with more emphasis placed on risk analysis.  Each loop in a spiral represents a development phase.  Each loop has four sections or quadrants.  The spiral model is dived in to a number of framework activities. The frame work activities are denoted by task regions.
  • 25. BENEFITS OF SPIRAL MODEL  High amount of risk analysis hence, avoidance of risk is enhanced.  Strong approval & documentation control.  Changing requirements can be accommodated.  Good for large and mission-critical projects.  Software is produced early in the software life cycle.
  • 26. DRAWBACK OF SPIRAL MODEL  Can be a costly model to use.  Management is more complex.  Not suitable for small or low risk projects and could be expensive for small projects.  Process is complex.  Spiral may go on indefinitely.  Large number of intermediate stages requires excessive documentation.
  • 27. WHEN TO CHOOSE IT  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  Requirements are complex  New product line  Significant changes are expected (research and exploration).