What is Functional Flow Block Diagram (FFBD)?

Functional flow block diagram (FFBD) was developed in 1950s and is widely used in classical systems engineering. FFBD is a classic business process modeling approach, as well as flowcharts, data flow diagrams, control flow diagrams, Gantt diagrams, PERT diagrams, and IDEF diagrams. It is a multi-layer, chronological, step - by - step flow chart of system function flow.

The word "function" used in this article is different from the word "function" in functional programming or mathematics, where the pairing of "function" and "flow" is ambiguous. Here, function flow is related to the order of operations, and the Flow arrow indicates the dependence on the success of previous operations. FFBDs can also represent input and output data dependencies between function blocks, as shown below, but FFBDs focuses on sorting.

The Elements of Function flow Diagram

A function should be represented by a rectangle that contains the function title (an action verb followed by a noun phrase) and its unique decimal delimited number. As shown in Figure below, a horizontal line should separate the number from the title.

The figure also describes how to represent reference functions that provide context in a particular FFBD.

Edit this FFBD example online

Function block

Each function on FFBD shall be separated and represented by a single box (solid line). Each function needs to represent certain, finite and discrete actions completed by system elements.

Function numbering

Each level should have a consistent numbering scheme and provide information about the source of the function. These numbers establish the identification and relationships that will conduct all functional analysis and allocation activities and facilitate traceability from low-level to high-level.

Edit this FFBD example online

Flow direction

The chart should be laid out so that the flow direction is generally left to right. Arrows are usually used to indicate the flow of functionality.

And / Or Logic symbols

AND: A condition in which all preceding or succeeding paths are required. The symbol may contain a single input with multiple outputs or multiple inputs with a single output, but not multiple inputs and outputs combined (Figure below). Read the figure as follows: F2 AND F3 may begin in parallel after completion of F1. Likewise, F4 may begin after completion of F2 AND F3.

Edit this FFBD example online

OR: A condition in which one of multiple preceding or succeeding paths is required, but not all. The symbol may contain a single input with multiple outputs or multiple inputs with single output, but not multiple inputs and outputs combined (Figure below). Read the figure as follows: F2 OR F3 may begin after completion of F1. Likewise, F4 may begin after completion of either F2 OR F3.

Edit this FFBD example with our online FFBD editor

GO and NO-GO paths

“G” and “bar G” are used to denote “go” and “no-go” conditions. These symbols are placed adjacent to lines leaving a particular function to indicate alternative paths.

Customize this Functional Flow Block Diagram example online

Top-Down Decomposition of FFBD: Leveling

FFBD can develop at a range of levels. It displays the same tasks determined by functional decomposition and displays them in logical order. For example, a function can be composed by a few sub-functions as shown in the following figures:

Edit the context FFBD Edit the breakdown FFBD

(*Source: Wikipedia)

For example, we can be defined the top-level FFBD. Then, each block in the first layer diagram can be expanded into a series of functions. And in turns, these sub layer can be further decomposed into 2nd layers and so on.

Functional Flow Block Example

Edit this Functional Flow Block example

Create Professional FFBD Easily

Create functional flow block diagrams (FFBDs) and other diagrams in minutes.

Start Drawing Now