8

I learned about them in a Structured Programming course, but never saw them used thereafter either at the analysis phase or for documentation purposes. Not even for highly structured languages like Pascal (Delphi).
Does any of you actually use Nassi-Shneiderman diagrams? If yes, what tools do you use to create/maintain them?
edit:
Or have you never heard of them?

Tamara Wijsman
  • 8,259
  • 14
  • 58
  • 94
stevenvh
  • 239
  • 3
  • 8

8 Answers8

6

Heard of Nassi-Shneiderman diagrams, although I don't use them myself.

I can't help posting a link to the rejection letter that Nassi and Shneiderman received from Communications of the ACM when they first proposed the diagram:

http://www.cs.umd.edu/hcil/members/bshneiderman/nsd/rejection_letter.html

Lorin Hochstein
  • 637
  • 3
  • 13
  • 2
    Indeed a most brutal rejection letter. Wonder what that Gries guy had been smoking? – stevenvh Sep 15 '10 at 17:25
  • I think the rejection letter was bashing flow diagrams in general, claiming that structured programming makes them obsolete. To the author, this probably looked like yet another one of those flow-chart thingies. – Joey Adams Dec 31 '10 at 23:42
4

We've never used them.

Edit

Yes, I (we) have heard of them. Thanks for asking! :-)

Seriously, we just don't use them. We ususally keep the diagraming to simple flow diagrams which are generally easier to read and understand.

Walter
  • 16,158
  • 8
  • 58
  • 95
3

I've heard of them and read a few books that used them extensively. I quickly concluded that even assembly language (e.g., MIXAL in Knuth's books) was more understandable. I never had even the slightest urge to draw one (and can't recall anybody's ever having asked me to either).

Jerry Coffin
  • 44,385
  • 5
  • 89
  • 162
1

I thought they were cool when I came across the notation in the early 80s. But it's so close to normal code, and cumbersome to maintain both the diagrams and the code that I decided just using indented code was close enough for my taste.

Huperniketes
  • 2,205
  • 14
  • 17
1

I have used them. But more often I use some kind of pseudocode when designing an algorithm.

You can write pseudocode with any editor and pen/paper combination. Diagrams are often harder to edit and tend to get messy.

I still use UML diagrams for OO design. Mostly class, but sometimes state transition diagrams for classes with complex state.

Toon Krijthe
  • 2,634
  • 1
  • 21
  • 30
0

When I was first in college, one lesson we had this compare-and-constrast-various-methods-and-diagrams thing. Nassi-Schneiderman was a winner but with certain issues highlighted. Conditionals subdividing the width of the page quickly became impractical, so it was proposed we might use a representation more like that for repetition. Also, the lines and boxes seemed redundant to some degree.

Think about it, and you'll realise that what we were leaning towards was basically indented structured pseudocode, but with some limited use of drawn lines down one side to highlight the indentation - or more accurately to reinforce the pretence that it was a diagram.

0

Many years ago, when I worked for the US DOT's Transportation System Center, I was given the task of developing a Nassi-Shneiderman editor which was then used to document software designs within the department.

Personally, I never used them. I prefer to look at code.

Ferruccio
  • 449
  • 1
  • 4
  • 10
0

Yes, I used them some years ago, but in times of UML they appear a little bit old fashioned. In my opinion the Nassi-Shneiderman-Diagram is still a good diagram type to visualize a structured code block, far better than an UML-Activity-Diagram.

On the other side it might be easier to simply have a direct look into the code...

You can find a commercial tool here: http://www.easycode.de/produkte.html?&L=1

chrmue
  • 681
  • 3
  • 7
  • 8