La crisis del software es un término utilizado en los primeros tiempos de la informática para referirse a la dificultad de escribir programas informáticos útiles y eficientes en el tiempo requerido. La crisis del software se debió al rápido aumento de la potencia de los ordenadores y a la complejidad de los problemas que se podían resolver. Con el aumento de la complejidad del software, surgieron muchos problemas de software porque los métodos existentes eran inadecuados.
Historia
El término "crisis del software" fue acuñado por algunos asistentes a la primera Conferencia de Ingeniería de Software de la OTAN en 1968 en Garmisch , Alemania. [1] [2] La conferencia del Premio Turing de Edsger Dijkstra de 1972 hace referencia a este mismo problema: [3]
La principal causa de la crisis del software es que las máquinas se han vuelto mucho más potentes. Para decirlo sin rodeos: mientras no había máquinas, la programación no era un problema en absoluto; cuando teníamos unos pocos ordenadores débiles, la programación se convirtió en un problema menor, y ahora que tenemos ordenadores gigantescos, la programación se ha convertido en un problema igualmente gigantesco.
Causas
Las causas de la crisis del software estuvieron relacionadas con la complejidad general del hardware y del proceso de desarrollo del software. La crisis se manifestó de varias maneras:
- Proyectos que superan el presupuesto
- Proyectos que se extienden más allá del tiempo previsto
- El software era muy ineficiente
- El software era de baja calidad.
- El software a menudo no cumplía con los requisitos
- Los proyectos eran inmanejables y el código difícil de mantener.
- El software nunca fue entregado
La causa principal es que las mejoras en la capacidad de procesamiento han superado la capacidad de los programadores para utilizar esas capacidades de manera efectiva. En las últimas décadas se han desarrollado diversos procesos y metodologías para mejorar la gestión de la calidad del software, como la programación procedimental y la programación orientada a objetos . Sin embargo, los proyectos de software que son grandes, complicados, mal especificados o involucran aspectos desconocidos, aún son vulnerables a problemas grandes e imprevistos.
Véase también
- Invierno de IA
- Lista de proyectos de software personalizados fallidos y con presupuestos excesivos
- Fred Brooks
- Accidente del sistema
- Singularidad tecnológica
Referencias
- ^ "Conferencia de ingeniería de software de la OTAN de 1968" . Consultado el 26 de abril de 2017 .
- ^ "Informe sobre una conferencia patrocinada por el COMITÉ CIENTÍFICO de la OTAN, Garmisch, Alemania, del 7 al 11 de octubre de 1968" (PDF) . Consultado el 26 de abril de 2017 .
- ^ "Archivo EWDijkstra: El humilde programador (EWD 340)" . Consultado el 26 de abril de 2017 .
Enlaces externos
- Edsger Dijkstra: El humilde programador (archivo PDF, 473 kB)
- Brian Randell : Las conferencias de ingeniería de software de la OTAN
- Markus Bautsch: Ciclos de crisis de software en: ENISA Quarterly on Secure Software (archivo PDF; 1,86 MB)
- Hoare 1996, "¿Cómo se volvió el software tan confiable sin pruebas?"