Software Development
Life Cycle (SDLC)
Jayesh Buwa
GlobalTech Solutions,
Nashik
Software Development Life
Cycle
 Systems development life cycle (SDLC)
Provides overall framework for managing
systems development process
 Two main approaches to SDLC
Predictive approach – assumes project can
be planned out in advance
Adaptive approach – more flexible,
assumes project cannot be planned out in
advance
 All projects use some variation of SDLC
SDLC Architecture
Working of SDLC
 Systems analysis, requirements definition: Defines project
goals into defined functions and operation of the intended
application. Analyzes end-user information needs.
 Systems design: Describes desired features and operations
in detail, including screen layouts, business rules, process
diagrams, pseudo code and other documentation.
 Development: The real code is written here.
 Integration and testing: Brings all the pieces together into a
special testing environment, then checks for errors, bugs and
interoperability.
 Acceptance, installation, deployment: The final stage of
initial development, where the software is put into production
and runs actual business.
 Maintenance: What happens during the rest of the software's
life: changes, correction, additions, moves to a different
computing platform and more. This is often the longest of the
stages.
Working of SDLC (Cont.)
SDLC Model
 A framework that describes the activities
performed at each stage of a software
development project.
 There are various software development
approaches defined and designed which
are used/employed during development
process of software, these approaches
are also referred as "Software
Development Process Models".
Waterfall Model
Waterfall Strengths
 Easy to understand, easy to use
 Provides structure to inexperienced
staff
 Milestones are well understood
 Sets requirements stability
 Good for management control (plan,
staff, track)
 Works well when quality is more
important than cost or schedule
Waterfall Deficiencies
 All requirements must be known upfront
 Deliverables created for each phase are
considered frozen – inhibits flexibility
 Can give a false impression of progress
 Does not reflect problem-solving nature of
software development – iterations of
phases
 Integration is one big bang at the end
 Little opportunity for customer to preview
the system (until it may be too late)
When to use the Waterfall
Model
 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.
V-Shaped SDLC Model
Incremental SDLC Model
Spiral SDLC Model
Other Models
 COCOMO Model
 Rapid Application Development (RAD)
 Phased Model
 Prototyping SDLC
 Throwaway Prototyping Model
Some Agile Methods
 Adaptive Software Development (ASD)
 Feature Driven Development (FDD)
 Crystal Clear
 Dynamic Software Development Method
(DSDM)
 Rapid Application Development (RAD)
 Scrum
 Extreme Programming (XP)
 Rational Unify Process (RUP)
Strength & Weakness of
SDLC
Strength
 Control
 Monitor Large
Projects
 Detailed Steps
 Easy To Maintain
Weakness
 Increased
Development Time
& Cost
 Rigidity
 Hard To Estimate
Project Overruns
Conclusion
 Without an SDLC Model to follow, developers
can have a free hand of developing software.
There are so many programs out there that were
created with a vision of need instead of following
a certain model.
 On the other hand SDLC will ensure everything
is laid out. Businesses will have a clear idea of
what will happen and what is expected from a
software.
 Maintenance and development of the software is
also possible since parts could be possibly be
reused in different programs.
S.D.L.C (Software Development Life Cycle.)

S.D.L.C (Software Development Life Cycle.)

  • 1.
    Software Development Life Cycle(SDLC) Jayesh Buwa GlobalTech Solutions, Nashik
  • 2.
    Software Development Life Cycle Systems development life cycle (SDLC) Provides overall framework for managing systems development process  Two main approaches to SDLC Predictive approach – assumes project can be planned out in advance Adaptive approach – more flexible, assumes project cannot be planned out in advance  All projects use some variation of SDLC
  • 3.
  • 4.
    Working of SDLC Systems analysis, requirements definition: Defines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.  Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.  Development: The real code is written here.  Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.  Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business.  Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more. This is often the longest of the stages.
  • 5.
  • 6.
    SDLC Model  Aframework that describes the activities performed at each stage of a software development project.  There are various software development approaches defined and designed which are used/employed during development process of software, these approaches are also referred as "Software Development Process Models".
  • 7.
  • 8.
    Waterfall Strengths  Easyto understand, easy to use  Provides structure to inexperienced staff  Milestones are well understood  Sets requirements stability  Good for management control (plan, staff, track)  Works well when quality is more important than cost or schedule
  • 9.
    Waterfall Deficiencies  Allrequirements must be known upfront  Deliverables created for each phase are considered frozen – inhibits flexibility  Can give a false impression of progress  Does not reflect problem-solving nature of software development – iterations of phases  Integration is one big bang at the end  Little opportunity for customer to preview the system (until it may be too late)
  • 10.
    When to usethe Waterfall Model  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.
  • 11.
  • 12.
  • 13.
  • 14.
    Other Models  COCOMOModel  Rapid Application Development (RAD)  Phased Model  Prototyping SDLC  Throwaway Prototyping Model
  • 15.
    Some Agile Methods Adaptive Software Development (ASD)  Feature Driven Development (FDD)  Crystal Clear  Dynamic Software Development Method (DSDM)  Rapid Application Development (RAD)  Scrum  Extreme Programming (XP)  Rational Unify Process (RUP)
  • 16.
    Strength & Weaknessof SDLC Strength  Control  Monitor Large Projects  Detailed Steps  Easy To Maintain Weakness  Increased Development Time & Cost  Rigidity  Hard To Estimate Project Overruns
  • 17.
    Conclusion  Without anSDLC Model to follow, developers can have a free hand of developing software. There are so many programs out there that were created with a vision of need instead of following a certain model.  On the other hand SDLC will ensure everything is laid out. Businesses will have a clear idea of what will happen and what is expected from a software.  Maintenance and development of the software is also possible since parts could be possibly be reused in different programs.