Skip to main content

A systematics of software engineering: Structure, terminology and classification of techniques

  • Conference paper
Program Transformation and Programming Environments

Part of the book series: NATO ASI Series ((NATO ASI F,volume 8))

Abstract

This paper presents a proposal for a systematics of the software engineering field. Existing approaches, as e.g. the life cycle concept are not sufficient for this purpose. A more subtle way is to base a systematics on the three criteria abstraction, formality of descriptions/examinations and degree of automatization.

In the first sections of the paper the software design process is modeled as a series of steps which alternately lead to more formal and to more concrete descriptions (with respect to the executing machine). The integration process can be modeled in an analogous way with a formality criterion refering to examinations. In order to model the early and late stages of software projects, the criterion “abstraction from the problems of the real world” has to be consulted.

The resulting scheme is used for a classification of software development techniques. Considering automatization as a further criterion, the classification is extended to software production tools and environments.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adrion, W.R., Branstad, M.A., Cherniavsky, J.C.:Validation, verification, and testing of computer software, Comp. Surveys 14. 2 (1982)

    Article  Google Scholar 

  2. Allen, F.E., Cocke, J.: A program data flow procedure, CACH 19.3, pp. 137–147 (1976)

    Google Scholar 

  3. Reference manual for the ADA programming language, Proposed standard document, U.:.DoD (July 1979)

    Google Scholar 

  4. Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.B.: Initial algebra semantics and continuous algebras, JACM 24.1, pp. 68–95 (1977)

    Google Scholar 

  5. Alford, M.W.: A Requirements Engineering Methodology for real-time processing requirements, IEEE Transactions on Softw. Eng., SE-3, No. 1, pp. 60–69 (1977)

    Article  Google Scholar 

  6. Bauer, F.L., Partsch, H., Pepper, P., Wossner, H.: Techniques for program development, in: Software Eng. Techniques Infotech State of the Art Report 34, pp. 27–50 (1977)

    Google Scholar 

  7. Bauer, F.L., Broy, M., Gnatz, R., Hesse, W., Krieg-Bruckner, B.: A wide spectrum language for program development. Third Intern. Symp. on Programming, Paris 1978

    Google Scholar 

  8. Boyer, R.:., Elspas, B., Levitt, K.N.: SELECT - a formal system for testing and debugging programs by symbolic execution, Proc. Int. Conf. on Reliable Software, SIGPLAN Notices 10. 6 (1975)

    Google Scholar 

  9. Burstall, R.M., Goguen, I.A.: The sementics of CLEAR, a specification language, in: Abstract Software Specifications, LNCS 86, pp. 292–332, Springer 1979

    Google Scholar 

  10. Bibel, W.: Syntax-directed, semantics-supported program synthesis, Art. Intelligence 14, pp. 243–261 (1980)

    Article  Google Scholar 

  11. Boehm, B.W.: Guidelines for verifying and validating software requirements and design specifications, EURO IFIP 79, pp. 711–719, North Holland 1979

    Google Scholar 

  12. Boyer, R.:., Moore, J.:.: Proving theorems about LISP functions, JACM 22.1, pp. 129–144 (1975)

    Google Scholar 

  13. Caine, S.H., Gordon, E.K.: PDL-a tool for software design, Proc. Nat. Comp. Conf. AFIPS, pp. 271–276 (1975)

    Google Scholar 

  14. Clarke, L.A.: A system to generate test data and symbolically execute programs, IEEE Transct. on SW Enq., SE-2. 3 (1976)

    Google Scholar 

  15. Daenzer, W. F. (Ed.): Systems Engineering, Koln 1978

    Google Scholar 

  16. Darlington, J., Burstall, R.M.: A system which automat- cally improves programs, Acta Inf. 6, pp. 41–60 (1976)

    Article  MATH  Google Scholar 

  17. DEM 78/ De Marco, T.: Structured analysis and system specification, Prentice Hall 1978

    Google Scholar 

  18. Denert, E.: Specification and design of dialogue systems with state diagrams, Proc. Inter. Comp. Symp. 1977, Liege, pp. 417–424, North Holland 1977

    Google Scholar 

  19. Denert, E.: The project library - a tool for software development, Proc. 4th ICSE München, IEEE Cat. CH 1479–5 /79, pp. 153–163 (1979)

    Google Scholar 

  20. Denert, E., Hesse, W.: Projektmodell und Projektbibliothek: Grundlagen zuverlässiger SoftwareEntwicklung und Dokumentation, Informatik-Spektrum 3. 4 (1980)

    Google Scholar 

  21. Denert, E., Hesse, W., Neumaier, H.: S/E/TEC - an environment for the production of reliable software, 3rd ECI- Conference on “Trends in Information Processing Systems”, München 1981, Lecture Notes in Comp. Science 123, pp. 65–84, Springer 1981

    Google Scholar 

  22. Dijkstra, E.W.: A discipline of programming, Prentice Hall 1976

    MATH  Google Scholar 

  23. Eigemeier, H., Knabe, C., Raulefs, P., Tramer, K.: An expert system for automatic coding of abstract data type specifications, GI-10. Jahrestagung, Inf.-Fachberichte 33, pp. 431–441, Springer 1980

    Google Scholar 

  24. Fagan, M.E.: Design and code-inspections to reduce errors in program development? IBM-Systems-Journal, Vol. 15, No. 3, pp. 182–211 (1976)

    Article  Google Scholar 

  25. Floyd, R.W.: Assigning meanings to programs, Proc. Symp. of Appl. Math., Vol. 19, Amer. Math. Soc., pp. 19–32 (1967)

    Google Scholar 

  26. Frölich, R.: Das Infogramm: Eine Technik zur Analyse, Definition und zum Entwurf von DV-Systemen, SOFTLAB, Internal Report (1980)

    Google Scholar 

  27. Goodenough, J.B., Gerhardt, S.L.: Toward a theory of test data selection, IEEE Transact, on Software Engineering, SE-1. 2, pp. 156–173 (1975)

    Google Scholar 

  28. Gannon, J., Mc Mullin, P., Hamlet, R.: Data abstraction, implementation, specification, and testing, TOPLAS 3.3, pp. 211–223 (1981)

    Google Scholar 

  29. Gries, D.: An illustration of current ideas on the derivation of correctness proofs and correct programs, IEEE Transact, on Software Eng. SE-2. 4, pp. 238–244 (1976)

    Article  MathSciNet  Google Scholar 

  30. Guttag, J.: Abstract data types and the development of data structures, CACM 20, 6, pp. 396–404 (1977)

    Google Scholar 

  31. Hesse, W.: Das Projektmodell - eine Grundlage für die ingenieurmäßige Software-Entwicklung, Gl- 10. Jahrestagung, Informatik-Fachberichte 33, pp. 107–122, Springer 1980

    Google Scholar 

  32. Hesse, W.: Methoden und Werkzeuge zur Software-Entwicklung - Ein Marsch durch die Technologie-Landschaft, Informatik- Spektrum 4.4, pp. 229–245 (1981)

    Google Scholar 

  33. Hesse, W.: Methods and tools for software development - a walk through the technology landscape, in: Colloquium Programmeeromgevingen, MC Syllabus 30, pp.1–22, Mathematisch Centrum Amsterdam (1983)

    Google Scholar 

  34. Hesse, W., Keutgen, H., Luft, A.L., Rombach, D.: Ein Begriffssystem für die Softwaretechnik (to appear ins Informatik-Spektrum)

    Google Scholar 

  35. Hoare, C.A.R.: An axiomatic basis for computer programming, CACM 12.10, pp. 576–583 (1969)

    Google Scholar 

  36. Hoare, C.A.R.: Proof of correctness of data representations, Acta Inf. 1. 4, pp. 271–281 (1972)

    Article  Google Scholar 

  37. Howden, W.E.: Validation of scientific programs, ACM Comp. Surveys 14. 2 (1982)

    Article  Google Scholar 

  38. Huenke, H. (Ed.): Symposium on Software Engineering Environments, North Holland 1981

    Google Scholar 

  39. HIPO - A Design Aid and Documentation Technique, IBM Report Nr. GC 20–1851–0

    Google Scholar 

  40. Igarashi, S., London, R.L., Luckham, D.C.: Automatic program verification Is A logical basis and its implementation, Acta Inf. 4. 2, pp. 145–182 (1975)

    Article  MathSciNet  Google Scholar 

  41. Jackson, M.A.: Constructive methods of program design, Lect. Notes in Comp. Sc. 44 (1976)

    Google Scholar 

  42. Lampson, B.W., Horning, J.J., London, R.L., Mitchell, J.G., Popek, G.L.: Report on the programming language EUCLID, SIGPLAN Notices 12. 2 (1977)

    Article  Google Scholar 

  43. Liskov, B., Zilles, S.: Specification techniques for data abstraction, IEEE Transact, on SW Eng. 1,1, pp. 7–18 (1975)

    Google Scholar 

  44. Liskov, B.H., Snyder, A., Atkinson, R., Schaffert, C.: Abstraction mechanisms in CLU, CACM 20.8., pp. 564–576 (1977)

    Google Scholar 

  45. Manna, Z., Waldinger, R.: The automatic synthesis of recursive programs, Proc. Symp. on Art. Intel1. and Prog. Lang., pp. 29–36 (1977)

    Google Scholar 

  46. Meyer, H.-M.: Requirements Enginering in S/E/TEC, Proc. GI-Arbeitstagung “Requirements Engineering für die Automatisierung von Systemen, Friedrichshafen Okt. 1983

    Google Scholar 

  47. Myers, G.J.: The art of software testing, J. Wiley 1979

    Google Scholar 

  48. Nassi, I., Shneidermann, B.: Flowchart techniques for structured programming, SIGPLAN Not. 8.8, pp. 12–16 (1973)

    Google Scholar 

  49. Parnas, D.L.: A technique for software module specification with examples, CACM 15, 5, pp. 33t)-336 (1972)

    Google Scholar 

  50. Produktverwaltungs- und Projektführungssysteme: 4. Fachgespräch der Fachgruppe “Software Engineering” der Gl, Softwaretechnik-Trends 3–2 (1983)

    Google Scholar 

  51. Ramamoorthy, C.V., Yeh, R.T.: Tutorials Software methodology, IEEE Cat. No. EHO 142–0, pp. 44–164 (1978)

    Google Scholar 

  52. Raulefs, P., Siekmann, J.: Programmverifikation Darstellung des Forschungsvorhabens (Aug. 1980)

    Google Scholar 

  53. Robinson, L., Levitt, K.N.: Proof techniques for hierarchically structured programs, CACM 20, 4, pp. 271–283 (1977)

    MathSciNet  MATH  Google Scholar 

  54. Ross, T.D.: Structured analysis (SA): A language for communicating ideas, IEEE Trans, on Software Engineering, Vol. SE-3, No. 1 (1977)

    Google Scholar 

  55. Roubine, O., Robinson, L.: SPECIAL reference manual, SRI International, Menlo Park CA (1976)

    Google Scholar 

  56. Sneed, H., Kirchhof, K.: Prüfstand - a testbed for software systems components, Proc. Infotech Conf. on software testing, London, Sept. 1978

    Google Scholar 

  57. TUS - Kurzbeschreibung, Internal Report, Softlab 1983

    Google Scholar 

  58. Summary of software testing measures, Technical Note TN 843A/3, Software Research Associates (May 1982)

    Google Scholar 

  59. Requirements for ADA programming support environments, “STONEMAN”, U.:. DoD, Feb. 1980

    Google Scholar 

  60. Strunz, H.: Entscheidungstabellentechnik, Hanser 1977

    Google Scholar 

  61. Teichroew, D., Hershey, E.A.: PSL/PSA: A computer aided technique for structured documentation and analysis of information processsing systems, IEEE Trans, of Software Engineering, Vol. SE-3, No. 1 (1977)

    Google Scholar 

  62. Wirth, N.: Modula: a language for modular multiprogramming, Software Practice & Experience No. 7, (1978)

    Google Scholar 

  63. Wulf, W.A., London, R.L., Shaw, M.: An introduction to the construction and verification of ALPHARD programs, IEEE Transact, on Softw. Eng. SE-2, pp. 253–264 (1976)

    Google Scholar 

  64. Yourdon, E., Constantine, L.L.: Structured design, Yourdon Inc., 1975 and 1978, Prentice Hall 1979

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1984 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hesse, W. (1984). A systematics of software engineering: Structure, terminology and classification of techniques . In: Pepper, P. (eds) Program Transformation and Programming Environments. NATO ASI Series, vol 8. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-46490-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-46490-4_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-46492-8

  • Online ISBN: 978-3-642-46490-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics