The Diagram of Flow: Its Departure from Software Engineering and Its Return

  • S. J. Morris
  • O. C. Z. Gotel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7352)

Abstract

The first diagrammatic notation used in software engineering represented the concept of flow. This paper considers the factors that affected the apparent departure of the flowchart from software engineering practice during the 1970s and 1980s and its subsequent return in the 1990s. A new emphasis on hierarchy (as level of abstraction) and on data structure meant that the general concept of flow was completely superseded, only to re-emerge later as a new duality of control flow and data flow. This reappearance took a variety of forms with varying semantics until its stabilisation in the latest version of the Unified Modeling Language. Flow is there re-instated as a fundamental concept in software engineering although its importance, and that of the activity diagram used to represent it, diminished as a consequence of its becoming just one among a wider set of paradigms for software systems development, each associated with its own diagrams.

Keywords

Activity Diagram Diagrammatic Notation Flowchart History Representation Software Engineering 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Morris, S.J., Gotel, O.C.Z.: Flow Diagrams: Rise and Fall of the First Software Engineering Notation. In: Barker-Plummer, D., Cox, R., Swoboda, N. (eds.) Diagrams 2006. LNCS (LNAI), vol. 4045, pp. 130–144. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Morris, S., Gotel, O.: The role of flow charts in the early automation of applied mathematics. BSHM Bulletin. Journal of the British Society for the History of Mathematics 26(1) (2011)Google Scholar
  3. 3.
    Woodger, M.: The aims of structured programming. In: Structured Programming. Infotech State of the Art Report. Infotech International Limited, Maidenhead (1976)Google Scholar
  4. 4.
    Infotech Management Report Structured Programming Practice and Experience. Vol. 1: Management Guide to Techniques and Implementation Vol. 2: Management Report on Implementation Practice. Infotech International Limited, Maidenhead (1978)Google Scholar
  5. 5.
    Infotech International Survey Structured Programming Practice and Experience. Vol. 1: Overview of Structured Programming Vol. 2: Structured Programming Methodologies and Techniques Vol. 3: International Survey and Analysis of User Experience. Infotech International Limited, Maidenhead (1978)Google Scholar
  6. 6.
    Böhm, C., Jacopini, G.: Flow diagrams, Turing machines and languages with only two formation rules. Communications of the ACM 9(5) (May 1966)Google Scholar
  7. 7.
    Knuth, D.E.: The art of computer programming - fundamental algorithms. Addison Wesley, Reading (1968)Google Scholar
  8. 8.
    Chapin, N.: Flowcharting with the ANSI standard. A tutorial. Computing Surveys 2(2), 119–146 (1970)MATHCrossRefGoogle Scholar
  9. 9.
    International Organization for Standardization. Information Processing - Flowchart symbols. ISO 1028 (1973)Google Scholar
  10. 10.
    Dill, J.M., Hopson, R.W., Dixon, D.F.: Design and documentation standards. Brown University, Providence (1975)Google Scholar
  11. 11.
    Nassi, I., Shneiderman, B.: Flowchart techniques for structured programming. SIGPLAN Notices 8(8) (August 1973)Google Scholar
  12. 12.
    Jackson, M.A.: Principles of Program Design. Academic Press, Orlando (1975)Google Scholar
  13. 13.
    Jackson, M.A.: Data structures as a basis for program design. In: Structured Programming. Infotech State of the Art Report. Infotech International Limited, Maidenhead (1976)Google Scholar
  14. 14.
    HIPO - A Design Aid and Documentation Tool. Poughkeepsie, NY, IBM Corporation, Form SR20 - 9413 (1973)Google Scholar
  15. 15.
    Davis, A.M.: Software Requirements Analysis and Specification. Prentice-Hall International, Englewood Cliffs (1990)Google Scholar
  16. 16.
    Dahl, O.-J., Dikstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, London (1972)MATHGoogle Scholar
  17. 17.
    Unified Method V0.8. Rational Software Corporation, Santa Clara (October 1995)Google Scholar
  18. 18.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language for Object-Oriented Development. Documentation Set Version 0.91 Addendum. Rational Software Corporation, Santa Clara (1996)Google Scholar
  19. 19.
    Object Management Group. OMG Unified Modeling LanguageTM (OMG UML), Version 2.4 (January 2011), http://www.omg.org/spec/UML/2.4/ (accessed July 26, 2011)
  20. 20.
    Peterson, J.: Petri Nets. ACM Computing Surveys 9(3) (September 1977)Google Scholar
  21. 21.
    Unified Modeling Language V1.0. Rational Software Corporation, Santa Clara (January 13, 1997)Google Scholar
  22. 22.
    International Organization for Standardization. Open Distributed Processing - Unified Modeling Language (UML) Version 1.4.2. ISO/IEC 19501 (2005)Google Scholar
  23. 23.
    Unified Modeling Language Version 2.0. Object Management Group (August 2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • S. J. Morris
    • 1
  • O. C. Z. Gotel
    • 2
  1. 1.Department of ComputingCity University LondonUK
  2. 2.Independent ResearcherNew YorkUSA

Personalised recommendations