SDLC describes phases that provide a model of software cycles and management. Each phase produces what’s needed for the next phase.
The phases of SDLC are:
- Requirement gathering and analysis: This phase is about focusing on stake holders and business. You must ask: who is going to use the program? how are they gonna use it? what data should be in the system?
- Desing: Based on the requirements from the previous phase, this one consists in defining the software architecture, such as the software and hardware requirements.
- Implementation/Coding: This is the most important phase and the longest one.
- Testing: In this phase you check if the product was made according to the requirements.
- Deployment: The project is delivered to the user. This is a beta testing, the user will evaluate the system and find any errors or bugs. Then the developers will debug the program and finally have the official product.
- Maintenance: Taking care of the software.
The models of SDLC are:
- Waterfall: This is the traditional model, it consists in finishing one phase to being with the next one..
- V-Shaped: Is similar to the waterfull, but focuses more in the testing phase.
- Incremental: The cycle is divided in iterations. The software development begins in the first iterarions.
- Prototyping: Consists in creating several prototypes of an application.
- Spiral: It combines the waterfall and prototyping models.
- Extreme programming (Agile): It uses the incremental model, also it is based on the collaboration of cross-functional teams.
I think developing software based on these phases is very important to create good quality projects.