Software engineering is the application of principles used in the field of engineering, which usually deals with physical systems, to the design, development, testing, deployment & management of software systems. The field of software engineering applies the disciplined, structured approach to programming that is used in engineering to software development with the stated goal of improving the quality, time & budget efficiency, along with the assurance of structured testing & engineer certification.
Software engineering is typically used for large & intricate software systems rather than single applications or programs. Development, however is simply one phase of the process. While a software engineer is typically responsible for the design of systems, programmers are often responsible for coding its implementation.
Software engineering involves a number of fields that cover the process of engineering software & certification including: requirements gathering, software design, software construction, software configuration management, software engineering management & creation, software engineering models & methods, software quality, software engineering professional practices as well as foundational computing & mathematical & engineering study.
Though the original use of the term is uncertain, the first software engineering conference was held & sponsored by NATO in 1968. The conference addressed the inconsistency & unreliability in software development as well as the need for better quality & reliability. The conference gathered international experts who agreed the systematic approach of physical world engineering should be applied to software development, as it already was developed with those goals in mind.