Ingeniería de software


La ingeniería de software es la aplicación sistemática de enfoques de ingeniería al desarrollo de software . [1] [2] [3]

Un ingeniero de software es una persona que aplica los principios de la ingeniería de software para diseñar, desarrollar, mantener, probar y evaluar software de computadora . El término programador a veces se usa como sinónimo, pero también puede carecer de connotaciones de educación o habilidades en ingeniería.

Las técnicas de ingeniería se utilizan para informar el proceso de desarrollo de software [1] [4] que implica la definición, implementación, evaluación, medición, gestión, cambio y mejora del proceso del ciclo de vida del software en sí. Utiliza en gran medida la gestión de la configuración del software [1] [4], que consiste en controlar sistemáticamente los cambios en la configuración y mantener la integridad y la trazabilidad de la configuración y el código durante todo el ciclo de vida del sistema. Los procesos modernos utilizan versiones de software .

A partir de la década de 1960, la ingeniería de software se consideró como su propio tipo de ingeniería . Además, el desarrollo de la ingeniería de software se vio como una lucha. Era difícil mantenerse al día con el hardware, lo que causaba muchos problemas a los ingenieros de software. Problemas de software incluido que estaba por encima del presupuesto, plazos permitido, requieren extensa de-molestando y mantenimiento, y sin éxito cumplan las necesidades de los consumidores o nunca incluso fuera terminado. En 1968, la OTAN celebró la primera conferencia de Ingeniería de Software en la que se abordaron cuestiones relacionadas con el software: se establecieron directrices y mejores prácticas para el desarrollo de software. [5]

Los orígenes del término "ingeniería de software" se han atribuido a varias fuentes. El término "ingeniería de software" apareció en una lista de servicios ofrecidos por empresas en la edición de junio de 1965 de COMPUTERS and AUTOMATION y se usó más formalmente en la edición de agosto de 1966 de Communications of the ACM (Volumen 9, número 8) "carta al Membresía de ACM ”por el presidente de ACM Anthony A. Oettinger, [6] [7] también está asociado con el título de una conferencia de la OTAN en 1968 por el profesor Friedrich L. Bauer , la primera conferencia sobre ingeniería de software. [8] Independientemente, Margaret Hamilton llamó a la disciplina "ingeniería de software" durante las misiones Apollo para dar legitimidad a lo que estaban haciendo.[9] En ese momento se percibió que había una " crisis de software ". [10] [11] [12] La 40ª Conferencia Internacional sobre Ingeniería de Software (ICSE 2018) celebra 50 años de "Ingeniería de Software" con las ponencias de las sesiones plenarias de Frederick Brooks [13] y Margaret Hamilton . [14]

En 1984, el Instituto de Ingeniería de Software (SEI) se estableció como un centro de investigación y desarrollo financiado con fondos federales con sede en el campus de la Universidad Carnegie Mellon en Pittsburgh, Pensilvania, Estados Unidos. Watts Humphrey fundó el Programa de Procesos de Software SEI, cuyo objetivo es comprender y gestionar el proceso de ingeniería de software. Los Niveles de Madurez de Procesos introducidos se convertirían en la Integración del Modelo de Madurez de Capacidades para el Desarrollo (CMMI-DEV), que ha definido cómo el gobierno de los EE. UU. Evalúa las habilidades de un equipo de desarrollo de software.