La ingeniería de software proporciona un marco para construir software funcional y de calidad de manera sistemática y organizada utilizando métodos, herramientas y procedimientos adecuados. Se ocupa de todos los aspectos de la producción de software mediante actividades como la definición del proceso de desarrollo, la administración del proyecto, la descripción y diseño del producto, la codificación, pruebas e integración, y el mantenimiento del producto.