SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC) is a systematic procedure for building Software that ensures the quality and precision of the Software developed. SDLC procedure aims to produce high-quality Software that meets customer expectations.
SDLC embraces Every phase of the SDLC life cycle has its process and deliverables that feed into the next step. SDLC stands for Software Development Lifecycle.
The entire SDLC procedure divided into the following stages:
Phase 1: Requirement collection and analysis:
This stage gives a coherent picture of the scope of the entire project and the anticipated issues, opportunities, and directives that triggered it.
The requirements gathering stage needs teams to get detailed and precise requirements. This helps companies to end the necessary timeline to finalize the work of that structure.
Phase 2: Feasibility study:
Once the requirement analysis phase is finalized, the next step is to define and document software needs. This process conducted with the help of the ‘Software Requirement Specification’ document, also known as the ‘SRS’ document. It contains everything that should be designed and developed during the project life cycle.
Phase 3: Design:
In the third phase, the system and software design documents are prepared as per the requirement specification document. This helps define general system architecture.
This design phase serves as input for the next phase of the model.
There exist two kinds of design documents developed in this phase:
High-Level Design (HLD)
Phase 4: Coding:
Developers start to build the entire system by writing code using the chosen programming language.
In the coding phase, tasks are divided into units or modules and assigned to the various developers. This remains to be the most extended phase of the Software Development Life Cycle process.
Phase 5: Testing:
Once the Software is finalized and deployed in the testing environment, the testing team starts testing the entire system’s functionality.
During this phase, QA and testing team may find some bugs/defects which they communicate to developers. The development team fixes the bug and sends back to QA for a re-test. This process continues until the Software is bug-free, stable, and working according to that system’s business needs.
Phase 6: Installation/Deployment:
Based on the project manager’s feedback, the final Software is released and checked for deployment issues.
Phase 7: Maintenance:
Once the system is deployed, and customers start using the developed system, the following three activities occur.
– Bug fixing
This SDLC phase’s main focus is to ensure that needs continue to be met and that it continues to perform as per the specification mentioned in the first phase.
Popular SDLC models
The waterfall is a widely accepted SDLC model. In this approach, the whole process of software development is divided into various phases. In this SDLC model, the outcome of one phase acts as the input for the next step.
The incremental model is not separate. The requirements are divided into groups at the start of the project. For each group, the SDLC model is followed to develop Software. The SDLC process is repeated, with each release adding more functionality until all requirements are met. Modification to the incremental model allows development cycles to overlap. After that subsequent cycle may begin before the previous cycle is complete.
In this type of SDLC model testing and development, the phase is planned in parallel. So, there are verification phases on the side and the validation phase on the other side. V-Model joins by the Coding phase.
In the Agile method, the entire project is divided into small incremental builds.
The spiral model is a risk-driven process model.
The spiral methodology is a combination of rapid prototyping and concurrency in design and development activities.
Big Bang Model
The big bang model focuses on all types of resources in software development and coding, with little or no planning.
This model works best for small projects with smaller size development team which are working together.