Introduction & SDLC · Software Engineering

Software Development Life Cycle

Watch lectures

Software Development Life Cycle (SDLC)

Definition

The SDLC is a structured sequence of phases that a software project follows from initial conception to final deployment and maintenance, providing a framework for planning and controlling development.

Standard Phases

  1. Requirement Analysis — gather and document what the system should do
  2. Design — plan the system architecture, modules, data structures, interfaces
  3. Implementation (Coding) — translate design into actual code
  4. Testing — verify and validate the software against requirements
  5. Deployment — release the software to the production/user environment
  6. Maintenance — fix bugs, add features, adapt to changes post-release
Requirements → Design → Implementation → Testing → Deployment → Maintenance

Why SDLC Matters

  • Provides a common, shared roadmap for the whole team
  • Enables planning, estimation, and tracking of progress
  • Ensures quality checkpoints at each phase
  • Reduces risk of the software crisis symptoms (missed deadlines, poor quality)

SDLC Models (covered as separate topics in this module)

Model Nature
Code-and-Fix No formal phases
Waterfall Sequential, phase-gated
Evolutionary Iterative refinement
Incremental Built and delivered in increments
Prototyping Build throwaway model first
Spiral Risk-driven, iterative
RUP Iterative, UML-based
RAD Fast, component-based
Agile Iterative, flexible, customer-collaborative

Each model organizes these same core phases differently — choice of model depends on project size, requirement clarity, risk, and timeline.


Exam tip: Always draw the 6-phase linear diagram first, then explain that different SDLC "models" are just different arrangements/orderings of these same phases.

Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.

← All Software Engineering modules