Software Development Life Cycle
Nayan Banik
Overview
➢What is Software?
➢What is Software Engineering?
➢What is SDLC?
➢Stages of SDLC
➢SDLC Models
What is Software?
▪ Set of instructions (computer programs) that when executed
provide desired features, function, and performance.
▪ Can be thought of as the variable part of a computer and
hardware the invariable part.
▪ It is developed or engineered; not manufactured in the classical
sense.
▪ Divided mainly into application software and system software.
▪ Can be purchased or acquired as shareware, liteware, freeware,
public domain software and open source.
What is Software Engineering?
“The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software.”
---IEEE Standard Glossary of Software Engineering Terminology.
What is SDLC?
▪ Process used by the software industry to design, develop and
test high quality software.
▪ Aims at producing software with the highest quality and lowest
cost in the shortest time.
▪ ISO/IEC 12207 is an international standard for software life-
cycle processes.
▪ Divided into stages to ensure smooth, efficient, and productive
way of software development.
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance
▪ “What don’t we want?”
▪ Getting input from all
stakeholders, including
customers, salespeople, industry
experts, and programmers.
▪ Learn the strengths and
weaknesses of the current
system with improvement as the
goal.
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance
▪ “What do we want?”
▪ Defines the requirements of the
new software and determines
the cost and resources required.
▪ Details the risks involved and
provides sub-plans for softening
those risks.
▪ Software Requirement
Specification (SRS) document is
created.
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance
▪ “How will we get what we
want?”
▪ Starts by turning the software
specifications into a design plan
called the Design Specification.
▪ Stakeholders then review this
plan and offer feedback and
suggestions.
▪ Failure at this stage will almost
certainly result in cost overruns
at best and total collapse of the
project at worst.
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance ▪ “Let’s create what we want.”
▪ Develops the software by
generating all the actual code.
▪ The least complicated step.
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance
▪ “Did we get what we want?”
▪ Test for defects and
deficiencies.
▪ Fix those issues until the
product meets the original
specifications.
Stages of SDLC
Requirement
Analysis
Planning to
solve problems
Designing the
Product
Architecture
Building or
Developing the
Product
Testing the
Product
Deployment in
the Market and
Maintenance
▪ “Let’s start using what we got
and get this closer to what we
want.”
▪ Happens in a limited way at
first.
▪ Depending on feedback from
end users, more adjustments can
be made.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ The oldest and most straightforward
model
➢ Finish one phase and then start the
next.
➢ Each phase has its own mini-plan and
each phase “waterfalls” into the next.
➢ Drawback is that the small details left
incomplete can hold up the entire
process.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ Separates the product into cycles and
produces a succession of releases.
➢ Each release feeds back info that’s
incorporated into the next version.
➢ Heavy emphasis on customer
interaction can lead the project in the
wrong direction in some cases.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ Emphasizes repetition.
➢ Developers create a version very
quickly and for relatively little cost.
➢ Test and improve it through rapid and
successive versions.
➢ Disadvantage here is that it can eat up
resources fast if left unchecked.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ Most flexible of all the SDLC models.
➢ Quite similar to the iterative model in
its emphasis on repetition.
➢ Goes through the planning, design,
build and test phases over and over,
with gradual improvements at each
pass.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ An extension of the waterfall model.
➢ Tests at each stage of development.
➢ This process can run into roadblocks.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ It is High-risk SDLC model.
➢ Throws most of its resources at
development and works best for small
projects.
➢ It lacks the thorough requirements
definition stage of the other methods.
SDLC Models
▪ Waterfall model
▪ Agile model
▪ Iterative model
▪ Spiral model
▪ V-shaped model
▪ Big Bang model
▪ … (there are more)
➢ Rapid Application Development
(RAD)
➢ Joint Application Development (JAD)
➢ Lean Software Development (LSD)
➢ DevOps
➢ Prototype
➢ Hybrid etc.
Software Development Life Cycle
Software Development Life Cycle

Software Development Life Cycle

  • 1.
    Software Development LifeCycle Nayan Banik
  • 2.
    Overview ➢What is Software? ➢Whatis Software Engineering? ➢What is SDLC? ➢Stages of SDLC ➢SDLC Models
  • 3.
    What is Software? ▪Set of instructions (computer programs) that when executed provide desired features, function, and performance. ▪ Can be thought of as the variable part of a computer and hardware the invariable part. ▪ It is developed or engineered; not manufactured in the classical sense. ▪ Divided mainly into application software and system software. ▪ Can be purchased or acquired as shareware, liteware, freeware, public domain software and open source.
  • 4.
    What is SoftwareEngineering? “The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.” ---IEEE Standard Glossary of Software Engineering Terminology.
  • 5.
    What is SDLC? ▪Process used by the software industry to design, develop and test high quality software. ▪ Aims at producing software with the highest quality and lowest cost in the shortest time. ▪ ISO/IEC 12207 is an international standard for software life- cycle processes. ▪ Divided into stages to ensure smooth, efficient, and productive way of software development.
  • 6.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance
  • 7.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance ▪ “What don’t we want?” ▪ Getting input from all stakeholders, including customers, salespeople, industry experts, and programmers. ▪ Learn the strengths and weaknesses of the current system with improvement as the goal.
  • 8.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance ▪ “What do we want?” ▪ Defines the requirements of the new software and determines the cost and resources required. ▪ Details the risks involved and provides sub-plans for softening those risks. ▪ Software Requirement Specification (SRS) document is created.
  • 9.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance ▪ “How will we get what we want?” ▪ Starts by turning the software specifications into a design plan called the Design Specification. ▪ Stakeholders then review this plan and offer feedback and suggestions. ▪ Failure at this stage will almost certainly result in cost overruns at best and total collapse of the project at worst.
  • 10.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance ▪ “Let’s create what we want.” ▪ Develops the software by generating all the actual code. ▪ The least complicated step.
  • 11.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance ▪ “Did we get what we want?” ▪ Test for defects and deficiencies. ▪ Fix those issues until the product meets the original specifications.
  • 12.
    Stages of SDLC Requirement Analysis Planningto solve problems Designing the Product Architecture Building or Developing the Product Testing the Product Deployment in the Market and Maintenance ▪ “Let’s start using what we got and get this closer to what we want.” ▪ Happens in a limited way at first. ▪ Depending on feedback from end users, more adjustments can be made.
  • 13.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more)
  • 14.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ The oldest and most straightforward model ➢ Finish one phase and then start the next. ➢ Each phase has its own mini-plan and each phase “waterfalls” into the next. ➢ Drawback is that the small details left incomplete can hold up the entire process.
  • 15.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ Separates the product into cycles and produces a succession of releases. ➢ Each release feeds back info that’s incorporated into the next version. ➢ Heavy emphasis on customer interaction can lead the project in the wrong direction in some cases.
  • 16.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ Emphasizes repetition. ➢ Developers create a version very quickly and for relatively little cost. ➢ Test and improve it through rapid and successive versions. ➢ Disadvantage here is that it can eat up resources fast if left unchecked.
  • 17.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ Most flexible of all the SDLC models. ➢ Quite similar to the iterative model in its emphasis on repetition. ➢ Goes through the planning, design, build and test phases over and over, with gradual improvements at each pass.
  • 18.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ An extension of the waterfall model. ➢ Tests at each stage of development. ➢ This process can run into roadblocks.
  • 19.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ It is High-risk SDLC model. ➢ Throws most of its resources at development and works best for small projects. ➢ It lacks the thorough requirements definition stage of the other methods.
  • 20.
    SDLC Models ▪ Waterfallmodel ▪ Agile model ▪ Iterative model ▪ Spiral model ▪ V-shaped model ▪ Big Bang model ▪ … (there are more) ➢ Rapid Application Development (RAD) ➢ Joint Application Development (JAD) ➢ Lean Software Development (LSD) ➢ DevOps ➢ Prototype ➢ Hybrid etc.