What is SDLC and it's phases?

What is SDLC and it's phases?

The Software Development Lifecycle(SDLC) is a systematic process for building software that ensures its quality and correctness. It is a framework that defines tasks performed at each step in the software development process.

The SDLC defines a methodology for improving the quality of software and the overall development process.

Methodology

An SDLC model follows the following steps:

123.jpg

  • Analysis:

    During this phase, all the relevant information is collected from the customer to develop a product that meets their expectations.
  • Feasibility Study:

    Once the requirements are clearly understood, the SRS (Software Requirement Specification) document is created. This document should be thoroughly understood by the developers and also reviewed by the customer for future reference.
  • Design:

    In this phase, the system and software design documents are prepared per the requirement specification document. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues.
  • Development:

    In this phase, developers start building the entire system by writing code with the chosen programming language. In the coding phase, tasks are divided into units or modules and assigned to various developers.
  • Testing:

    In this phase, the developers try to find defects or bugs in the created software.
  • Deployment:

    In this phase, the​​ system is incorporated in a production environment.
  • Maintenance:

    In this phase, the system is updated, or new features are added to it. Hardware or software may need to be upgraded, replaced, or changed in some way to better fit the continuous needs of end-users.

Models

There are multiple software development models that are followed by various organizations. Some of these models are: -The waterfall model

  • The spiral model
  • The iterative-incremental model
  • The V-Shaped Model

Advantages of SDLC

SDLC allows a high level of documentation and management control. The developers and the rest of the team have a clear view of the project, its costs, and the work involved. The goals and products are clearly defined, ​which allows the team to establish a clear, well-thought-through path towards the final product.