software engineering
The discipline devoted to the design, development, and use of computer software. Note: Software engineering must address various aspects of data processing, including compatibility with the computer system which is to execute the software, and tradeoffs among maintainability, flexibility, efficiency, processing time, and costs. [From Weik ’89]