SDLC Models – Comprehensive Study Notes

Introduction to SDLC

  • Definition: The Software Development Life Cycle (SDLC) is a structured process that governs every activity from initial planning to final deployment & maintenance of software.
    • Guides planning, creation, testing, deployment, and maintenance.
  • Purpose of Using SDLC Models:
    • Provide organized frameworks → assure quality, efficiency, and goal alignment.
    • Facilitate communication among stakeholders.

Difference Between “SDLC” & “SDLC Models”

  • SDLC (Generic Framework)
    • Describes what must happen (the stages).
    • Typical phases: 11. Planning 22. Analysis 33. Design 44. Implementation 55. Testing 66. Deployment 77. Maintenance.
  • SDLC Models (Specific Methodologies)
    • Describe how each phase is executed (e.g.
    • Waterfall, Agile, Spiral, V-Model, RAD, Iterative).
    • Vary in flexibility, speed, user involvement, risk-handling.
  • Analogy
    • SDLC = blueprint for building a house.
    • SDLC Model = actual construction method (some fast, some thorough, some iterative).

Overview of Popular SDLC Models

  • Waterfall – Linear & sequential.
  • Iterative – Cyclical, repeated improvements.
  • Spiral – Risk-driven, combines iterative + Waterfall rigor.
  • V-Model – Verification & Validation focused.
  • Agile – Adaptive, collaborative, incremental.
  • RAD (Rapid Application Development) – Fast-paced, prototype-centric.

Waterfall Model

  • Key Ideas
    • First widely adopted SDLC model.
    • Step-by-step linear flow; each phase must finish completely before the next begins.
    • Output of one phase → input to the next.
  • Canonical Phases
    • Requirement Analysis → System Design → Implementation → Testing → Deployment → Maintenance.
  • Advantages
    • Simple & easy to understand (great for beginners).
    • Clear structure; each phase has specific goals.
    • Produces extensive documentation (valuable for future reference).
  • Limitations
    • Difficult to revisit earlier phases once completed.
    • Testing occurs late → defects found at the end.
    • No early working software for stakeholders.

Iterative Model

  • Concept
    • Start with a simple implementation of a subset of requirements.
    • Repeated cycles (iterations) refine & expand the product until complete.
    • Each iteration passes through Planning → Design & Development → Testing → Implementation.
  • Visualization Example
    • Build 11, Build 22, Build 33 … each build is an improved working version.
  • Advantages
    • Early delivery of functional software.
    • Frequent feedback from users after every iteration.
    • Better risk management; problems surface early.
    • Highly flexible to requirement changes.
  • Limitations
    • Potentially higher cost & timeline because of multiple iterations.
    • Requires disciplined planning to juggle versions & feedback.
    • Early architecture/design might need overhaul later.

Spiral Model

  • Essence
    • Combines iterative development with Waterfall-like systematic control.
    • Visualized as a spiral with multiple loops; each loop = one phase.
  • Loop Activities
    • Planning.
    • Risk Analysis.
    • Engineering (Development & Testing).
    • Evaluation & Feedback.
    • Each loop results in product refinement while proactively mitigating risks.
  • Advantages
    • Superior risk management—ideal for high-stakes systems (e.g.
      aerospace, medical).
    • Extremely flexible; supports evolving requirements.
    • Continuous improvement with every spiral.
    • Strong user involvement.
  • Disadvantages
    • Complex to manage; constant planning & risk analysis required.
    • Demands skilled personnel in risk assessment.
    • Higher cost overhead; not economical for small projects.

V-Model (Verification & Validation)

  • Definition
    • Extension of Waterfall; pairs every development phase with a corresponding test phase.
    • Forms a “V”: left = verification (development), bottom = coding, right = validation (testing).
  • Phase Pairings
    • Requirement Analysis ↔ Acceptance Test Design.
    • System Design ↔ System Test Design.
    • Architecture Design ↔ Integration Test Design.
    • Module Design ↔ Unit Test Design.
    • Coding at the bottom ties both sides.
  • Advantages
    • High reliability → defects caught early by associated tests.
    • Well-structured & traceable.
    • Emphasizes testing throughout, not just at the end.
  • Limitations
    • Rigid; adapting to changes mid-process is tough.
    • No early working software for users.
    • Heavy documentation burden upfront.

Agile Model

  • Definition & Mind-Set
    • Flexible, iterative, incremental; delivers value in small “sprints” of 1144 weeks.
    • Agrees with the Agile Manifesto values:
    • Individuals & Interactions > Processes & Tools.
    • Working Software > Comprehensive Documentation.
    • Customer Collaboration > Contract Negotiation.
    • Responding to Change > Following a Plan.
  • Cycle (per Sprint)
    • Planning → Requirement Analysis → Designing → Building → Testing → Review.
  • Advantages
    • Rapid, continuous delivery of working software.
    • High customer satisfaction via constant feedback.
    • Embedded quality through continuous testing.
    • Encourages tight team collaboration.
  • Challenges
    • Requires experienced, self-managing teams.
    • Scope may expand endlessly (scope-creep).
    • Documentation can be lighter; might hinder long-term maintenance.
    • Less predictability in cost & timeline.

RAD – Rapid Application Development

  • Core Idea
    • Prioritizes speed via quick prototyping & frequent user feedback rather than exhaustive pre-planning.
    • "The act of building software becomes the planning." (Planning is implicit in prototyping.)
  • Phases
    • Business Modeling – analyze information flow across business functions.
    • Data Modeling – map data objects, attributes, relationships.
    • Process Modeling – define how data is processed (add, modify, delete, retrieve).
    • Application Generation – convert models into working prototypes using tools.
    • Testing & Turnover – continuous component testing → full system testing for integration & data flow.
  • Advantages
    • Very quick development cycle.
    • Frequent user feedback shapes product.
    • Easy to incorporate changes.
    • Early detection of issues through prototypes.
  • Limitations
    • Difficult to scale to large, complex systems.
    • Requires highly engaged end-users.
    • May trade quality for speed if rushed.
    • Sparse documentation may hurt long-term support.

Laboratory Activity: Exploring SDLC Models

  • Objective: Gain hands-on experience applying various SDLC models.
  • Materials: Computers with internet, SDLC model descriptions, sample project descriptions, PowerPoint.
  • Sample Projects (selection):
    • University Course Management, Mobile Restaurant App, Non-Profit Website, E-Commerce for SMBs, Healthcare Appointment Scheduler, Online Learning Platform, Fitness Tracking App, Real Estate Listings, Event Management, Retail Inventory, Travel Booking, Book-lover Social Network, Hospital Management, Online Job Portal, Crowdfunding Platform, Restaurant Inventory & Ordering, CRM System, Smart Home Control, Tech Forum, Art Gallery Manager.
  • Instructions
    • Groups select a project description.
    • Apply the assigned SDLC model, documenting each phase (diagrams, timelines encouraged).
    • Prepare a 551010 minute presentation covering:
    • Why the chosen SDLC model fits the project.
    • Phase-by-phase plan & artifacts.
    • Anticipated challenges & mitigation strategies.

Practical & Ethical Implications Across Models

  • Quality vs. Speed Trade-off: Waterfall & V-Model optimize for thoroughness; RAD & Agile for speed.
  • Risk Management: Spiral addresses high-risk scenarios explicitly; Agile mitigates via short feedback loops.
  • User Involvement: Agile, RAD, Spiral rely heavily on active users; Waterfall offers limited early visibility.
  • Documentation Ethics: Adequate documentation ensures maintainability & transparency; lightweight approaches must balance agility with ethical duty to future teams.
  • Industry Relevance
    • Regulated domains (e.g.
      healthcare, aviation) favor models with strong verification (V-Model, Spiral).
    • Start-ups & dynamic markets lean toward Agile or RAD for rapid pivoting.

Quick Model-Selection Cheat Sheet

  • Waterfall: Stable requirements, novice teams, compliance demands.
  • Iterative: Unclear requirements but moderate risk.
  • Spiral: High-risk, high-cost, mission-critical systems.
  • V-Model: Safety-critical, strict testing/quality mandates.
  • Agile: Rapidly changing requirements, high customer involvement.
  • RAD: Need a prototype fast, testers & users readily available.