Definitions - SYSC3020-Winter2016/SYSC3020LectureNotes GitHub Wiki
- Software Engineering [IEEE-93]
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software;
that is, the application of engineering to software. -> Highlights the difference between programming and software engineering
- Canadian Standards Association
The systematic activities involved in the design, implementation and testing of software to optimize its production and support.
- Parnas (1987)
"Multi-person construction of multi-version software"
Software Engineering means the construction of quality software with a limited budget and a given deadline in the context of constant change
- Lethbridge (2004)
Software engineering is the process of solving the customers’ problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints.
- Systematic (Software Engineering Processes), disciplined, Metrics for Software Engineering
- Design, Construction, and Maintenance (Fault Correction + Evolution)
- Quality
- Constraints
Engineers design products following well-accepted practices which normally involve the application of science, mathematics and economics.
- Computer Science => Theories
- Systems & Computer Engineering => Technologies
- Management Science => Methods
As professionals, engineers assumes a duty of personal responsibility to the public and society, and a code of ethics.