Top-down design is based on the principle of decomposition. Decomposition breaks down complex systems into a hierarchical structure of simpler parts. It is this hierarchy that enables us to understand, describe, and design these complex systems.Functional decomposition, as described below, is the most well known decomposition method.
Functional decomposition consists of the following steps:
1. Define the system context. This high-level view describes what is part of the system and what is external. This view also describes what information flows to and from the system under design.
3. Refine the descriptions of these high-level functions by breaking them into smaller more specific sub-functions, each of which may also be decomposed.The decomposition process makes the system description easier to understand because it starts from major system functions before it describes details. The decomposition also ensures that the role of each of the identified sub-functions is clear and distinct from the other identified sub-functions, and that the function is described totally by the identified sub-functions.
Avoid Bottom-up design as this seldom results in a good system design. Bottom-up is indicative of a lack of strategic thinking and overall understanding of the system, and ends up forcing a particular implementation on the system that may be far from optimal.
However, one level of Bottom-up expansion is useful, and indeed recommended, in creating the specification. That is, based on the context diagram, the engineers should expand one level higher in the system /network to gain a better understanding of the overall system and clarify the role of the System Under Design. Because this higher level view is not part of the specification, it is not necessary to make a detailed model but just enough to ensure that the engineers fully understand their role in the overall operation.
This single level of Bottom-up expansion will assist in preparing the design for the closed loop analysis (refer to System Validation) by getting the Properties definitions at the correct level in the hierarchy.