Software Development Life Cycle
(SDLC)
By: Rishu
The Software Development Lifecycle is a process of building a good
software and its Lifecycle stages provides Quality and Correctness of
good software. All the stages of Lifecycle are important in itself. One
Wrong step in Lifecycle can create a big mistake in the development of
Software.
Being an Owner or stakeholder of a Software Company you must know
the development life cycle of the Software. Even your buyer may also
aware of this Lifecycle. So, Everyone wants to know that how its
development begins, which are the development process, which is the
end portion of development life cycle.
Introduction
A framework that describes the activities performed at each stage of a
software development project.
It provides a fixed generic framework that can be tailored to a specific
project.
Project specific parameters will include: Size, (person-years), Budget,
Duration
project plan = lifecycle model + project parameters
Software Development Life Cycle
We have numerous types of SDLC models like Waterfall, Agile, Spiral etc.
All this SDLC model must follow this 6 steps for developing errorless
Software. Software Development Life cycle has totaled 6 Steps. All 6
steps are mentioned in below.
1. Requirement Gathering and Analysis
2. System Analysis
3. System Design
4. Development(Coding)
5. Testing
6. Implementation
Software Development Lifecycle Phases
Requirement gathering and analysis is the first stage and major stage of
any SDLC model. This phase is basically the brainstorming phase because
it has the many sub stages for like Feasibility Analysis Stages to check
how much idea can put into action for development.
In this Stages, communication taking place between stakeholders, end
users and the project team. So, all the person which are related to the
project and they gather information for software development.
 Identify and capture stakeholder requirements using customer
interviews and surveys.
 Build multiple use cases to describe each action that a user will
take on the new system.
In that a brand new software development takes place more
requirement gathering process for development and in other already
build software not need too much information and data gathering
process.
1. Requirement Gathering and Analysis
This is the second phase of SDLC where the entire system is defined in
detail. In fact, In this stage Developer get a detailed blueprint of the
various phases of the software that developed in the project.
At this stage the system is divided into smaller parts to make it easier
more manageable for the developers, designers, testers, project
managers and other professionals who are going to work on the
software in the latter stages.
2. System Analysis
In this phase the design of the system is designed. The Design is
developed by The analysts and designers. The System analyst design the
logical design for the designers and then designer get the basic idea of
designing the software design of Front end and back end both.
The system analyst and Designer work together in designing the
software design and Designer design the best software design under the
guidance of System Analyst.
3. System Design
It is the logical part of the development process. In this phase lots of
brains are working for coding and get the final successful result for the
software. In this A team of programmers is assigned by the company to
work on the software.
The work is subdivided under a sub-phase called Task Allocation, where
each task is assigned different coder. So, the development process is
working faster.
4. Coding
By process of coding, then the final process testing is proceeding. When
the software is ready it is sent to the testing department where Quality
Analysts test it thoroughly for different errors by forming various test
cases.
Once the testing department and Quality Analyst makes sure that the
software is error-free, then it goes to the next stage. So, the testing
process is complete when all the testing module is complete.
5. Testing
This is the final phase of the software development life cycle. In this
stage, if the software runs on various systems by users or buyers. If it
runs smoothly on these systems without any flaw, then it is considered
ready to be launched.
If it generates error then it goes to Testing Department for Testing and
many coders write a new code for developers errorless Software.
6. Implementation
To help understand and implement the SDLC phases various SDLC
models have been created by software development experts,
universities, and standards organizations.
Software Development Lifecycle Models
 Provides basis for project planning, estimating & scheduling
 Provides framework for standard set of terminologies, activities &
deliverables
 Provides mechanism for project tracking & control
 Increases visibility of project progress to all stakeholders
Reasons for Using SDLC Models
 Increased development speed
 Increased product quality
 Improved tracking & control
 Improved client relations
 Decreased project risk
 Decreased project management overhead
Advantages of Choosing an Appropriate SDLC
 Waterfall
 Spiral/Iterative
 Agile
Common Life Cycle Models
Waterfall Model
 Oldest and most well-known SDLC model
 Simple, Efficient and Easy to Manage.
 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
Waterfall Model
 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 Model Strengths
 All requirements must be fully specified 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)
Waterfall Model Weaknesses
 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.
When to use the Waterfall Model
Spiral Model
 Spiral Model is a “risk-driven” iterative model
 Divides a project into iterations
 Each iteration deals with 1 or more risks
 Each iteration starts with small set of requirements and goes through
development phase (except Installation and Maintenance) for those
set of requirements.
 Iterate until all major risks addressed and the application is ready for
the Installation and Maintenance phase (production)
 Each of the iterations prior to the production version is a prototype of
the application.
 Last iteration is a waterfall process
Spiral Model
 Provides early indication of insurmountable risks, without much cost
 Critical high-risk functions are developed first
 The design does not have to be perfect
 Users see the system early because of rapid prototyping tools
 Users can be closely tied to all lifecycle steps
 Early and frequent feedback from users
 Cumulative costs assessed frequently
Spiral Model Strengths
 Time spent for evaluating risks too large for small or low-risk projects
 Time spent planning, resetting objectives, doing risk analysis and
prototyping may be excessive
 The model is complex
 Risk assessment expertise is required
 Spiral may continue indefinitely
 Developers must be reassigned during non-development phase
activities
 May be hard to define objective, verifiable milestones that indicate
readiness to proceed through the next iteration
Spiral Model Weaknesses
 When creation of a prototype is appropriate
 When costs and risk evaluation is important
 For medium to high-risk projects
 Users are unsure of their needs
 Requirements are complex
 New product line
 Significant changes are expected (research and exploration)
 Long-term project commitment unwise because of potential changes
to economic priorities
When to use Spiral Model
Agile Model
 Speed up or bypass one or more life cycle phases
 Usually less formal and reduced scope
 Used for time-critical applications
 Used in organizations that employ disciplined methods
Agile Model
 Rapid Application Development (RAD)
 Scrum
 Extreme Programming (XP)
 Adaptive Software Development (ASD)
 Feature Driven Development (FDD)
 Crystal Clear
 Dynamic Software Development Method (DSDM)
 Rational Unify Process (RUP)
Some Agile Methods
 Deliver a working product faster than conventional linear
development model
 Customer feedback at every stage ensures that the end deliverable
satisfies their expectations
 No guesswork between the development team and the customer, as
there is face to face communication and continuous inputs from the
client
Agile Model Strengths
 For larger projects, it is difficult to judge the efforts and the time
required for the project in the SDLC.
 Since the requirements are ever changing, there is hardly any
emphasis, which is laid on designing and documentation. Therefore,
chances of the project going off the track easily are much more.
Agile Model Weaknesses
THANK YOU!!!

Software development process basic

  • 1.
    Software Development LifeCycle (SDLC) By: Rishu
  • 2.
    The Software DevelopmentLifecycle is a process of building a good software and its Lifecycle stages provides Quality and Correctness of good software. All the stages of Lifecycle are important in itself. One Wrong step in Lifecycle can create a big mistake in the development of Software. Being an Owner or stakeholder of a Software Company you must know the development life cycle of the Software. Even your buyer may also aware of this Lifecycle. So, Everyone wants to know that how its development begins, which are the development process, which is the end portion of development life cycle. Introduction
  • 3.
    A framework thatdescribes the activities performed at each stage of a software development project. It provides a fixed generic framework that can be tailored to a specific project. Project specific parameters will include: Size, (person-years), Budget, Duration project plan = lifecycle model + project parameters Software Development Life Cycle
  • 4.
    We have numeroustypes of SDLC models like Waterfall, Agile, Spiral etc. All this SDLC model must follow this 6 steps for developing errorless Software. Software Development Life cycle has totaled 6 Steps. All 6 steps are mentioned in below. 1. Requirement Gathering and Analysis 2. System Analysis 3. System Design 4. Development(Coding) 5. Testing 6. Implementation Software Development Lifecycle Phases
  • 5.
    Requirement gathering andanalysis is the first stage and major stage of any SDLC model. This phase is basically the brainstorming phase because it has the many sub stages for like Feasibility Analysis Stages to check how much idea can put into action for development. In this Stages, communication taking place between stakeholders, end users and the project team. So, all the person which are related to the project and they gather information for software development.  Identify and capture stakeholder requirements using customer interviews and surveys.  Build multiple use cases to describe each action that a user will take on the new system. In that a brand new software development takes place more requirement gathering process for development and in other already build software not need too much information and data gathering process. 1. Requirement Gathering and Analysis
  • 6.
    This is thesecond phase of SDLC where the entire system is defined in detail. In fact, In this stage Developer get a detailed blueprint of the various phases of the software that developed in the project. At this stage the system is divided into smaller parts to make it easier more manageable for the developers, designers, testers, project managers and other professionals who are going to work on the software in the latter stages. 2. System Analysis
  • 7.
    In this phasethe design of the system is designed. The Design is developed by The analysts and designers. The System analyst design the logical design for the designers and then designer get the basic idea of designing the software design of Front end and back end both. The system analyst and Designer work together in designing the software design and Designer design the best software design under the guidance of System Analyst. 3. System Design
  • 8.
    It is thelogical part of the development process. In this phase lots of brains are working for coding and get the final successful result for the software. In this A team of programmers is assigned by the company to work on the software. The work is subdivided under a sub-phase called Task Allocation, where each task is assigned different coder. So, the development process is working faster. 4. Coding
  • 9.
    By process ofcoding, then the final process testing is proceeding. When the software is ready it is sent to the testing department where Quality Analysts test it thoroughly for different errors by forming various test cases. Once the testing department and Quality Analyst makes sure that the software is error-free, then it goes to the next stage. So, the testing process is complete when all the testing module is complete. 5. Testing
  • 10.
    This is thefinal phase of the software development life cycle. In this stage, if the software runs on various systems by users or buyers. If it runs smoothly on these systems without any flaw, then it is considered ready to be launched. If it generates error then it goes to Testing Department for Testing and many coders write a new code for developers errorless Software. 6. Implementation
  • 11.
    To help understandand implement the SDLC phases various SDLC models have been created by software development experts, universities, and standards organizations. Software Development Lifecycle Models
  • 12.
     Provides basisfor project planning, estimating & scheduling  Provides framework for standard set of terminologies, activities & deliverables  Provides mechanism for project tracking & control  Increases visibility of project progress to all stakeholders Reasons for Using SDLC Models
  • 13.
     Increased developmentspeed  Increased product quality  Improved tracking & control  Improved client relations  Decreased project risk  Decreased project management overhead Advantages of Choosing an Appropriate SDLC
  • 14.
     Waterfall  Spiral/Iterative Agile Common Life Cycle Models
  • 15.
  • 16.
     Oldest andmost well-known SDLC model  Simple, Efficient and Easy to Manage.  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 Waterfall Model
  • 17.
     Easy tounderstand, 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 Model Strengths
  • 18.
     All requirementsmust be fully specified 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) Waterfall Model Weaknesses
  • 19.
     Requirements arevery well known  Product definition is stable  Technology is understood  New version of an existing product  Porting an existing product to a new platform. When to use the Waterfall Model
  • 20.
  • 21.
     Spiral Modelis a “risk-driven” iterative model  Divides a project into iterations  Each iteration deals with 1 or more risks  Each iteration starts with small set of requirements and goes through development phase (except Installation and Maintenance) for those set of requirements.  Iterate until all major risks addressed and the application is ready for the Installation and Maintenance phase (production)  Each of the iterations prior to the production version is a prototype of the application.  Last iteration is a waterfall process Spiral Model
  • 22.
     Provides earlyindication of insurmountable risks, without much cost  Critical high-risk functions are developed first  The design does not have to be perfect  Users see the system early because of rapid prototyping tools  Users can be closely tied to all lifecycle steps  Early and frequent feedback from users  Cumulative costs assessed frequently Spiral Model Strengths
  • 23.
     Time spentfor evaluating risks too large for small or low-risk projects  Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive  The model is complex  Risk assessment expertise is required  Spiral may continue indefinitely  Developers must be reassigned during non-development phase activities  May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration Spiral Model Weaknesses
  • 24.
     When creationof a prototype is appropriate  When costs and risk evaluation is important  For medium to high-risk projects  Users are unsure of their needs  Requirements are complex  New product line  Significant changes are expected (research and exploration)  Long-term project commitment unwise because of potential changes to economic priorities When to use Spiral Model
  • 25.
  • 26.
     Speed upor bypass one or more life cycle phases  Usually less formal and reduced scope  Used for time-critical applications  Used in organizations that employ disciplined methods Agile Model
  • 27.
     Rapid ApplicationDevelopment (RAD)  Scrum  Extreme Programming (XP)  Adaptive Software Development (ASD)  Feature Driven Development (FDD)  Crystal Clear  Dynamic Software Development Method (DSDM)  Rational Unify Process (RUP) Some Agile Methods
  • 28.
     Deliver aworking product faster than conventional linear development model  Customer feedback at every stage ensures that the end deliverable satisfies their expectations  No guesswork between the development team and the customer, as there is face to face communication and continuous inputs from the client Agile Model Strengths
  • 29.
     For largerprojects, it is difficult to judge the efforts and the time required for the project in the SDLC.  Since the requirements are ever changing, there is hardly any emphasis, which is laid on designing and documentation. Therefore, chances of the project going off the track easily are much more. Agile Model Weaknesses
  • 30.