What Is Software Development Lifecycle (SDLC)? - News4u95 - A Part of Your Everyday Life


Monday, December 27, 2021

What Is Software Development Lifecycle (SDLC)?

What Is Software Development Lifecycle (SDLC)?

Software Development Lifecycle (SDLC)

  • The Software Development Lifecycle (SDLC) is a process of building a good software and its life cycle 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. 
  • Software Development Lifecycle (SDLC) is a process followed for a software project, within a software organization. 

What Is Software Development Lifecycle (SDLC)?
What Is Software Development Lifecycle (SDLC)?

Stages/Phases in Software Development Lifecycle (SDLC)

  1. Requirement/Information Gathering
  2. Analysis
  3. Design
  4. Coding/Implementation
  5. Testing
  6. Maintenance
Stages/Phases in Software Development Lifecycle (SDLC)
Stages/Phases in Software Development Lifecycle (SDLC)

1. Information/Requirement Gathering

  • Business Analyst (BA) is responsible for information gathering.
  • It is a requirement gathering from customer or Client.
  • Information gathering involve business requirement specification (BRS) which is prepared by Business Analyst (BA).
  • Business requirement specification (BRS) is bridge between client and team.

Business requirement specification (BRS)

Gather requirement example: Banking project

  • Sign up page
  • Home page
  • Account info page
  • Contact page etc.

This is overall requirement gathering


2. Analysis

  • Business Analyst (BA) involves in this process and here software requirement specification (SRS) document made which is named as Software/System requirement Specification.
  • Software requirement specification (SRS) made after Business requirement specification (BRS).
  • Software requirement specification (SRS) is detailed document.

Software requirement specification (SRS)

Example: Sign up page should have Name, Number, Email, Password etc.

This is the detailed specification which shows minor units of software.

Software requirement specification (SRS) documents include:

  • Functional Flow Diagram.
  • Functional flow diagram means flow of our task.
  • This shows how relationship between each task.
  • This gives proper sequence of task.

Example: Facebook or any website

Functional Flow Diagram
Functional Flow Diagram

Function flow diagram looks like above diagram.

Overall, this functional flow diagram is actually a step wise representation of software.

Functional Requirement

Functional Requirement means attributes which are required to complete a specific function.

Now we have signup function.

For sign up, its requirements are:

  •  First name
  •  Last name
  •  Mobile number
  •  Email
  •  Password
  •  Submit button

Now for first name requirement is:

  • Name should be in characters.
  • Name should not have numbers.
  • It should not have spaces.
  • It should not have special characters.

These all kind of requirement fulfill in this phase.


  • It’s a visualization of the functionality before development of product.
  • It is created by Business Analyst (BA).
  • This gives idea to developer as how the software will look like.
  • Software requirement specification (SRS) send to all stakeholder or team.
  • When developer do coding, testers do test case design means write test cases.


3. Design

  • Based on the requirements specified in Software requirement specification (SRS) a Design Document Specification (DDS) OR Technical Design Document (TDD) is proposed and documented.
  • Here Technical Design Document (TDD) made which is divided into two levels.

Types of Technical Design Document (TDD)

  • High Level Design (HLD)
  •  Low Level Design (LLD) 


High Level Design

Low Level Design

It contains design of working of main

It includes static logic of sub module.

It includes what and how any module do

In sign up page, sign up is the main module
and the rest fields like first name, last name,
email etc. are the sub modules.

It is created by design architect

It is created by front end developer.


4. Implementation/Coding

  • Coding means programming.
  • One line of code is code.
  • Multiple line of code is called program.
  • Set of programs written by developer creates software.

Types of Developers

  • Front End Developer: UI, functionality, process are developed by the front end developer.
  • Back End Developer: Data management, Data gathering, Data security is done by back end developer.
  • Full Stack Developer: Developer who work as front end developer as well as back end developer is called full stack developer.


5. Testing

  • Testing is the process of checking completeness and correctness of the software.
  • Methods of Testing
  1. White Box Testing
  2. Black Box Testing
  3. Grey Box Testing

White Box Testing

  • White box testing is done by coder because code knowledge is required.
  • It is also called as code level testing/unit testing/clear box testing.
  • In white box testing whenever coder complete his code writing, he checks or compile code then if any bug found coder have to solve it.
  • Coder cannot send code to tester without doing white box testing.
  • Coder check or test mostly positive scenarios only.
  • White box testing has purpose to test correctness and completeness of the program.


Black Box Testing

  • Black box testing is known as system and function testing.
  • This testing is done by tester.
  • Overall functionality get checked in this type of testing.
  • Tester check internal functionality depend upon external functionality.


Tester check whenever data is sign up module got entered and users press sign up button, this button is process to store entered data. Tester check whether the data is stored correctly or not.

So here internal functionality is storing of data and external functionality is filling up data in fields and submit buttons process.

  • Tester test the positive and negative scenarios.
  • Positive scenario means if suppose we have mobile number field with 10 digit functionality then as a tester we will check field functionality by entering 10 digit number whether it works or not.
  • Negative scenario means if suppose we have mobile number field with 10 digit functionality then as a tester if we check with 9 digits or less as it should not accept or more than 10 digits.


Grey Box Testing

  • Grey box testing is a combination of both white box testing and black box testing.
  • To do grey box testing, tester need programming knowledge.
  • The role of grey box tester is whenever final software is handed over to tester. Tester check its functionality and if any fault occur in the output of function then tester does not revert system back to developer, Instead of that tester himself solve or make changes in the code. So knowledge of coding is required.


6. Deployment and Maintenance

  • Once the product is tested and ready to be deployed it is released formally in the appropriate market (on production server). Sometime product deployment happens in stages as per the organizations, business strategy.
  • Maintenance means proving service after delivery (like bugs or improvement or enhancement) of the project.
  • After delivery of any bug or enhancement occur than all comes under maintenance.
  • Maintenance involve non-technical as well as technical support.
  • Non-technical support is called as BPO.
  • Technical support is called KP.


 Read More Articles: What is Software Testing? | Objectives of Testing

No comments:

Post a Comment

Related Articles