Nassi-Shneiderman Diagram

September 12th, 2008 at 12:44 · Filed Under At Home, Blogging, Software Development 

I came across a highly influential graphical representation method of stating algorithm while I was reading books of system analysis and design. This method is called Nassi-Shneiderman Diagram or NSD. It was developed by Isaac “Ike” Nassi and Ben Shneiderman in 1972. Isaac also helped design the Ada programming language.

Many people claimed NSD to be very easy to read and understand, especially for beginners. This is probably quite true but maintaining NSD can be a problem for system designers. Unlike flowchart, NSD lumps all the symbols into one large block and does not use connectors between the symbols.

Contrary to flowchart which uses connectors, NSD provides a better structural approach of design where Goto should be avoided in structured programming. NSD provides simplicity and a compact overview of a program that can show some relationship nicely. NSD, in particular, provides visual aid and guides thinking about nested conditional structures.

Personally, I find that NSD is useful for rapid prototyping. It is quite simple and easy to draw a conceptual design before expanding into a flowchart. Modifying a stage or symbol in NSD is rather tedious compared to flowchart. On the other hand, after a careful and thorough investigation, I find NSD most suitable for structured system analysis, design and programming. NSD was designed with structured system analysis and design in mind as mentioned in the above paragraph, it has many advantages over flowchart despite of problem maintaining it. I think it is worth to study and to use it.

Here is an example of NSD and flowchart stating an algorithm to find a summation given by the equation:

 

If S > 100, then display k and tell the user that k is in range.

Comments

Leave a Reply