SDLC

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Hans Yip
Learning Objectives

◦ Software Development Life Cycle (SDLC)?


◦ SDLC phases:
◦ Planning
◦ Analysis
◦ Design
◦ Build
◦ Test
◦ Deployment
◦ SDLC Models
SOFTWARE
DEVELOPMENT
LIFE CYCLE
(SDLC)
What is Software Development Life Cycle
(SDLC)?
◦SDLC (Software Development Life Cycle):
is a process used in the software industry to
produce software with the highest quality and
lowest cost in the shortest time.
◦SDLC consists of multiple phases describing
how to develop, maintain, replace and alter or
enhance the software.
SDLC Phases

Analysis

Planning
Design

SDLC

Deployment Build

Test
Planning Phase
◦ Input: Client proposal or requirements.
◦ Requirement analysis is the most important and fundamental phase in SDLC.
◦ It is performed by the senior members of the team with inputs from the customer,
the sales department, market surveys and domain experts in the industry. This
information is then used to plan the basic project approach and to conduct
product feasibility study in the economical, operational and technical areas.
◦ Planning for the quality assurance requirements and identification of the risks
associated with the project is also done in the planning stage. The outcome of the
technical feasibility study is to define the various technical approaches that
can be followed to implement the project successfully with minimum risks.
◦ Output: Technical Feasibility Study/Project initiation.
Analysis Phase

◦Input: Technical feasibility study and funding.


◦Project analysis: Once the requirement analysis is done the
next phase is to clearly define and document the product
requirements and get them approved from the customer or
the market analysts.
◦This is done through an SRS (Software Requirement
Specification) document which consists of all the product
requirements to be designed and developed during the project
life cycle.
◦Output: SRS (Software Requirement Specification)
Design Phase
◦ Input: SRS (Software Requirement Specification).
◦ Project design: Based on the requirements specified in SRS, usually more than one design
approach for the product architecture is proposed and documented in a DDS - Design
Document Specification.
◦ This DDS is reviewed by all the important stakeholders and based on various parameters as
risk assessment, product robustness, design modularity, budget and time constraints, the
best design approach is selected for the product.
◦ A design approach clearly defines all the architectural modules of the product along with its
communication and data flow representation with the external and third party modules (if
any).
◦ The internal design of all the modules of the proposed architecture should be clearly defined
with the minutest of the details in DDS.
◦ Based on the DDS, the internal design documents – High level design (HLD) and Detail
design (DDD) documents can be created.
◦ Output: HLD and/or DDD (Sometimes, DDD may be developed by the developers).
Build Phase

◦Input: DDD (Detail Design Document).


◦In this phase of SDLC the actual development starts and the
product is built.
◦The programming code is generated as per DDD (Detail
Design Document) during this phase. If the design is
performed in a detailed and organized manner, code
generation can be accomplished without much hassle.
◦Developers must follow the coding guidelines defined by their
organization and programming tools like compilers,
interpreters, debuggers, etc. are used to generate the code.
◦Output: Program/software.
Test Phase

◦Input: Un-tested program/software, Test plan


document.
◦This phase refers to the testing only stage of the
product where product defects are reported,
tracked, fixed and retested, until the product
reaches the quality standards defined in the SRS.
◦Output: tested program/software.
Deployment Phase

◦Input: Tested program/software, migration plan.


◦Once the product is tested and ready to be deployed it is released formally
in the appropriate market. Sometimes product deployment happens in
stages as per the business strategy of that organization. The product may
first be released in a limited segment and tested in the real business
environment (UAT- User acceptance testing).
◦Then based on the feedback, the product may be released as it is or with
suggested enhancements in the targeting market segment. After the
product is released in the market, its maintenance is done for the existing
customer base.
◦Output: Tested program/software migrated into production, and celebrate.
Software Development Models
◦Following are the most important and popular SD models:
◦Waterfall Model (SDLC model) is the oldest and most straightforward.
With this methodology, we finish one phase and then start the next. Each
phase has its own mini-plan and each phase “waterfalls” into the next. The
biggest drawback of this model is that small details left incomplete can hold
up the entire process.
◦Agile Model. The Agile SD model separates the product into cycles and
delivers a working product very quickly. This methodology produces a
succession of releases. Testing of each release feeds back info that’s
incorporated into the next version. According to Robert Half, the drawback of
this model is that the heavy emphasis on customer interaction can lead the
project in the wrong direction in some cases.
SDLC Models
◦ Iterative Model. This SDLC model emphasizes repetition. Developers create a version
very quickly and for relatively little cost, then test and improve it through rapid and
successive versions. One big disadvantage here is that it can eat up resources fast if left
unchecked.
◦ V-Shaped Model. An extension of the waterfall model, this SDLC methodology tests at
each stage of development. As with waterfall, this process can run into roadblocks.
◦ Big Bang Model. This 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.
◦ Spiral Model. The most flexible of the SDLC models, the spiral model is similar to the
iterative model in its emphasis on repetition. The spiral model goes through the planning,
design, build and test phases over and over, with gradual improvements at each pass.
◦ Other related methodologies are RAD Model, Rapid Application Development and
Prototyping Models.
Waterfall Model
Planning

Analysis

Design

Build

Test

Waterfall Model
Deployment
Agile Model

Backlog
Plan Build Test Plan Build Test Plan Build Test

Iteration 1 Iteration 2 Iteration n


Software due date
References

◦https://www.tutorialspoint.com/sdlc/index.htm

You might also like