The software development life cycle (SDLC) is a process which is used to develop software. SDLC is a step by step procedure need to be followed by the organization to design and develop a high quality product. The phases of software development life cycle are which describes that how to develop, maintain particular software. The life cycle aims to develop a good quality product/software. SDLC produces intermediate products that can be reviewed to check whether they work according to customer requirement.
- SDLC is also known as Software development process.
- SDLC is an approach creates considerable documentation where this documentation helpful to make sure that requirement can be traced back to stated business requirements.
- It is a framework which has a set of tasks performed at each phase in the software development process.
SDLC is a step by step procedure or systematic approach to develop software and it is followed within a software organization. It consists of various phases which describe how to design, develop, enhance and maintain particular software.
It consists of various phases like requirement, feasibility study, design, coding, testing, installation and maintenance.
Phase 1: Requirement collection and analysis:
In this phase mainly focus on gathering the business needs from the customer. Business Analyst collects the requirement from the customer and prepares the BRS (Business requirement Specification) which has the requirement in the business form. Then a group (BA, Project managers and customers) of people sits together and determines the requirements like; what should be input data to the system? Who is going to use the system? What should be output data by the system? These questions are getting answered during this phase. After this, a Requirement Specification document is created which gives the guideline for the upcoming phase of the model.
Phase 2: Feasibility study:
Once the BRS document is completed, a set of people like Human Resource department, Finance department, Business analyst, Architect and Project manager are sit together and analyze if the project is do able or not. This decision is taken based on the cost, time, resources and etc.
Phase 3: Design:
In this phase system design specification is prepared from the requirement document once the project is feasible, this design specification give input for the next phase of the model. Design is a blue print of the application and it helps in specifying hardware and requirements of the system and helps in defining architecture of the system.
Phase 4: Coding:
Once the system design document is ready, in this phase developer’s starts writing the code using any programming language i.e., they start developing the software. Generally task is divided in units or modules and assigned to the developers and this coding phase is the longest phase of SDLC.
Phase 5: Testing:
Once the software is ready and is deployed in the testing environment, test engineers starts testing, if the functionality of an application is working according to requirement or not. During this phase test engineers may encounter some bugs/defects which need to be sent to developers, the developers fix the bug and sent back to test engineers for testing. This process continuous until the software is bug free/stable/working according to the requirement.
Phase 6: Installation/Deployment:
Once the product developed, tested and works according to the requirement it is installed / deployed at customer place for their use.
Phase 7: Maintenance:
When the customers starts using the software they may face some issues and needs to be solved from time to time means need to fix those issue, tested and handed over back to the customer as soon as possible, which is done in the maintenance phase.
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
In the next chapter, we will explore the Waterfall model