Problem Solving Technique
There are two approaches to solve a problem. They are:-
1. Top down-A top down design approach starts by identifying the major components of the system, decomposing them into their lower-level components & iterating until the desired level of detail is achieved it often result into some form of stepwise refinement stating from an abstract design, in each step the design is refined to more concrete level, until we reach a level where no more refinement is needed desired & the design can be implemented directly. It is suitable only if the specifications of the system are clearly known (waterfall model). Top down approaches require some idea about the feasibility of components specified during design.
2. Bottom- up- A bottom- up design approach starts with designing the most basic or primitive components & proceeds to the higher- level components that use these lower- level components. Bottom-up methods work with layer of abstraction starting from the very bottom, operations that provide a layer abstractions are implemented .The operations of this layer are then used to implement more powerful operations & a still higher layer of abstraction, until the stage is reached in which the operations supported by the layer are those desired or required by the system. If a system is to be made from an existing system approach bottom-up is more suitable.
Here, pure top-down or pure bottom-up approaches are often not practical .A common approach to combine the two approaches is to provide a layer of abstraction for the application domain of interest by the libraries of the functions, which contain the functions of interest to the application domain.