follow to develop a working solution.
There are five key stages:
● The problem is defined and understood clearly.
● The inputs, processes, and outputs (IPO) are identified.
● Abstraction = removing unnecessary details to focus only on what
matters.
● Decomposition = breaking a large problem into smaller sub-problems.
● A requirements specification document is created.
✩ For example, If designing a school attendance system, analysis identifies:
- Input: student ID, date
- Process: mark presence or absence
- Output: daily attendance report
The logic and structure of the solution are designed before coding.
Tools used:
● Pseudocode – structured English representation of logic
● Flowcharts – diagrams using shapes and arrows
● Structure charts – hierarchical breakdowns of sub-systems
Each part must be simple, clear, and testable.
Data structures (arrays, files) are also chosen here.
, Translating the design into a real programming language such as Python, Java, or VB.
● Code should be modular, well-commented, and readable.
● Iterative testing is done — the program is tested, errors are corrected, and
testing is repeated until the program works properly.
Testing ensures that the program works correctly under all possible conditions.
● Normal data: typical values expected by the program
● Abnormal data: invalid data that should be rejected
● Extreme or boundary data: at the limits of acceptable ranges
Testing is essential after every stage (unit, integration and system testing).
After release, the program may need:
● Corrective maintenance – fixing bugs not found earlier
● Adaptive maintenance – updating the program for new systems
● Perfective maintenance – adding new features or improving performance