Stepwise refinement of the Program:
The concept of “Stepwise refinement” means to take an object and move it from a general perspective to a precise level of detail and this cannot be done in one jump but in steps. The number of steps needed to decompose an object into sufficient detail is ultimately based on the inherent nature of the object. “Stepwise refinement” of program represents a "divide and conquer" approach to design. In simple words, break a complex program into smaller, more manageable modules that can be reviewed and inspected before moving to the next level of detail. Stepwise refinement is a powerful paradigm for developing a complex program from a simple program by adding features incrementally.
Some of the steps taken for refinement of a program are:
1. Analysis of the algorithm used to develop the program, and analysis of various parts of the program and then making appropriate changes to improve the efficiency of the program.
2. Keep the program simple to improve memory efficiency.
3. Evaluation and incorporation of memory compression features.
4. Debugging and testing performed first to module level and then to interface level.
5. Take care of correct working and clarity while making it faster.