Software Design

FBS Framework

The Function-Behaviour-Structure Framework has the following elements.
function (F)
The set of functions expressing the requirements and objectives that must be realized by the object.
structure (S)
Describes the components of the object and their relationships.
expected behaviour (Be)
The set of expected behaviours to fulfill the function F.
structure behaviour (Bs)
The set of behaviours the structure S exhibits.
description (D)
The description of the design, giving all the information to build the object, and what more there is to know about the design.
The above elements are connected in the framework by processes as shown in the figure below.
The FBS framework
formulation (F → Be)
Transforming the function F into behaviour that is expected from the object.
synthesis (Be → S)
Transforming the expected behaviour into a solution intended to exhibit this behaviour.
analysis (S → Bs)
Deriving of the actual behaviour from the synthesized structure.
evaluation (Be ↔ Bs)
Comparing the behaviour derived from the structure with the expected behaviour.
documentation (S → D)
Producing the design description for the constructing or manufacturing of the object.
In addition the framework contains reformulation processes that are carried out, based on the outcome of the evaluation of behaviours.
structure reformulation (S → S)
Changing of the structure in order to obtain a behaviour that is more in line with the expected behaviour.
behaviour reformulation (S → Be)
Adjusting of the expected behaviour that fits the required function and is more in line with the behaviour of the structure.
function reformulation (S → F)
Changing of the function due to a better insight in the problem.


Although it is possible that through the reformulation processes this framework allows for some form of refinement. But the refinements are then only implicit in the framework. For a thorough understanding and execution of the design process it is better to make at least some refinement steps explicit in the design process.


As with refinement, there is no explicit composition in the design process.