-It is a programming techniques that assumes the disciplined use of a few coding structures and the use of top down concepts to decompose main functions into lower level components for modular programming.
-The main aim of this technique is to improve the programming process through better organization and with better programming notations to facilitate correct and clear description of data and control structures.