1 / 35

Nassi-Shneiderman Charts

Nassi-Shneiderman Charts. Andrea Schumacher. Background. Nassi-Shneiderman (N-S) charts were initially developed in the early 1970’s by Ike Nassi and Ben Shneiderman They are based on and perform a function similar to flowcharts

ebarber
Download Presentation

Nassi-Shneiderman Charts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Nassi-Shneiderman Charts Andrea Schumacher

  2. Background • Nassi-Shneiderman (N-S) charts were initially developed in the early 1970’s by Ike Nassi and Ben Shneiderman • They are based on and perform a function similar to flowcharts • The initial purpose was to develop a technique to chart the logic design of structured programs • N-S Charts are also know as Program Structure Diagrams (PSD) and Chapin Charts.

  3. Agenda • 1)Overview • 2)Primary Uses • 3) Advantages • 4)Disadvantages • 5)Relationship with Other Techniques • 6) Symbols • 7)Examples • 8)Resources/Tools • 9) Group projects

  4. Overview • Nassi-Shneiderman charts have four primary uses: • Creating the logic design • Programming from the charts • Writing program documentation • Maintenance of the program

  5. Primary Uses1. Creating the Logic Design • As mentioned previously this was the initial purpose of Nassi-Shneiderman charts • They can be thought of as the building blocks of the design • The completed chart is the blueprint for the program code

  6. Primary Uses2. Programming From the Charts • The N-S chart can be use to do the actual programming • It can be considered as a type of “pictorial” pseudocode • Some of the N-S editors convert the diagram directly into source code

  7. Primary Uses3. Writing Program Documentation • The N-S chart is a pictorial representation of the logical design of the program • Using the N-S chart as an actual part of the documentation is a great idea!

  8. Primary Uses4. Maintenance of the Program • N-S charts provide a quick reference to the structure and design of the program which helps during on-going maintenance and upgrades.

  9. Advantages - General • One main advantage is that N-S charts adopt the structured programming philosophy • N-S charts use only a few symbols which make them easier to learn then traditional flowcharts • They help to recognize missing policies or procedures from business rules • Completed charts should fit on one page, there are no complex arrows to follow

  10. Advantages – General (cont.) • Have one entry point and one exit point • They can be nested to show complex procedures • N-S charts are independent of any specific programming language

  11. Advantages – Programming • The logic is documented in the N-S chart so regardless of the coding language used, N-S charts make coding much easier then starting from scratch • Clearly displays sequence, selection, and repetition (such as nested loops) to make debugging easier • Confusing “GOTOs” are not represented

  12. Disadvantages • They can be difficult to draw • They can be harder to update or change then traditional flow charts because everything stays together • They must be comprehensive to be understood

  13. Data Modeling Entity Relation Diagram,I-graphs, InformationStructure Diagram A N-S can model operationson the objects/entitiesdefined in a data model. Process Modeling Data Flow Diagram,A-graphs, Information FlowDiagram Object Oriented Object Diagram, OOA model,Object schema N-S charts can be used as a furtherdescription of action orobject. State Modeling State Transition,Petri-nets N-S can be used as arepresentation of atransition by usingconditions. Relationship with Other Techniques Kind of Technique Example Technique Relation • The activities/processes defined • in the process models can be further • described in detail in a N-S chart • A N-S chart can also be used as a • translation of process model wwwis.cs.utwente.nl

  14. Symbols • Only 3 basic symbols used in N-S charts • Process (Sequence) • Decision (Selection) • Iteration (Repetition) • Other symbols are used but they are based on these three symbols

  15. Process • A stackable box is used to represent a sequence or process Step 1 Step 2 Step 3

  16. Decision (Selection) • The “if-then-else” If… (then) (else)

  17. Decision (Selection) • The case/switch/selection statement

  18. Iteration • These symbols show loops While Repeat Until

  19. Graduation Example N-S Chart

  20. Graduation Example Pseudocode While “FOR ALL SECOND-YEAR STUDENTS” do if “ENOUGH CREDITS? then “YES”: if “BILLS PAID?” then “YES”: “GRANT DIPLOMA” else “NO”: “NO DIPLOMA” end if else “NO”: “NO DIPLOMA” end if end while

  21. Newspaper Subscription N-S Chart

  22. Newspaper Subscription Pseudocode

  23. Drawing “Hints” • The size of the final rectangle has no bearing on the program • Fit one drawing to a page • They work the best with small or medium-sized programs • Draw the major loops first, complete the inner loops later

  24. Drawing “Hints” • Nested loops are indented, of course as the number of nested loops increase, the width of the chart changes • Sub-procedures can be drawn using a different N-S chart • If the N-S diagram is cluttered it may be the policy you are diagramming is unclear

  25. User Comments • The University of Liverpool develop a N-S editor using a VAX based Pascal complier called NSEDIT • User responses: • 60% agreed that it helped to ensure the correct syntax • 21% said it enforced structured programming • 12% felt it made the transition from design to code easier

  26. Editor Downloads/Tools • Nassi-Shneiderman Diagrams Editor for Unix http://www.kfa-juelich.de/zam/nassi/ • free download for a demo or about $30 dollars for a user license • Microsoft Visio 2000 supports N-S charts

  27. Visio Screen Shot

  28. MS Visio Example

  29. Editor Downloads (cont.) • StruktoGraaf 3.0 Windows 95/98/ME/NT/2000 http://www.sichemsoft.nl/producuk.html • A free download for a demo, about 135 (or student version for 57) for a user license

  30. StruktoGraaf Screen Shot

  31. StruktoGraaf Screen Shot (Cont.)

  32. Summary • We have seen some of the advantages and disadvantages of using Nassi-Shneiderman charts • I think you can clearly see the benefits to using N-S charts for system design as well as documentation and maintenance

  33. References • Beek, Marcel, Koolen, Hans, Van Setten, Mark: (1996), “Program Structure Diagrams”, (visited 3/18/01), wwwis.cs.utwente.nl:8080/dmrg/mee/misop.htm • Cary, David (2000): “Nassi-Shneiderman on the Web”, (visited 3/18/01), www.rdrop.com/~cary/html/psd.html • Coenen, Frans: “Comp101 – Design and Style Review”, (visited 3/6/01), www.csc.liv.ac.uk/~frans/comp101/week9/designAndStyle.htm. • Halewood, K. and Woodward M.R.: (1988), “NSEDIT: A Syntax-directed Editor and Testing Tool based on Nassi-Shneiderman Charts”, Software-Practice and Experience, Vol. 18, No.10, pp. 987-998 • Juch, Forschungszentrum: (1997) “Nassi Tutorial”,(visited 3/12/01), www.kfa-juelich.de/zam/nassi/tutorial.html • Kendall, Kenneth E. and Kendall, Julie E.: (1999) System Analysis and Design, Prentice Hall, New Jersey

  34. References (cont.) • Seesing, Paul R.: (1993), “Basic System Analysis Tools for Computer Users”, (visited 4/9/01), www.open.org/~prslkg/sy_chap.htm • Tiemann, Peter: “Nassi-Shneiderman Charts”, (visited 4/9/01), www.preview.org/software/sc_help/nassishneiderman • “Why Should I Use Structograms?”: (visited 4/9/01), www.blue-river-software.com/products/whystructs.htm • Weiss, Edmond H.: (1990). “Visualizing a Procedure with Nassi-Schneiderman Charts”, Journal of Technical Writing and Communication, Vol. 20, No.3, pp. 237-254 • Woodward, M.R.: (1987) “The Use of Nassi-Shneiderman Charts and Supporting Tools in Software Engineering Education”, Computer Education, Vol. 11, No. 4, pp. 267-279

  35. Class Exercises

More Related