Nassi-Shneiderman Diagram (NSD)

Nassi-Shneiderman diagram (NSD) is a graphical representation (structogram) for structured programs.

Nassi-Shneiderman diagrams (NSD) offer a structured approach to software design, emphasizing clear, logical flow without the need for traditional line connectors, unlike flowcharts that rely heavily on them for depicting program flow. NSDs excel in presenting algorithms through nested structures, making complex decision-making processes easier to understand at a glance. This contrasts with Unified Modeling Language (UML) diagrams, which offer a broader suite of diagram types for various aspects of software design but may not provide as intuitive a method for visualizing algorithmic logic. NSDs are particularly useful for educational purposes and in scenarios where the hierarchical representation of processes is crucial.

NSD Symbols

The Nassi-Shneiderman diagram offers elements for all the basic blocks in structured programming:

• Function - represents a program, function, or procedure. It includes other blocks.
• Process - represents the simplest unit, a single step in an algorithm. This element cannot contain any other nested elements.
• Condition (Branch) - represents a block that offers multiple conditional execution blocks. The basic form of Condition element offers two parts - true (condition is fulfilled) and false (condition is not fulfilled, else branch). This condition block can represent the if-then-else condition. The element can also include more than two parts - value1, value2 ... valueN, and otherwise. In this configuration, the Condition element may be used for select/switch statements with multiple choices. The conditional branches are displayed side by side horizontally.
• Loop - represents a block that is executed repeatedly while the condition is fulfilled. The condition test may be done before or after the execution block. The Loop element can include other nested elements that represent the loop body.
• Concurrent - the block represents a parallel execution. The parallelly executed blocks are placed side by side horizontally.

Nassi-Shneiderman Diagram Cheat Sheet

The following picture shows the overview of symbols that can be used to build an NSD chart:

Nassi Shneiderman Diagram (NSD) Overview