Software engineering is the discipline devoted to the systematic construction of reliable software systems. Software is developed by humans, humans make mistakes; therefore, software contains mistakes. But techniques have been developed to cope with the management of complexity and (at least partly) human error, such as using problem-oriented programming languages, comfortable debugging environments, and notations for problem analysis and systems design, to name but a few.
Jochen Leidner, 1998-04-29