The notation of the structure diagrams is based on a proposal by Nassi and Shneiderman from 1973, and allows the graphical representation of control structures as well as the technique of a program flow chart. Control structures are used to control the flow of an algorithm. The notation is standardized in DIN
66261. Structure diagrams according to Nassi and Shneiderman represent each elementary structure block of structured programming as a clearly recognizable individual graphic symbol. There are clear rules for the representation of a sequence, a selection and a repetition
. For practical reasons, special forms such as counting loops and multiple selections are defined as additional structure blocks.By dispensing with arrows to represent the control flow, a considerably clearer representation of algorithms is possible than with a program flow chart. The necessity to divide the graphical display area leads to the decomposition of the algorithm into sub-algorithms. Structure charts thus support the refinement technique in the planning of software systems. They offer considerably more display space for explanations and thus increase readability.
All elementary structure blocks shown in the figure
can be put together in a simple way. The result is again a manageable structure block with exactly one input and exactly one output. For the construction of assembled structure blocks there are two simple rules following the block concept:
- A structure block is lined up with another by merging the entire starting edge of the preceding structure block with the entire starting edge of the following structure block. A structural block created by such a series is called a sequence.
- Any elementary or composite structure block can then be inserted into the block fields of the elementary structure blocks to cover the edges.