Flipkart

Sunday, 18 June 2017

SDLC (Software Development Life Cycle)

What is SDLC (Software Development Life Cycle)?


  • It is a procedure to develop the software.
  • It is a process of creating or altering systems and the models and methodologies that people use to develop these systems.
  • Any SDLC should result in a high quality system that meets or exceeds customer expectations, reaches completion within time and cost estimates, works effectively and efficiently and is inexpensive to maintain and cost effective to enhance.
  • Different procedures / models are available to develop a software namely,

1) Waterfall model
  • It is a traditional model.
  • It is a sequential design process, often used in SDLC, in which the progress is seen as flowing steadily downwards (like a waterfall), through the different phases as shown in the figure,
  • Figure
Requirements Collection :-
  • done by Business Analysts and Product Analysts
  • gathering requirements
  • translates business language into software language

For ex, let us consider the example of a banking software.

Feasibility Study :-
  • This Process is done by software team consisting of project managers, business analysts, architects, finance, HR, developers but not testers.
  • Architect – is the person who tells whether the product can be developed and if yes, then which technology is best suited to develop it.
    -here we check for,
     technical feasibility, financial feasibility,resource feasibility.
Design :-
  • There are 2 stages in design,
                                                   
  • 1. HLD – High Level Design, 2. 
    LLD - Low Level Design
  • HLD – gives the architecture of the software product to be developed and is done by architects and senior developers.
    For ex, let us consider the example of building a house.
  • LLD – done by senior developers. It describes how each and every feature in the product should work and how every component should work. Here, only the design will be there and not the code.
Coding / Programming :-

  • This Process is done by all developers – seniors, juniors, freshers
  • This is the process where we start building the software and start writing the code for the product.
Testing :-
  • This Process is done by test engineers
  • it  is the process of checking for all defects and rectifying it.


Installation :-
  • This Process is done by installation engineers
  • to install the product at a client’s place for using after the software has been developed and tested.
  • For ex, consider the example of a software to be developed and installed at Reliance petrol bunk.

Maintenance:-

  • here as the customer uses the product, he finds certain bugs and defects and sends the product back for error correction and bug fixing.
  • bug fixing takes place