As a discipline, software engineering is not as mature as other engineering disciplines, and it still lacks consensus on a well-recognized set of fundamental principles. A 2006 analysis surveyed and analyzed 308 separate proposals for principles of software engineering, of which only thirty-four met the criteria to be recognized as such. This paper reports on a further analysis of these thirty-four candidate principles using two sets of engineering criteria derived from: A) the engineering categories of knowledge defined by Vincenti in his analysis of engineering foundations; and B) the joint IEEE and ACM software engineering curriculum. The outcome of this analysis is a proposed set of nine software engineering principles that conform to engineering criteria.
Jabir and J. W. Moore, “A Search For Fundamental Principles of Software Engineering,” Report of a Workshop Conducted at the Forum on Software Engineering Standards Issues, Computer Standards & Interfaces–In- ternational Journal on the Development and Application of Standards for Computers, Data Communications and Interfaces, Elsevier, Amsterdam, North Holland (the participants at this workshop names their group “Jabir”), Vol. 19, No. 2, 1998, pp. 155-160.
A. Abran, N. Seguin, P. Bourque and R. Dupuis, “The Search for Software Engineering Principles: An Overview of Results,” Conference on the Principles of Software Engineering, Buenos Aires, Argentina, 2004.
IEEE and ACM, “IEEE Computer Society and Association for Computing Machinery,” Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, A Volume of the Computing Curricula Series, 2004.
A. Abran, J. W. Moore, P. Bourque and R. Dupuis, “Guide to the Software Engineering Body of Knowledge,” 4th Edition, In: P. Bourque and R. Dupuis, Eds., IEEE Computer Society, Los Alamitos, CA, USA, 2005.