La ingeniería de software es la disciplina que aplica principios de ingeniería al desarrollo, operación y mantenimiento de sistemas de software, con el objetivo de producirlos de manera sistemática, fiable y dentro de costos razonables.
El origen del término
La expresión «ingeniería de software» se popularizó a partir de una conferencia de la OTAN celebrada en 1968, convocada para discutir lo que ya entonces se conocía como la «crisis del software»: la dificultad creciente para desarrollar programas grandes y complejos de forma predecible, dentro de plazo y sin errores graves.
El ciclo de vida del software
Distintos modelos han intentado organizar el proceso de desarrollo. El modelo en cascada, uno de los más antiguos, propone fases secuenciales (análisis de requisitos, diseño, implementación, pruebas y mantenimiento). Frente a su rigidez, los modelos iterativos e incrementales —y más tarde las metodologías ágiles, como Scrum o Extreme Programming— plantean ciclos cortos que permiten adaptar el producto a medida que se desarrolla.
Calidad y mantenimiento
Una parte sustancial del costo total de un sistema de software no se produce durante su desarrollo inicial, sino durante su mantenimiento posterior: corrección de errores, adaptación a nuevos entornos y adición de funcionalidades. Por eso la ingeniería de software presta especial atención a prácticas que faciliten ese mantenimiento, como el diseño modular, la documentación y las pruebas automatizadas.
En este sitio