WHAT IS SDLC ?
SDLC is a structured process from initial stage to deployment and maintanence of a software, It defines each stage of the software development typically 6 to 7 phase based on the development model
- Planning
- Analysis
- Design
- Coding
- Testing
- Deployment
- Maintenance
PLANNING:
- This stage determines whether the project is technically, financially, and operationally feasible
- The planning phase often produces an initial software requirement specification (SRS) document. The SRS details the software’s functions, required resources, possible risks and project timeline
ANALYSIS:
- During the analysis phase, the development team collects and analyzes information on the project’s requirements
- At the end of the analysis phase, project managers and development teams fully understand the scope of the project, its functional and technical specifications and how to organize project tasks and workflows
DESIGN:
- In this phase the requirement is converted to blueprint format to determine how the software flow is going to be. this involves High-Level Design (HLD) and Low-Level Design (LLD)
- Design phase work is collected in a software design document (SDD), which is passed on to developers as a roadmap to use while coding
- HLD - Defines system architecture, technology stack, database design, and major modules
- LLD - Specifies component logic, APIs, data structures, and workflows
CODING:
- In this phase developers starts to code based on the SRS and SDD which determines the coding language, integrate modules, server connection, API calls, UI are developed in this phase, often UNIT testing is also performed by developers at this stage
TESTING:
- This phase comes after the development phase once the software becomes functional, based on the SRS the testing will be conducted and ensured if the developed software meet its expected result
- Manual Testing and Automation Testing are performed during this phase
DEPLOYMENT:
- In this phase the developed software is deployed into the server and made available for the users
- Developers might deploy software in phases—such as a beta release, where a limited group of users tests an early version of the software—before releasing it to the public
MAINTANANCE:
- Post-deployment support to ensures long-term usability
- Bug fixes, performance tuning, updates, feature enhancements are the features of Maintanance phase
SDLC MODELS:
- Waterfall Model
- Agile Model
- V-Model
- Spiral Model
- Incremental Model
- RAD Model
WATERFALL MODEL:
It is a linear and sequential software development model
To forward or move to next stage previous stage must be completed
This provide structured and predictable process that works for well defined requirement
But this model is not very flexible as it does not allow backtracking and permits only minimal changes once a phase is completed
V-MODEL:
It is a method that includes testing and validation alongside each development phase. It creates a structure like the letter 'V'
This is also called as modified waterfall model and verification and validation model. In each phase of the SDLC has its own accompanying testing phase
AGILE:
The agile model runs on continuous improvement and development cycles—often called "sprints"-in which developers regularly make and release small, incremental changes
It is responsive to changing requests or requirements, enabling teams to more easily identify issues during the development process
It is more commonly used model in current SLDC
Top comments (0)