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)
- Initial development — first working version
- Evolution — active feature/adaptation period
- Servicing — minor fixes only, no new development
- 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.