UNIT-7
Lesson Title: Program Development Life Cycle (PDLC)
Learning Objectives
By the end of the lesson, students should be able to:
• Define the Program Development Life Cycle
• Describe each stage in detail with examples
• Explain abstraction and decomposition clearly (exam-level)
• Understand the importance of design tools
• Differentiate between iterative testing and final testing
• Apply PDLC concepts to real-life and exam scenarios
Starter Activity
Scenario:
“You are asked to create a school result system. What should you do first: coding or planning?”
Discussion Outcome:
• Students may say coding → correct them
• Emphasize: planning (analysis) comes first
Introduction to PDLC
Definition
The Program Development Life Cycle (PDLC) is a systematic approach used to develop software
in a series of well-defined stages.
Why PDLC is Important
• Ensures organized development
• Reduces errors
• Saves time and cost
• Improves program quality
Stages of PDLC
1. Analysis
2. Design
3. Coding
4. Testing
5. Maintenance (mentioned for completeness)
Stage 1: Analysis (Very Important)
Purpose
• Understand the problem completely
• Identify what the program must do
Requirements Specification
A detailed description of all inputs, processes, and outputs of the system.
Example
For a student grading system:
• Input → marks
• Process → calculate average
• Output → grade
Key Techniques in Analysis
1. Abstraction
Definition
Abstraction involves removing unnecessary details and focusing only on essential information
required to solve a problem.
Example
• A map shows only relevant roads
• Does not show buildings, trees, etc.
Exam Keywords
• “removes unnecessary detail”
• “focuses on important features”
2. Decomposition
Definition
Decomposition is the process of breaking down a complex problem into smaller, manageable
sub-problems.
Detailed Example
Problem: Create a school system
Break into:
1. Input student data
2. Calculate results
3. Store records
4. Display output
Each part can be solved separately
Daily Life Example (From Book Expanded)
Task: Getting dressed
• Select clothes
• Remove current clothes
• Wear new clothes
Why Decomposition is Important
✔ Simplifies complex problems
✔ Easier to code and test
✔ Allows teamwork (different parts assigned)
Common Mistakes in Analysis
Jumping to coding
Missing requirements
Not breaking problem properly
Stage 2: Design
Purpose
• Plan how the solution will be implemented
What is Produced?
• A clear structure of:
o Tasks
o Logic
o Sequence of operations
Design Tools (Very Important for Exams)
1. Pseudocode
• Written in structured English
• Easy to understand
• Shows logic clearly
2. Flowcharts
• Graphical representation
• Uses symbols:
o Oval → Start/End
o Parallelogram → Input/Output
o Rectangle → Process
o Diamond → Decision
3. Structure Charts
• Show modular design
• Break program into sub-programs
Key Concept
Design ensures:
• Programmer knows what to do
• Reduces coding errors
Exam Tip
Always mention:
• “before coding begins”
• “acts as a blueprint”
Stage 3: Coding & Iterative Testing
Coding
• Writing the actual program
• Uses languages like Python, Java
Iterative Testing (Very Important Concept)
Definition
Iterative testing means testing the program continuously during development.
Process
1. Write a small part of code
2. Test it
3. Fix errors
4. Repeat
Example
• Write input module → test
• Write calculation → test
• Write output → test
Benefits
✔ Errors found early
✔ Easier debugging
✔ Saves time later
Exam Keywords
• “tested repeatedly”
• “modules tested individually”
Stage 4: Testing (Final Testing)
Purpose
• Ensure the complete program works correctly
What Happens
• Program tested using different test data
• Checks:
o All functions work
o Output is correct
o No runtime errors
Test Data Types (Brief Introduction)
Type Description
Normal Valid input
Extreme Boundary values
Invalid Incorrect input
Key Concept
Confirms program meets requirements specification
Summary Table (High Exam Value)
Stage Key Activity Output
Analysis Define problem Requirements specification
Design Plan solution Flowcharts, pseudocode
Coding Write program Source code
Testing Check correctness Error-free program
Maintenance Improve program Updated version
Full Example (Integrated Understanding)
Problem: Calculate average marks
Analysis
• Input: marks
• Process: average
• Output: result
Design
• Pseudocode written
Coding
• Program written in Python
Iterative Testing
• Test each step
Final Testing
• Test with different inputs
Common Exam Mistakes
Mixing analysis and design
Not explaining abstraction clearly
Ignoring iterative testing
Writing vague answers
Exam Practice Questions
1–2 Marks
1. Define abstraction
2. What is decomposition?
3–4 Marks
1. Explain two benefits of decomposition
2. Describe the design stage
3. Explain iterative testing
6 Mark Question (High-Level)
Describe the stages of the Program Development Life Cycle
Homework
1. Define abstraction and decomposition (2 marks)
2. Describe design stage with examples (4 marks)
3. Explain iterative testing (3 marks)