An Overview on SDLC
SDLC stands for Software Development Life Cycle. It is a model for development and lifecycle management of any software. SDLC is the theoretical framework that allows you to work within the method you would like to use for the creation of a software system. During the course of the cycle, each phase creates deliverables required by the next phase model.
The phases are sequential, with one following the other. As the phase progresses, it generates output in various formats that act as inputs for the subsequent phase.
1- Requirement Analysis
Requirement Analysis is the core phase of the model. This phase is often the focus of the stakeholders and business managers. Meetings with the stake holders, mangers and users are held together in order to determine the requirements of the business and the scope of the problem to be solved. Some of the important points covered in this phase are the ownership of the system, the proper usage of the system, and the inputs/outputs of the system.
After the requirement gathering phase, these requirements are analyzed for their validity. All possibilities of incorporating the requirements into a high performing system are also documented. Once the requirement specification document is completed, it serves as the guideline for the next phases of the model.
During this phase, the software is designed using the requirements gathered in the previous phase. The design is not a functioning system but rather a set of implementation specifications that streamline the process of development. During this phase, hardware and software requirements are analyzed and the architecture of the software is constructed.
In system design documents, the work is divided in modules or units and the actual coding could begin. This stage is the focus of the developers because of the actual production of code. The programming language is carefully selected with respect to the type of software. This is the longest phase in the whole software development life cycle.
After the implementation or code is developed, it is tested against the requirements to ensure that the product is actually fulfilling the needs addressed and gathered during the requirement phase. During this phase, unit testing, system testing, integration testing and acceptance testing are done.
After successful testing, the software is deployed/delivered to the customer usually at their premises or through a cloud based delivery system. In many case, the clients also receive training and assistance in the usage of the new system.
Once the customer start using the new system, problems and issues crop up that needs to be fixed promptly. During this phase, the development team works closely with the client to monitor the performance of the system. All bugs are identified and addressed so that after a while, the system is working effectively and efficiently without any issues.
Depending on how carefully or closely the whole process was followed, SDLC has a huge impact on the success of any project. Share your experiences and ideas about effective usage of SDLC model in your projects.