Once upon a time, software development consisted of a programmer writing code to solve a particular problem or automate a procedure. Now, systems are so big and complex that teams of analysts, architects, programmers, testers and users must work together to create the millions of lines of code that make our enterprise. To manage this we need to follow some procedures and that’s why a numbers of models have been created.
This article describes the basics of SDLC or Software Development Life Cycle, SDLC phases, SDLC models, benefits of SDCL. Summary of the article:
- What is SDLC?
- Software Development Phases
- Software Development Process Models
- Benefits of the SDLC or why we should follow SDLC
What is SDLC?
SDLC or Software Development Life Cycle is a series of steps or phase that provide a model for the development of an application or software. It is also called System Development Life Cycle. SDLC is the process that contains a series of planned activities to develop or alter the software products. Every phase of the cycle has its own process and the resulted feed is delivered to the next phase.
This term also called Software Development Process.
Software Development Phases
The software development phases are:
- Requirement Analysis
- Implementation or coding
In this phase Business requirements are gathered. Project Managers and stake holders mainly focus on this phase. Project manager, stake holders and users meeting together to determine the requirements like; Who will use the system? How will they use the system? What will be the input of the system? What will be the output of the system? These general questions are answered in this phase. After gathering requirements are analyze for their validity and the possibility of incorporating the requirements in the system.
In conclusion, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.
In this phase the System and Software Design is prepared with the help of requirement specifications which was created in the first phase. System Design helps to specify hardware & system requirements and overall system architecture. The system design specifications is created and delivered to the next phase of the model.
Implementation or coding
In this phase the software engineers start working to write code according to system design specifications. The main focus for the engineer/developer is this phase. This is the longest phase of the software development life cycle.
In this phase unit testing, integration testing, system testing, acceptance testing are done. When the code implemented or developed it is tested by some QA persons against the requirements to make sure that the product is actually solving the needs gathered during the requirements phase.
In this phase the product is delivered or deployed to the customer for their use after successful testing.
In this phase the problems form the customer comes up and solved time to time. When the customer starts to using the product the actual problems comes up and need to be solved from time to time. In this way the product grows more matured.
Software Development Process Models
At present tare several software development process models are present. Different software organizations follow different models. Each model follows a particular life cycle in order to ensure success in process of software development. It describes phases of the software life cycle and the order in which those phases are executed. Each phase produces output required by the next phase in the life cycle.
Common models are:
- Waterfall Model
- V-Shaped Model
- Incremental Model
- Iterative Model
- Spiral Model
- Prototype Model
- Agile Model
Benefits of the SDLC or why we should follow SDLC
SDLC is very important to develop a quality full product. It help us to produce cost-efficient, effective, and of high quality product. Once a product/software/application is created, the SDLC maps the proper deployment and decommissioning of the software once it becomes a legacy.
5 thoughts on “Software Development Life Cycle (SDLC)”
It is very useful and easy to understand development life cycle of software