Software Development Life Cycle is a systematic approach to develop software. It creates a structure for the developer to design, create and deliver high-quality software according to the requirements of customer or end-user. It also provides a methodology for improving the quality of the desired product. The purpose of SDLC process is to provide help in producing a product that is cost-efficient and of high quality.
Stage 1: Planning of Project:
This includes making reasonable estimates of the cost and size of the software product as compared to the resources at hand.
Stage 2: Analysis & Requirement Gathering
This step includes collecting maximum information from the client about the desired product. All details and specifications of the product must be discussed with the customer. The development team analyses the requirements keeping in view the design and coding of the software. The requirements so gathered are then analyzed for their validity and the possibility of incorporating them into the software system. The aim of requirement analysis is to capture the detail of each requirement so that everyone understands how each requirement is to be worked.
Stage 3: Design
In this phase, the program developer analyses whether the software can be prepared to fulfill all the requirements of the end-user. Also, he checks that the project is financially, practically and technologically feasible for the customer. After that best design approach is selected for the product. The developer selects the program language like Java, Oracle, etc. which will be best suited for the software. It is also like the engineering representation of the product to be built.
Stage 4: Development or Implementation
It means translating the design into a computer-readable language. The development team does the actual coding based on designed software and writes unit tests for each component to test the new codes written by them. The developer may show the work done to the business analysts and the modification or enhancements may be required. This is the longest phase of SDLC.
Stage 5: Testing
This is the last phase of SDLC before the software is delivered to the customer. The job of the test team is to test the system against the requirements. The aim of a tester is to find out the gaps or defects within the system and also to verify that the software works as expected according to the requirements. It includes Unit testing, Integration testing, and System testing.
Stage 6: Deployment
Once the product is tested and ready to deploy, it is released to consumers to use. The size of the project will determine the complexity of the deployment if required. The users can be trained on, or aided with the documentation on how to operate the software. A small round of testing is also performed on production to make sure of any environmental issues and any impact of new release.
Stage 7: Maintenance
When the customers start using the developed system, the actual problems come up and need to be solved from time to time. This process where the care is taken for the developed product is known as Maintenance. The software is maintained timely by updating the code according to the changes taking place in the user end environment or technology.
The models of SDLC are the methodologies that are selected for the software development is depending on the project’s aims and goals. These models are mainly used to develop software, based on the requirement, cost, customer and time, decide which model to be followed to develop software. Each model follows sequential steps of its own type, to develop high quality software.
The types of SDLC models are:
- Waterfall Model
- Spiral Model
- Prototype Model
- Iterative model
- Agile Model