SDLC
SDLC
User Interface (UI) design: This design phase includes planning and
creating the user interface, ensuring that it meets user requirments and
provides a positive user experience.
Maintenance and Deployment Testing Implementation
Improvement (Coding)
4 Implementation (Coding)
1 Planning This phase involves the actual coding or programming of the software based on
the design specifications. The development team writes code by following the
This phase involves defining the project scope, setting goals, estimating cost and
coding standards and guidelines.
effort, and identifying risks and benefits.
2 5 Testing
Requirement Analysis
This phase is crucial for identifying and fixing bugs or defects in the software. It
This phase focuses on functional requirements and performs solution analysis.
includes unit testing, integration testing, system testing, and user acceptance
It involves communication between stakeholders, including clients, end-users, and
testing to ensure the software functions correctly and meets requirements.
developers, to collect and document project requirements.
6 Deployment
Design
This phase involves creating a blueprint for the software, specifying how different Once the software has been thoroughly tested and approved, it is released or
components will interact. After the completion of the design specification, all deployed to the production environment for end users.
stakeholders will examine the plan and offer their feedback and suggestions.
The design phase in the SDLC typically encompasses several of the design types, but
generally, the following types of design activities are conducted: 7 Maintenance and Improvement
System design: This design phase often includes high-level system design, where This phase involves ongoing maintenance and support for the software. It
the overall architecture and components of the system are defined. This phase lays includes fixing bugs, addressing issues, and implementing updates or
the foundation for subsequent detailed design activities. enhancements as needed throughout the software’s lifecycle.
Software Development Life Cycle (SDLC)- CS101
WATERFALL MODEL ITERATIVE / INCREMENTAL MODEL
Iteration n
Iteration 1
Iteration 2
Design Analysis Analysis Analysis
Deployment
Software Software
Product Product Software
Product-Final
Maintenance Increment 1 Increment 2
This is a linear and sequential model where progress is seen as flowing steadily
downward through several phases, such as requirements, design, implementation, In this model, the software development process is divided into small iterations or
testing, deployment, and maintenance. Once a phase is completed, the development increments, with each iteration building upon the previous one. Each iteration
process moves to the next phase. typically includes planning, design, implementation, and testing phases.
System
System Req.
Integration
Specification
Testing
Ve
e
as
rifi
Design Testing
tio
ion
n
at
Ph
lid
as
Design Testing
Coding Review and plan for the next phase Develop the next version of the product
The V-Model is an extension of the waterfall model, where each development stage The spiral model combines elements of both the waterfall and iterative models. It
corresponds to a testing phase. The left side of the “V” represents the development includes repeated cycles of planning, risk analysis, engineering, testing, and evaluation
phases, and the right side represents the testing phases. of each iteration. This model is particularly useful for large and complex projects.
Software Development Life Cycle (SDLC)- CS101
AGILE MODEL
1 6
Requirements Review
Design Deployment
Agile
2 Development 5
3 4
Development Testing
Agile is an iterative and incremental model that emphasizes flexibility and customer satisfaction. It involves collaboration among cross-functional teams and encourages
adaptive responses to changes throughout the development process. Scrum, Kanban, and Extreme Programming (XP) are popular frameworks within the Agile methodology.