CSS Prepare

optional · CSS study notes

Software Evolution

CSS CS Optional — Paper-I, Section-B, Topic V.

🔑 Definition

  • Change is continuous and inevitable, not just corrective.
  • Broader lens; maintenance = day-to-day activity within it.

📌 Lehman's Laws (name 2)

  • Continuing Change — active system must keep changing, or it becomes less useful.
  • Increasing Complexity — structure gets more complex unless work is done to reduce it.

📌 Staged Model (full lifecycle)

  1. Initial development — first working version
  2. Evolution — active feature/adaptation period
  3. Servicing — minor fixes only, no new development
  4. Phase-out — system withdrawn, replaced

⚠️ MCQ Trap

  • Evolution = broad, continuous-change lens across whole life.
  • Maintenance = day-to-day corrective/adaptive/perfective/preventive activity.
  • Not interchangeable synonyms in a "distinguish" question.

📜 Past-Paper Questions & MCQs (CSS 2016–2026)

MCQs

2025 P-I · Q8. What is meant by refactoring code in SDLC?

  • (A) To modify the functionality of the software
  • (B) To improve the code quality ✅
  • (C) To find out bugs in the software
  • (D) None of these
  • Answer: (B) To improve the code quality.
  • Why: refactoring restructures existing code (clearer names, less duplication) without changing what it does, so it is easier to maintain. Changing functionality is a feature change, and finding bugs is testing or debugging.