Flowcharts versus program design languages: an experimental comparison

An experiment was performed to assess the relative merits of program design languages (PDLs) and flowcharts as techniques for the development and documentation of detailed designs for computer programs. The use of a PDL by a software designer, for the development and description of a detailed program design, produced better results than did the use of flowcharts. Specifically, the designs appeared to be of significantly better quality, involving more algorithmic or procedural detail, than those produced using flowcharts. In addition, flowchart designs exhibited considerably more abbreviation and other space-saving practices than did PDL designs, with a possible adverse effect on their readability. When equivalent, highly readable designs were presented to subjects in both PDL and flowchart form, no pattern of short-term or long-term differences in comprehension of the design was observed. No significant differences were detected in the quality or other properties of programs written as implementations of the designs. Subjective ratings indicated a mild preference for PDLs. Overall, the results suggest that software design performance and designer-programmer communication might be significantly improved by the adoption of informal PDLs rather than flowcharts as a standard documentation method for detailed computer program designs.

[1]  John W. Bailey,et al.  The Effects of the Symbology and Spatial Arrangement of Software Specifications in a Debugging Task. , 1981 .

[2]  H A Simon,et al.  Information-processing analysis of perceptual processes in problem solving. , 1969, Psychological review.

[3]  ShneidermanBen Control flow and data structure documentation , 1982 .

[4]  Joel D. Aron,et al.  Program Development Process: The Individual Programmer , 1974 .

[5]  P. Wright,et al.  Written information: Some alternatives to prose for expressing the outcomes of complex contingencies. , 1973 .

[6]  Michael E. Atwood,et al.  A Comparative Study of Flowcharts and Program Design Languages for the Detailed Procedural Specification of Computer Programs , 1978 .

[7]  Bill Curtis,et al.  The effects of symbology and spatial arrangement on the comprehension of software specifications , 1981, ICSE '81.

[8]  Ben Shneiderman,et al.  Experimental investigations of the utility of detailed flowcharts in programming , 1977, CACM.

[9]  Harlan D. Mills Structured Software Design , 1980 .

[10]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[11]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[12]  R. Jeffries,et al.  A process model for Missionaries-Cannibals and other river-crossing problems , 1977, Cognitive Psychology.

[13]  Michael E. Atwood,et al.  Cognitive structures in the comprehension and memory of computer programs: an investigation of compu , 1978 .

[14]  Ben Shneiderman,et al.  Control flow and data structure documentation: two experiments , 1982, CACM.

[15]  Terry J. Frederick,et al.  Proceedings of the 1983 computer science conference , 1983 .

[16]  Richard Kammann,et al.  The Comprehensibility of Printed Instructions and the Flowchart Alternative , 1975 .

[17]  J. B. Brooke,et al.  An experimental study of flowcharts as an aid to identification of procedural faults , 1980 .

[18]  Herbert A Simon,et al.  The understanding process: Problem isomorphs , 1976, Cognitive Psychology.