Bottom-up and top-down design

The terms bottom-up design and top-down design are used when organizing or classifying information. The terms are also used in different fields of engineering when talking about building more complex systems.  

In this context, a top-down approach means that people look at the more general case first, and later break down the information into more specialized cases. It is also known as stepwise refinement. When designing software, people speak about decomposition, or specialization. . A top–down approach starts with the big picture, then breaks down into smaller segments. 

Bottom-up works the other way around. People first design more specialized systems, and then look what these systems have in common. The subsystems then become special cases or extensions of the more general system, and their complexity is reduced, to only handle the cases where they are different from the more general system, or where they extend it.  People speak about generalizing several components. 

When talking in a more general way, there are the concepts of deductive and inductive reasoning. Deductive reasoning starts with the more general case to the more specialized case. Inductive reasoning takes several of the more specialized  cases, and tries to find similarities or patterns, generalizing them. Still other words, which are more widely used in engineering are decomposition and aggregation. Decomposition is about looking at the parts, aggregation is about combining several of those parts.

 References 

Category:Hierarchy
Category:Engineering