Home > Design Patterns > Functional Decomposition
Functional Decomposition

Functional Decomposition (Erl)

How can a large business problem be solved without having to build a standalone body of solution logic?

Problem

To solve a large, complex business problem a corresponding amount of solution logic needs to be created, resulting in a selfcontained application with traditional governance and reusability constraints.

Solution

The large business problem can be broken down into a set of smaller, related problems, allowing the required solution logic to also be decomposed into a corresponding set of smaller, related solution logic units.

Application

Depending on the nature of the large problem, a serviceoriented analysis process can be created to cleanly deconstruct it into smaller problems.

Impacts

The ownership of multiple smaller programs can result in increased design complexity and governance challenges.

Principles

N/A

Architecture

Service

Listen to the podcasts that accompany this site

Functional Decomposition: Distributed computing is based on an approach where a large problem is decomposed and its corresponding solution logic is distributed across individual solution logic units. On its own, this pattern results in the decomposition of the larger problem into smaller problems, as shown in the top part of this figure. The actual definition of solution logic units occurs through the application of subsequent patterns in this chapter.

Distributed computing is based on an approach where a large problem is decomposed and its corresponding solution logic is distributed across individual solution logic units. On its own, this pattern results in the decomposition of the larger problem into smaller problems, as shown in the top part of this figure. The actual definition of solution logic units occurs through the application of subsequent patterns in this chapter.

Related Patterns in This Catalog

Service Encapsulation

Related Service-Oriented Computing Goals

Increased Business and Technology Alignment, Reduced IT Burden