What is SDLC?
A process by which software is conceptualized developed and maintained, This process is known as the software development life cycle.
There are seven phases of the software development life cycle:-
Phase 1:- Planning
Phase 2:- Requirements Analysis
Phase 3:- Design
Phase 4:- Implementation/coding
Phase 5:- Testing
Phase 6:- Deployment
Phase 7:- Maintenance
Example:-
The customer wants to make an invoice application, so he contacts several tech companies. After reaching out to multiple companies, He finally finds the company and meets with the project manager of the company. They discuss the terms of their agreement, sign the deal and accept the project.
Phase 1: Planning the requirement
In this phase, the Customer and project manager come together and outline the requirement of the project i.e. Invoice applications like login page, logout page, dashboard page, and user registration page.
Phase 2: Requirement Analysis
The team, including the operational team, developers, project manager, and tester, meet together in an office for a few hours to define each outline requirement and discuss more planning details. Once all the requirements have been analyzed and defined by the team, the project manager will take all the defined requirements and create a ticket in a project management system.
Phase 3: Design
Once the requirements are understood, software architects and developers can begin to design the software. The design phase includes the business rules, the user interface layouts, color schemes, system service design, database relationships, mobile aspect, supported browser, and what programming lang. to use like framework.
Phase 4: Implementation/coding
- The operation team will set up the physical hardware for the server.
- The developer starts writing the code.
- The designer will continue planning the user interface.
- The tester will analyze the requirement to start building test cases with their test plans.
Phase 5: Testing
Imagine the developer has finished coding then testers work through Software Testing Life Cycle activities to check the application for errors, bugs, and defects. The two primary activities involved in the testing phase are as follows:
- Writing test cases
- Execution of test cases
The tester makes sure all the functionalities working as expected and he tries to find as many bugs as possible, After that tester reports them into a bug tracking system which is then assigned to a developer then they'll fix the issue and assign it back to use.
Phase 6: Deployment stage
In this phase, The application is deployed to a real-life (the client’s) environment where actual users can begin operating the system.
Phase 7: Maintenance
Imagine that we've released our application and our application became so successful, We're just getting millions of login-in and registrations, So we need to maintain the server in the environment i.e. Our application must be monitored constantly the loads, stress, and everything coming on the server by so many users. So the main goal of maintenance is to modify and update software applications after delivery to correct faults and improve performance.