Suppose an organization has the functional decomposition (greatly simplified for discussion purposes) illustrated in Table 1.
Three of these techniques are Entity Relationship Diagramming, Functional Decomposition, and Interaction (CRUD) Analysis.
The Functional Decomposition identifies the functional data needs.
After having applied the functional decomposition
technique to various systems, we have discovered that not one model exists that fits all.
This is a kind of functional decomposition, but now we choose the lowest level in the function refinement tree, that of atomic system transactions where each transaction consists of a conceptually atomic event-response pair.
Unlike functional decomposition, it does not group event-response pairs into more abstract functions, but it groups them according to the device that originates the event.
In general, this includes the levels of functional decomposition and the major interfaces among components at these levels.
bottom-up integration guided by the functional decomposition tree
These three options are essentially on a grey scale from top-down functional decomposition which is process-driven, through Jackson Structured Development (JSD) to object-oriented decomposition.
In functional decomposition, procedures and algorithms are uppermost in the designer's mind.
While the solution looks like a traditional, top-down functional decomposition
, the book also advocates a "middle-out" approach based on Essential Systems Analysis , and an interpretation of dataflow diagrams where each bubble represents the system response to an event.
In order to bridge this gap, I-Logix has developed a bridge based on the XML based Model Interchange (XMI) standard which maps functional decomposition
based systems design to object-oriented software development for the embedded systems market.