Computer Programming Software Terms, Glossary and Dictionary
Top-down design, in contrast to the bottom-up design, is one of the software design strategies. In the top-down design approach, an overview of the system is formulated, without going into detail for any part of it. Each part of the system is then refined by designing it in more details. Each new part may then be refined again, defining it in yet more details until the entire specification is detailed enough to validate the model. The top-down model is often designed with the assistance of "dark boxes" that make it easier to bring to fulfillment but insufficient and irrelevant in understanding the elementary mechanisms. This approach to software design probably originated at IBM, and grew out of structured programming practices.