An approach in structured program design that breaks up a general task into a series of more detailed subtasks, which are further divided until no more detail is necessary.
Pertaining to design methodology that starts with the highest level of abstraction and proceeds through progressively lower levels. See: structured design.
The process of designing a system by identifying its major components, decomposing them into their lower level components, and iterating until the desired level of detail is achieved. Contrast with bottom-up design.