![]() |
A structure chart is produced by the conversion of a DFD diagram; this conversion is described as 'transform |
| mapping (analysis)'. |
![]() |
It is applied through the 'transforming' of input data flow into output data flow. |
![]() |
Transform analysis establishes the modules of the system, also known as the primary functional components, |
| as well as the inputs and outputs of the identified modules in the DFD. |
![]() |
Transform analysis is made up of a number of steps that need to be carried out. |
![]() |
The first one is the dividing of the DFD into 3 parts: |
![]() |
Input |
![]() |
Logical processing |
![]() |
Output |
![]() |
The 'input' part of the DFD covers operations that change high level input data from physical to logical form |
| e.g. from a keyboard input to storing the characters typed into a database. |
![]() |
Each individual instance of an input s called an 'afferent branch'. |
![]() |
The 'output' part of the DFD is similar to the 'input' part in that it acts as a conversion process. |
![]() |
However, the conversion is concerned with the logical output of the system into a physical one e.g. text stored |
| in a database converted into a printed version through a printer. |
![]() |
Also, similar to the 'input', each individual instance of an output is called as 'efferent branch'. |
![]() |
The remaining part of a DFD is called the central transform. |
![]() |
Once the above step has been conducted, transform analysis moves onto the second step; the structure chart |
| is established by identifying one module for the central transform, the afferent and efferent branches. |
![]() |
These are controlled by a 'root module' which acts as an 'invoking' part of the DFD. |
![]() |
In order to establish the highest input and output conversions in the system, a 'bubble' is drawn out. |
![]() |
In other words, the inputs are mapped out to their outputs until an output is found that cannot be traced | |
| back to its input. |
![]() |
Central transforms can be classified as processes that manipulate the inputs/outputs of a system e.g. sorting |
| input, prioritizing it or filtering data. |
![]() |
Processes which check the inputs/outputs or attach additional information to them cannot be classified as |
| central transforms. |
![]() |
Inputs and outputs are represented as boxes in the first level structure chart and central transforms as single |
| boxes. |
![]() |
Moving on to the third step of transform analysis, sub-functions (formed from the breaking up of high-level |
| functional components, a process called 'factoring') are added to the structure chart. |
![]() |
The factoring process adds sub-functions that deal with error-handling and sub-functions that determine the |
| start and end of a process. |
![]() |
Transform analysis is a step by step approach that maps a DFD with transform flow characteristics into |
| specific architectural style. These steps are as follows: |
![]() |
Step1: Review the fundamental system model |
![]() |
Step2: Review and refine DFD for the SW |
![]() |
Step3: Assess the DFD in order to decide the usage of transform or transaction flow. |
![]() |
Step4: Identify incoming and outgoing boundaries in order to establish the transform center. |
![]() |
Step5: Perform "first-level factoring". |
![]() |
Step6: Perform "second-level factoring". |
![]() |
Step7: Refine the first-iteration architecture using design heuristics for improved SW quality. |