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 is a well-structured process including different activities that perform in a special sequence to develop software with full of quality, in a short time, and with a low budget.
SDLC Main Phases
Many different software processes can have different phases/activities but Some main core phases are;
- Requirement Gathering
- Requirements Analysis
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.
- Observations and many more.
Requirement Specification is a document that specifies/tells what the system should do?
Suppose we are developing a calculator, then the requirement specification of the calculator is;
- 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.
To design the interface.
Suppose we are developing a calculator, then one example of the design of the calculator is shown below;
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;
using namespace std;
cout<<"Enter 1st Number : ";
cout<<"Enter 2nd Number : ";
int sum= x+y;
5. Software Testing
To test that the software is working according to the customer requirements or not.
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
Frequently Asked Questions (FAQ) About SDLC
Question: In which phase of the SDLC is the feasibility study done?
Answer: A feasibility study is done in the requirement analysis phase of the SDLC.
Question: We draw the use case diagram in which phase of SDLC?
Answer: We draw the use case diagram in the requirement analysis phase of the SDLC.
Question: We draw the Data flow diagram (DFD) in which phase of SDLC?
Answer: We can draw and use the Data flow diagram (DFD) in the requirement analysis and design phase of the SDLC.
Question: In which phase of SDLC, We can draw the class diagram?
Answer: We can draw the class diagram in the requirement analysis or design phase of the SDLC.
Question: In which phase of SDLC, We can use the class diagram?
Answer: We can use the class diagram in the requirement analysis, design, and implementation/coding phase of a software development cycle.
Question: In which phase of SDLC, We draw the activity diagram?
Answer: We draw the activity diagram in the design phase of the SDLC.