1. A discipline whose objectives are to define, create, and apply a well-defined
methodology that addresses a software life cycle of planning, development, and
maintenance. 2. The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software.