Introduction to Software Development Life Cycle (SDLC) Phases & Models

Methodology Overview

SDLC stands for Software development life cycle. It is a process that describes how to develop, design and maintain the software project ensuring that all the functional & user requirement, goals and objective are met. This methodology improves the quality of the software project and over all process of software development.

The figure shows various stages of typical SDLC

Software-Development-Life-Cycle

Different stages of SDLC

Requirement Gathering & Analysis phase: – 1st and important phase of SDLC for the success of software. This phase includes communication between project stakeholders, end users and project team, as requirements (both Functional & non functional) are being gathered from clients. This phase of SDLC includes:-

  • Functionally and financially feasibility analysis.
  • Identify and capture requirements from stakeholder through client interviews, surveys etc
  • Clearly defining and documenting requirements in SRS (software requirement specification document) which consist of all the product requirements to be developed.
  • Creating prototypes of project, to show end user that how will project look like. Performed with the help of tools like Azure etc.

Design phase: – In design phase of SDLC, based on requirement captured in SRS, architecture design is proposed for project and captured in design document. This phase of SDLC includes:-

  • Partition of requirements into hardware & software system.
  • Designing system architecture
  • Creating UML diagrams (Use cases, class diagram, sequence diagrams and Activity diagram)

Developments Phase: – This is the longest phase of SDLC as in this phase of SDLC actual project is developed and build. This phase of SDLC includes:-

  • Actual code gets written.
  • Demonstration of work accomplished to Business analyst for future modification as per requirement.
  • Unit testing is performed i.e. verification of code as per requirements.

Testing phase: – The testing strategy is involved in almost all stages of SDLC. However this phase of SDLC refers to the only testing of system where bugs/defect of the system are reported, tracked and fixed. The system/project is migrated to a test environment and different type of testing is performed like functional, integration, system and acceptance. This is performed until the project reaches the quality standards as specified in SRS. This phase of SDLC includes:-

  • System is tested as a whole
  • Different type of testing to report & fix bugs.

Deploy & Maintenance phase: – In this phase of SDLC, once the system is tested, it is ready to go live. The system may be first released for limited user, and tested in real business environment for UAT (user acceptance testing).This phase of SDLC includes:-

  • System is ready to be delivered.
  • System is installed and put into use.
  • Correction of errors that were not caught before.
  • Improving system and ultimately enhanced system in data center.

SDLC Models

There are various SDLC models that are defined and designed to follow in software development process. These models are also called as Software development process models. Each model follows a series of steps ensuring the success of the project. Following are the list of most popular SDLC models used for software development:-

  1. Waterfall Model
  2. Iterative & incremental Model
  3. Spiral Model
  4. Agile development
  5. Rapid Action development (RAD) model