Often used to help understand the various parts of business processes, functional decomposition is commonly a part of project planning, analysis and design. Business operations may be more clearly understood when a hierarchal chart called a functional decomposition diagram lists the various functions of a business from the top down. The numbers of levels business functions can be broken down into generally depend on the complexity and size of the operation. Such analysis can be performed for knowledge representation, often used in artificial intelligence applications, as well as during database normalization to organize information.
The structure of information in machine learning is often developed with functional decomposition. Bayesian networks, which typically graph probabilities based on random variables, can decompose information between connected details based on cause. The most important details of a system are generally listed first, while the connected subsets are each listed in each subsequent level. If a function is dependent on another, then both are said to be coupled. A loose coupling typically means that one function can be changed without having much effect on the next one.
When alterations to one function directly change others, it is called cohesion. The functions that have high cohesion are usually tied to a single objective; therefore the process may be more convenient to understand. When functional decomposition is performed well, then there is usually a helpful understanding of how the processes in a system correlate. The individual units of the diagram can also identify the details and requirements unique to each function, while errors can be found in a particular area so they are not reflected throughout the system.
Understanding the operation of an organization is sometimes prevented when functional decomposition is performed incorrectly or inefficiently. Overlapping processes and functions in particular are sometimes problematic in this case, which can make the purpose of some business units unclear; the connections between one process and another may be complicated as well. Functional decomposition is usually best implemented when organized meetings are held with the appropriate business associates.
Block diagrams for systems engineering are often created using functional decomposition. Functions and components of electronic appliances, for example, can be exchanged within graphical blocks to create an analysis when modifying the system. Computer programming is another application of functional decomposition, which is often used to break down processes into manageable components. Similar methods are sometimes used in statistics, especially when some variables in a mathematical model interfere with others.