Top-down and bottom-up design

from Wikipedia, the free encyclopedia

Top-Down ( English from top to bottom ) and Bottom-Up ( English from bottom to top ) are approaches to program development in software technology .

In the top-down design (superstructure approach) one begins with the formulation of an overview of the system, details are neglected. Instead, the algorithm is divided into sections, and the desired functionality is initially specified in everyday language. These sections are formulated in more detail below, which initially consists of more precisely defined, smaller sections until the complete, detailed specification of the algorithm is finally achieved. The top-down approach focuses on planning and understanding the system. Code cannot be written until the system is planned in enough detail.

In contrast to this, with bottom-up design (basic approach), individual program components (e.g. functions , classes , modules ) are initially defined, and possibly even written directly. These parts are then used to assemble larger elements of the program until the complete system is created. Care should be taken to ensure that source text is created that can be used in another project at any time.

With the bottom-up method, in contrast to the top-down method, you can start programming quickly . However, this entails the risk that the combination of the code that was written was not yet thought through, which can complicate the composition of the program. Programming environments that have an extensive standard library (e.g. .NET framework) require significantly less bottom-up design than environments that provide minimal support (e.g. Forth systems ).

In modern software technology, both design techniques are mostly used in combination, because on the one hand an understanding of the entire system, as it is achieved through top-down design, is necessary, on the other hand, existing code should be reused to a certain extent (see reusability ) .

See also