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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Adrion, W.R., Branstad, M.A., Cherniavsky, J.C.:Validation, verification, and testing of computer software, Comp. Surveys 14. 2 (1982)
Allen, F.E., Cocke, J.: A program data flow procedure, CACH 19.3, pp. 137–147 (1976)
Reference manual for the ADA programming language, Proposed standard document, U.:.DoD (July 1979)
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)
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)
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)
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
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)
Burstall, R.M., Goguen, I.A.: The sementics of CLEAR, a specification language, in: Abstract Software Specifications, LNCS 86, pp. 292–332, Springer 1979
Bibel, W.: Syntax-directed, semantics-supported program synthesis, Art. Intelligence 14, pp. 243–261 (1980)
Boehm, B.W.: Guidelines for verifying and validating software requirements and design specifications, EURO IFIP 79, pp. 711–719, North Holland 1979
Boyer, R.:., Moore, J.:.: Proving theorems about LISP functions, JACM 22.1, pp. 129–144 (1975)
Caine, S.H., Gordon, E.K.: PDL-a tool for software design, Proc. Nat. Comp. Conf. AFIPS, pp. 271–276 (1975)
Clarke, L.A.: A system to generate test data and symbolically execute programs, IEEE Transct. on SW Enq., SE-2. 3 (1976)
Daenzer, W. F. (Ed.): Systems Engineering, Koln 1978
Darlington, J., Burstall, R.M.: A system which automat- cally improves programs, Acta Inf. 6, pp. 41–60 (1976)
DEM 78/ De Marco, T.: Structured analysis and system specification, Prentice Hall 1978
Denert, E.: Specification and design of dialogue systems with state diagrams, Proc. Inter. Comp. Symp. 1977, Liege, pp. 417–424, North Holland 1977
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)
Denert, E., Hesse, W.: Projektmodell und Projektbibliothek: Grundlagen zuverlässiger SoftwareEntwicklung und Dokumentation, Informatik-Spektrum 3. 4 (1980)
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
Dijkstra, E.W.: A discipline of programming, Prentice Hall 1976
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
Fagan, M.E.: Design and code-inspections to reduce errors in program development? IBM-Systems-Journal, Vol. 15, No. 3, pp. 182–211 (1976)
Floyd, R.W.: Assigning meanings to programs, Proc. Symp. of Appl. Math., Vol. 19, Amer. Math. Soc., pp. 19–32 (1967)
Frölich, R.: Das Infogramm: Eine Technik zur Analyse, Definition und zum Entwurf von DV-Systemen, SOFTLAB, Internal Report (1980)
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)
Gannon, J., Mc Mullin, P., Hamlet, R.: Data abstraction, implementation, specification, and testing, TOPLAS 3.3, pp. 211–223 (1981)
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)
Guttag, J.: Abstract data types and the development of data structures, CACM 20, 6, pp. 396–404 (1977)
Hesse, W.: Das Projektmodell - eine Grundlage für die ingenieurmäßige Software-Entwicklung, Gl- 10. Jahrestagung, Informatik-Fachberichte 33, pp. 107–122, Springer 1980
Hesse, W.: Methoden und Werkzeuge zur Software-Entwicklung - Ein Marsch durch die Technologie-Landschaft, Informatik- Spektrum 4.4, pp. 229–245 (1981)
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)
Hesse, W., Keutgen, H., Luft, A.L., Rombach, D.: Ein Begriffssystem für die Softwaretechnik (to appear ins Informatik-Spektrum)
Hoare, C.A.R.: An axiomatic basis for computer programming, CACM 12.10, pp. 576–583 (1969)
Hoare, C.A.R.: Proof of correctness of data representations, Acta Inf. 1. 4, pp. 271–281 (1972)
Howden, W.E.: Validation of scientific programs, ACM Comp. Surveys 14. 2 (1982)
Huenke, H. (Ed.): Symposium on Software Engineering Environments, North Holland 1981
HIPO - A Design Aid and Documentation Technique, IBM Report Nr. GC 20–1851–0
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)
Jackson, M.A.: Constructive methods of program design, Lect. Notes in Comp. Sc. 44 (1976)
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)
Liskov, B., Zilles, S.: Specification techniques for data abstraction, IEEE Transact, on SW Eng. 1,1, pp. 7–18 (1975)
Liskov, B.H., Snyder, A., Atkinson, R., Schaffert, C.: Abstraction mechanisms in CLU, CACM 20.8., pp. 564–576 (1977)
Manna, Z., Waldinger, R.: The automatic synthesis of recursive programs, Proc. Symp. on Art. Intel1. and Prog. Lang., pp. 29–36 (1977)
Meyer, H.-M.: Requirements Enginering in S/E/TEC, Proc. GI-Arbeitstagung “Requirements Engineering für die Automatisierung von Systemen, Friedrichshafen Okt. 1983
Myers, G.J.: The art of software testing, J. Wiley 1979
Nassi, I., Shneidermann, B.: Flowchart techniques for structured programming, SIGPLAN Not. 8.8, pp. 12–16 (1973)
Parnas, D.L.: A technique for software module specification with examples, CACM 15, 5, pp. 33t)-336 (1972)
Produktverwaltungs- und Projektführungssysteme: 4. Fachgespräch der Fachgruppe “Software Engineering” der Gl, Softwaretechnik-Trends 3–2 (1983)
Ramamoorthy, C.V., Yeh, R.T.: Tutorials Software methodology, IEEE Cat. No. EHO 142–0, pp. 44–164 (1978)
Raulefs, P., Siekmann, J.: Programmverifikation Darstellung des Forschungsvorhabens (Aug. 1980)
Robinson, L., Levitt, K.N.: Proof techniques for hierarchically structured programs, CACM 20, 4, pp. 271–283 (1977)
Ross, T.D.: Structured analysis (SA): A language for communicating ideas, IEEE Trans, on Software Engineering, Vol. SE-3, No. 1 (1977)
Roubine, O., Robinson, L.: SPECIAL reference manual, SRI International, Menlo Park CA (1976)
Sneed, H., Kirchhof, K.: Prüfstand - a testbed for software systems components, Proc. Infotech Conf. on software testing, London, Sept. 1978
TUS - Kurzbeschreibung, Internal Report, Softlab 1983
Summary of software testing measures, Technical Note TN 843A/3, Software Research Associates (May 1982)
Requirements for ADA programming support environments, “STONEMAN”, U.:. DoD, Feb. 1980
Strunz, H.: Entscheidungstabellentechnik, Hanser 1977
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)
Wirth, N.: Modula: a language for modular multiprogramming, Software Practice & Experience No. 7, (1978)
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)
Yourdon, E., Constantine, L.L.: Structured design, Yourdon Inc., 1975 and 1978, Prentice Hall 1979
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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