SlideShare una empresa de Scribd logo
1 de 5
La Crisis del Software
El término “Crisis del Software” fue acuñado a principios de los años 70, cuando la
ingeniería de software era prácticamente inexistente. El término expresaba las
dificultades del desarrollo de software frente al rápido crecimiento de la demanda
por software, de la complexidad de los problemas a ser resueltos y de la
inexistencia de técnicas establecidas para el desarrollo de sistemas que
funcionaran adecuadamente o pudieran ser validados.
La percepción de que esta crisis existía empezó a mediados de los años 60. Una
de las primeras referencias al término, y de las más notables, fue hecha por
E.W.Dijkstra, en el discurso que pronunció durante la entrega del premio Turing en
1972.
En este trabajo abordaremos porque se produjo esta crisis, y cuál fue el camino
adoptado para resolverla, o minimizar sus efectos de algún modo.

CAUSAS DE LA CRISIS DEL SOFTWARE

Durante finales de los años 50 i principios de los 60, la potencia computacional de
las maquinas era bastante limitada. Es por esto que los programas que se
desarrollaban eran “simples” desde nuestro punto de vista actual. Seguían un
proceso de desarrollo bastante artesanal, sin una metodología o un camino a
seguir para su desarrollo. En esta época se solían usar los lenguajes de bajo nivel
para el desarrollo de Software.
Pero a finales de los 60, la potencia de las maquinas empezó a aumentar de forma
considerable. Empezaron a aparecer los lenguajes de programación de alto nivel, y
las maquinas necesitaban programas mucho más complejos de los desarrollados
hasta la época. En definitiva, fue un salto tremendo en cuanto a potencial de
hardware, que no fue acompañado por un salto en el desarrollo de software.
En esta época, se empezó a concebir el Software como producto, y se empezaron
a desarrollar algunos proyectos para que funcionaran en las máquinas de la época.
Pero aparecieron importantes problemas: los productos excedían la estimación de
costes, había retrasos en las entregas, las prestaciones no eran las solicitadas, el
mantenimiento se hacía extremadamente complicado y a veces imposible, las
modificaciones tenían un coste prohibitivo…en resumen, se desarrollaba software
de mala calidad, ya que la técnica utilizada para desarrollar pequeños programas
para maquinas con mucho menos potencial se quedaba desfasada, y muchas
veces este software acababa en el olvido. Como ejemplo, podemos ver este
gráfico del año 1979, en el que se recoge la inversión en desarrollo de sistemas
software en ese año ($6.8 Millones),y como acabó ese software
Fuente: Apuntes Ingeniería del Software de Gestión. “Tema 1: Software e Ingeniería del
Software”
Una de las principales causas de todo esto, si no la principal, era el enfoque dado
al proceso de desarrollo de software, el cual era malo e incluso a veces era
inexistente. En este proceso, solo ¼ del tiempo de desarrollo se dedicaba a las
fases de análisis, diseño, codificación y pruebas, y más de ¾ del tiempo se
dedicaba a correcciones y mantenimiento. Es evidente que dedicándole sol ¼ del
tiempo a las primeras fases, se arrastran errores graves, sobre todo procedentes
de las fases de análisis y diseño, lo que dificultaba muchísimo la implementación,
produciendo constantes paradas y retrocesos para revisar este análisis/diseño.
Para que nos hagamos una idea, el conjunto de las fases de análisis y diseño
abarcaban el 8% del tiempo total de desarrollo de software. Además casi el 80%
de los errores se producían en estas dos fases, con lo que se incrementaba el
coste de corrección de errores conforme evolucionaban las fases de manera
bestial. Con estos indicadores estaba claro que algo estaba fallando y que el
proceso de desarrollo de software necesitaba un cambio radical.
INGENIERÍA DEL SOFTWARE, LA SOLUCIÓN.

Viendo el camino directo al precipicio que estaba llevando el desarrollo de
software, había que tomar medidas para solucionarlo. Y esas medidas se llamaron
“Ingeniería del Software”.
La Ingeniería del Software, según R.Pressman, es “Una disciplina que integra
métodos, herramientas y procedimientos para el desarrollo de SW de computador”.Es
decir, es una disciplina que intenta racionalizar el proceso de desarrollo de
software y establecer unas pautas a seguir para el desarrollo que minimicen
tiempo, esfuerzo, y coste de desarrollo y maximicen la calidad del software.
Después de esta crisis, se intentaron establecer estas pautas, aplicándolos a
algunos proyectos y aumentando la inversión. En 1991 se hizo un estudio para
comprobar los resultados de la aplicación de estos métodos, y los resultados
fueron bastante buenos. El 52% de los proyectos se terminaron con éxito, frente al
2% del año 1979 y el 31,1% se terminó con algunas modificaciones respecto a lo
acordado inicialmente, frente al 3% del año 1979. Pero el resultado más
espectacular se obtuvo en los proyectos abandonados. En 1991 sólo se
abandonaron el 16,2% de proyectos, frente al casi 76% del año 1979. Una
reducción increíble de casi el 60% que no hacía mas que confirmar la bondad de
estos métodos aplicados al proceso de desarrollo de software. Había nacido una
nueva disciplina, la Ingeniería del Software,
Para hacernos una idea mas concreta de lo que abarca la Ingeniería del Software
(cosa que nos ayudará a entender porque fue la solución a esta Crisis del
Software), debemos de centrar nuestra explicación en que la I.S busca
principalmente software de calidad, que es aquel software que cumple los
requisitos funcionales y de rendimiento establecidos previamente y consta de unos
estándares de desarrollo bien documentados. Además todos sus factores de
calidad deben cumplirse y tener un buen seguimiento durante todo el proceso de
desarrollo (características operativas, capacidad de soportar cambios y
adaptabilidad a nuevos entornos). Y por último, se incorporan al proceso nuevos
modelos de desarrollo y modificación del ciclo de vida, nuevos paradigmas de
programación, etc.…que hacen que el desarrollo de software sea mucho mas
metodológico y estructurado, disminuyendo así notablemente fallos y correcciones
costosas.
Como ejemplo de que la ingeniería del software es en la actualidad imprescindible,
la revista inglesa “PrivateEye” dio detalles sobre importantes proyectos de software
que han dado malos resultados. Entre ellos destacan los del servicio de
ambulancias Asinfor de Londres, el servicio de sanidad regional de Wessex, la
Sociedad para los derechos de autor y el sistema de manejo de equipajes del
aeropuerto de Denver.
Por último, os dejo unas viñetas, muy vistas pero no por ello menos buenas, que
resumen en unas pocas imágenes la gran problemática del desarrollo del software.
BIBLIOGRAFÍA

http://es.wikipedia.org/wiki/Crisis_del_software
http://www.unt.edu/benchmarks/archives/1999/july99/crisis.htm
http://jummp.wordpress.com/2009/05/22/la-crisis-del-software/
http://www.angelfire.com/space/equipo_5/diana/crissoft.htm

Más contenido relacionado

La actualidad más candente

CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWAREFreddy Aguilar
 
Unidad 5. calidad del software
Unidad 5. calidad del softwareUnidad 5. calidad del software
Unidad 5. calidad del softwareMaricela Ramirez
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareReynaldo Mayz
 
Sistemas operativos Servicios
Sistemas operativos ServiciosSistemas operativos Servicios
Sistemas operativos ServiciosLaura Sánchez
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria webMirsha01
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de softwarejhonatanalex
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología CascadaJesus Zuñiga
 
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommervilleMatias Gonzalo Acosta
 

La actualidad más candente (20)

Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Valores y prácticas XP
Valores y prácticas XPValores y prácticas XP
Valores y prácticas XP
 
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARECUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
CUADRO COMPARATIVO DE LOS MODELOS DE CICLO DE VIDA DE SOFTWARE
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Metodo putnam - estimacion de costos y tiempo
Metodo putnam - estimacion de costos y tiempoMetodo putnam - estimacion de costos y tiempo
Metodo putnam - estimacion de costos y tiempo
 
Unidad 5. calidad del software
Unidad 5. calidad del softwareUnidad 5. calidad del software
Unidad 5. calidad del software
 
Metricas de calidad
Metricas de calidadMetricas de calidad
Metricas de calidad
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de software
 
Sistemas operativos Servicios
Sistemas operativos ServiciosSistemas operativos Servicios
Sistemas operativos Servicios
 
12.diseño basado en patrones
12.diseño basado en patrones12.diseño basado en patrones
12.diseño basado en patrones
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Modelos y capas de la ingenieria de software
Modelos y capas  de la ingenieria de softwareModelos y capas  de la ingenieria de software
Modelos y capas de la ingenieria de software
 
tecnicas de revisión del software
tecnicas de revisión del softwaretecnicas de revisión del software
tecnicas de revisión del software
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Metodología Cascada
Metodología CascadaMetodología Cascada
Metodología Cascada
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software  Unidad 2 - Software Enginnering - Ian sommervilleProcesos de software  Unidad 2 - Software Enginnering - Ian sommerville
Procesos de software Unidad 2 - Software Enginnering - Ian sommerville
 

Destacado

crisis del software
crisis del softwarecrisis del software
crisis del softwarelualpare
 
Crisis software
Crisis softwareCrisis software
Crisis softwarenetoliguz
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del softwareecasteloc
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del softwareMario IC
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Softwarealbert317
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwaresergio
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 
Entorno Personal de Aprendizaje y Redes Sociales en Educación
Entorno Personal de Aprendizaje y Redes Sociales en EducaciónEntorno Personal de Aprendizaje y Redes Sociales en Educación
Entorno Personal de Aprendizaje y Redes Sociales en EducaciónElena Rodríguez Jiménez
 

Destacado (13)

crisis del software
crisis del softwarecrisis del software
crisis del software
 
Crisis software
Crisis softwareCrisis software
Crisis software
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del software
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del software
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del software
 
Introducción a la ingeniería del software
Introducción a la ingeniería del softwareIntroducción a la ingeniería del software
Introducción a la ingeniería del software
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Calidad Del Producto Software
Calidad Del Producto SoftwareCalidad Del Producto Software
Calidad Del Producto Software
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Entorno Personal de Aprendizaje y Redes Sociales en Educación
Entorno Personal de Aprendizaje y Redes Sociales en EducaciónEntorno Personal de Aprendizaje y Redes Sociales en Educación
Entorno Personal de Aprendizaje y Redes Sociales en Educación
 

Similar a La crisis del software

La Crisis del Software (Grupo #2)
La Crisis del Software (Grupo #2)La Crisis del Software (Grupo #2)
La Crisis del Software (Grupo #2)Joel Villao
 
Software de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºcSoftware de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºcdianafani
 
Curso ingeniería de software parte i
Curso ingeniería de software parte iCurso ingeniería de software parte i
Curso ingeniería de software parte iparafernalico
 
Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software llmdmyn14
 
6. is construcción del software
6. is construcción del software6. is construcción del software
6. is construcción del softwareNagut
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfssuser7ccf16
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareIngryd Cobain
 
Tema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdfTema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdfNinoskaChuraLlojlla1
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Softwareguest9ad165
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software Monica Glez
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareMonica Glez
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Marcos Omar Cruz Ortrega
 
Intoduccion A La Ingenieria Del2
Intoduccion A La Ingenieria Del2Intoduccion A La Ingenieria Del2
Intoduccion A La Ingenieria Del2guest9ad165
 

Similar a La crisis del software (20)

La Crisis del Software (Grupo #2)
La Crisis del Software (Grupo #2)La Crisis del Software (Grupo #2)
La Crisis del Software (Grupo #2)
 
Software de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºcSoftware de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºc
 
Ensayo (El Software)
Ensayo (El Software)Ensayo (El Software)
Ensayo (El Software)
 
Curso ingeniería de software parte i
Curso ingeniería de software parte iCurso ingeniería de software parte i
Curso ingeniería de software parte i
 
Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software
 
6. is construcción del software
6. is construcción del software6. is construcción del software
6. is construcción del software
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Tema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdfTema 2 Modelos de Proceso del Software_para imprimir.pdf
Tema 2 Modelos de Proceso del Software_para imprimir.pdf
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Software
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASE
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)Ingenieria de software. (mitos, leyendas y factores)
Ingenieria de software. (mitos, leyendas y factores)
 
Intoduccion A La Ingenieria Del2
Intoduccion A La Ingenieria Del2Intoduccion A La Ingenieria Del2
Intoduccion A La Ingenieria Del2
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 

La crisis del software

  • 1. La Crisis del Software El término “Crisis del Software” fue acuñado a principios de los años 70, cuando la ingeniería de software era prácticamente inexistente. El término expresaba las dificultades del desarrollo de software frente al rápido crecimiento de la demanda por software, de la complexidad de los problemas a ser resueltos y de la inexistencia de técnicas establecidas para el desarrollo de sistemas que funcionaran adecuadamente o pudieran ser validados. La percepción de que esta crisis existía empezó a mediados de los años 60. Una de las primeras referencias al término, y de las más notables, fue hecha por E.W.Dijkstra, en el discurso que pronunció durante la entrega del premio Turing en 1972. En este trabajo abordaremos porque se produjo esta crisis, y cuál fue el camino adoptado para resolverla, o minimizar sus efectos de algún modo. CAUSAS DE LA CRISIS DEL SOFTWARE Durante finales de los años 50 i principios de los 60, la potencia computacional de las maquinas era bastante limitada. Es por esto que los programas que se desarrollaban eran “simples” desde nuestro punto de vista actual. Seguían un proceso de desarrollo bastante artesanal, sin una metodología o un camino a seguir para su desarrollo. En esta época se solían usar los lenguajes de bajo nivel para el desarrollo de Software. Pero a finales de los 60, la potencia de las maquinas empezó a aumentar de forma considerable. Empezaron a aparecer los lenguajes de programación de alto nivel, y las maquinas necesitaban programas mucho más complejos de los desarrollados
  • 2. hasta la época. En definitiva, fue un salto tremendo en cuanto a potencial de hardware, que no fue acompañado por un salto en el desarrollo de software. En esta época, se empezó a concebir el Software como producto, y se empezaron a desarrollar algunos proyectos para que funcionaran en las máquinas de la época. Pero aparecieron importantes problemas: los productos excedían la estimación de costes, había retrasos en las entregas, las prestaciones no eran las solicitadas, el mantenimiento se hacía extremadamente complicado y a veces imposible, las modificaciones tenían un coste prohibitivo…en resumen, se desarrollaba software de mala calidad, ya que la técnica utilizada para desarrollar pequeños programas para maquinas con mucho menos potencial se quedaba desfasada, y muchas veces este software acababa en el olvido. Como ejemplo, podemos ver este gráfico del año 1979, en el que se recoge la inversión en desarrollo de sistemas software en ese año ($6.8 Millones),y como acabó ese software Fuente: Apuntes Ingeniería del Software de Gestión. “Tema 1: Software e Ingeniería del Software” Una de las principales causas de todo esto, si no la principal, era el enfoque dado al proceso de desarrollo de software, el cual era malo e incluso a veces era inexistente. En este proceso, solo ¼ del tiempo de desarrollo se dedicaba a las fases de análisis, diseño, codificación y pruebas, y más de ¾ del tiempo se dedicaba a correcciones y mantenimiento. Es evidente que dedicándole sol ¼ del tiempo a las primeras fases, se arrastran errores graves, sobre todo procedentes de las fases de análisis y diseño, lo que dificultaba muchísimo la implementación, produciendo constantes paradas y retrocesos para revisar este análisis/diseño. Para que nos hagamos una idea, el conjunto de las fases de análisis y diseño abarcaban el 8% del tiempo total de desarrollo de software. Además casi el 80% de los errores se producían en estas dos fases, con lo que se incrementaba el coste de corrección de errores conforme evolucionaban las fases de manera bestial. Con estos indicadores estaba claro que algo estaba fallando y que el proceso de desarrollo de software necesitaba un cambio radical.
  • 3. INGENIERÍA DEL SOFTWARE, LA SOLUCIÓN. Viendo el camino directo al precipicio que estaba llevando el desarrollo de software, había que tomar medidas para solucionarlo. Y esas medidas se llamaron “Ingeniería del Software”. La Ingeniería del Software, según R.Pressman, es “Una disciplina que integra métodos, herramientas y procedimientos para el desarrollo de SW de computador”.Es decir, es una disciplina que intenta racionalizar el proceso de desarrollo de software y establecer unas pautas a seguir para el desarrollo que minimicen tiempo, esfuerzo, y coste de desarrollo y maximicen la calidad del software. Después de esta crisis, se intentaron establecer estas pautas, aplicándolos a algunos proyectos y aumentando la inversión. En 1991 se hizo un estudio para comprobar los resultados de la aplicación de estos métodos, y los resultados fueron bastante buenos. El 52% de los proyectos se terminaron con éxito, frente al 2% del año 1979 y el 31,1% se terminó con algunas modificaciones respecto a lo acordado inicialmente, frente al 3% del año 1979. Pero el resultado más espectacular se obtuvo en los proyectos abandonados. En 1991 sólo se abandonaron el 16,2% de proyectos, frente al casi 76% del año 1979. Una reducción increíble de casi el 60% que no hacía mas que confirmar la bondad de estos métodos aplicados al proceso de desarrollo de software. Había nacido una nueva disciplina, la Ingeniería del Software, Para hacernos una idea mas concreta de lo que abarca la Ingeniería del Software (cosa que nos ayudará a entender porque fue la solución a esta Crisis del Software), debemos de centrar nuestra explicación en que la I.S busca
  • 4. principalmente software de calidad, que es aquel software que cumple los requisitos funcionales y de rendimiento establecidos previamente y consta de unos estándares de desarrollo bien documentados. Además todos sus factores de calidad deben cumplirse y tener un buen seguimiento durante todo el proceso de desarrollo (características operativas, capacidad de soportar cambios y adaptabilidad a nuevos entornos). Y por último, se incorporan al proceso nuevos modelos de desarrollo y modificación del ciclo de vida, nuevos paradigmas de programación, etc.…que hacen que el desarrollo de software sea mucho mas metodológico y estructurado, disminuyendo así notablemente fallos y correcciones costosas. Como ejemplo de que la ingeniería del software es en la actualidad imprescindible, la revista inglesa “PrivateEye” dio detalles sobre importantes proyectos de software que han dado malos resultados. Entre ellos destacan los del servicio de ambulancias Asinfor de Londres, el servicio de sanidad regional de Wessex, la Sociedad para los derechos de autor y el sistema de manejo de equipajes del aeropuerto de Denver. Por último, os dejo unas viñetas, muy vistas pero no por ello menos buenas, que resumen en unas pocas imágenes la gran problemática del desarrollo del software.