La ingeniería de software estudia la creación de software confiable y de calidad mediante métodos y técnicas de ingeniería. Se define como el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas de software, así como la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora. La ingeniería de software busca establecer principios y métodos para obtener software de manera rentable que sea fiable y funcione en máquinas reales.