Fundamental principles of software engineering - a journey

A set of fundamental principles can act as an enabler in the establishment of a discipline; however, software engineering still lacks a set of universally recognized fundamental principles. This article presents a progress report on an attempt to identify and develop a consensus on a set of candidate fundamental principles. A fundamental principle is less specific and more enduring than methodologies and techniques. It should be phrased to withstand the test of time. It should not contradict a more general engineering principle and should have some correspondence with "best practice". It should be precise enough to be capable of support and contradiction and should not conceal a tradeoff. It should also relate to one or more computer science or engineering concepts. The proposed candidate set consists of fundamental principles which were identified through two workshops, two Delphi studies and a web-based survey.

[1]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

[2]  James W. Moore Software Engineering Standards: A User's Road Map , 1998 .

[3]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[4]  T. S. E. Maibaum,et al.  Mathematical foundations of software engineering: a roadmap , 2000, ICSE '00.

[5]  Edsger W. Dijkstra,et al.  Letters to the editor: go to statement considered harmful , 1968, CACM.

[6]  Corrado Böhm,et al.  Flow diagrams, turing machines and languages with only two formation rules , 1966, CACM.

[7]  A Straw,et al.  Guide to the Software Engineering Body of Knowledge , 1998 .

[8]  Steve McConnell Best Practices: Software's Ten Essentials , 1997, IEEE Softw..

[9]  Alan M. Davis,et al.  201 Principles of Software Development , 1995 .

[10]  L.L. Tripp,et al.  A market-driven architecture for software engineering standards , 1995, Proceedings of Software Engineering Standards Symposium.

[11]  Jabir,et al.  A search for fundamental principles of software engineering , 1998, Comput. Stand. Interfaces.

[12]  Walter G. Vincenti,et al.  What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. , 1992 .

[13]  Barry W. Boehm,et al.  Seven basic principles of software engineering , 1983, J. Syst. Softw..

[14]  Steve McConnell,et al.  Software Engineering Principles , 1999, IEEE Software.

[15]  Steve McConnell Software's Ten Essentials , 1997 .

[16]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..