Software Development life cycle (SDLC) and its Phases
First of all, let’s see similar names of software processes;- software development methodology
- Software development life cycle (SDLC)
- Software development process
SDLC Main Phases
Many different software processes can have different phases/activities but Some main core phases are;- Requirement Gathering
- Requirements Analysis
- Design
- Coding
- Testing
- Evolution

1. Requirement Gathering
We gather the software requirements and record the requirements in a special document(word, pdf file, etc). This document will help the next phase of requirements analysis to finalized the software requirements specification (SRS). There are many techniques to gather the requirements. For example, we can gather the requirements from the customer through interviews, questionnaires, observations, and many more. Interviews

Download Questionnaire Template and try it
- Observations and many more.
- The user can add two numbers.
- The user can multiply two numbers.
- The user can clear the screen
2. Requirements Analysis
After requirements gathering, in the requirement analysis phase, we need to do the following activities;- find the functional requirements and non-functional requirements
- Use cases
- Identify software flaws
- UML (Unified Modeling Language)Diagrams
- Data flow diagram.
- Activity Diagrams
- feasibility study
- Gantt Charts
- Software requirement specification (SRS) is built which determines the overall cost.
3. Design
To design the interface. Example: Suppose we are developing a calculator, then one example of the design of the calculator is shown below;
4. Coding/Implementation
To write the code of the software. You are very well familiar with writing code. An example of a C++ code to add two numbers is given below;
1 2 3 4 5 6 7 8 9 10 11 12 |
#include<iostream> using namespace std; int main() { int x,y; cout<<"Enter 1st Number : "; cin>>x; cout<<"Enter 2nd Number : "; cin>>y; int sum= x+y; cout<<sum<; } |
5. Software Testing
To test that the software is working according to the customer requirements or not. Example: Suppose we want to validate that the sum of two numbers is correct or not?- The user can add two numbers.

6. Software Maintenance/ Software evolution
The software code etc must be managed in such a way that if we want to update the software or to change the code, then later, it must be easy to understand and to resolve.
SDLC Methodologies/SDLC Models
There are many SDLC Models. Some important models are mentioned below;- Waterfall Model
- Incremental Model
- Iterative Model
- Agile Model
- Spiral Model
- RAD Model
- V- Model