What Is Functional Decomposition?

Functional decomposition is a method of analysis that dissects a complex process to show its individual elements. A function is a task in a process whereby decomposition refers to breaking down a process into smaller sections. Functional decomposition is used to facilitate the understanding and management of large and complex processes. Functional decomposition helps solve problems and aids in the development of business operations, computer programming, machine learning, and a variety of other fields.

Key Takeaways

  • Functional decomposition is a method of analysis that dissects a complex process to show its individual elements.
  • Functional decomposition is used to facilitate the understanding and management of large and complex processes.
  • A functional decomposition diagram contains the overall function or project and all of the necessary sub-tasks to complete the project.
  • Functional decomposition helps solve problems and aids in the development of business operations, computer programming, and machine learning.

Understanding Functional Decomposition

Functional decomposition has its origin in mathematics, where it refers to the process of analyzing the links and relationships between all the components that create a functional relationship so that the original function may be recomposed. At its essence, functional decomposition takes something complicated and simplifies it.

Also, the decomposition of a process or function into smaller sub-functions can help project managers to determine how the individual functions or tasks help to achieve the overall project's goal. Both large and small businesses use functional decomposition in their project analysis to determine whether a project is on target or if there are smaller sub-functions that are holding up the process.

Functional Decomposition Diagrams

The individual elements of the process and their hierarchical relationship to each other are commonly displayed in a diagram called a functional decomposition diagram. The diagram is shown in a top-down format illustrating a process. A functional decomposition diagram contains the overall function or task as well as the necessary sub-functions or tasks needed to achieve the overall objective.

Other common business methods for simplifying complex problems and processes include decision trees, which allow users to consider multiple possible solutions to a problem and flow charts, which show the sequence of a process.

Functional Decomposition Applications

Functional decomposition has applications in a variety of disciplines, such as systems engineering, software architecture, database theory, machine learning, knowledge representation, and signal processing. 

Practically, functional decomposition is used by engineers to describe the steps taken in the act of breaking down the function of a device, process, or system into its basic components. As a result of the analysis, a functional decomposition diagram will detail the functions–tasks and sub-tasks and how they work together. The diagram may also address any problems, as well as suggest solutions to those problems.

Functional decomposition is especially important in programming. Once a diagram has been created, coding may begin as the programmer may then work on the most basic components first and then build out an application. As such, functional decomposition helps focus and simplify the programming process. One drawback, however, is that functional decomposition can be especially labor-intensive and time-consuming.

Functional Decomposition Steps

The process of functional decomposition can be broken down into several steps. The use of a functional decomposition diagram is key to this step.

  1. Find the basic function: What is the basic task a device or process must accomplish?
  2. List the essential sub-functions: These sub-functions or sub-tasks are instrumental to the success of the basic function.
  3. List the next tier of sub-functions: These sub-functions serve the upper-level sub-functions.
  4. Inspect the diagram: If there are functions that have been omitted, add them to the diagram.