Software engineering is the study and an application of engineering to the design, development, and maintenance of software.[1][2][3]


Typical formal definitions of software engineering are:

  • "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software";[4]
  • "an engineering discipline that is concerned with all aspects of software production";[5]
  • and "the establishment and use of sound engineering principles in order to economically obtain software that is reliable and works efficiently on real machines."[6]