SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Metodología xp
Metodología xpMetodología xp
Metodología xp
Piskamen
 
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
ElvisAR
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Sergio Sanchez
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
Ades27
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
Geovanny Yungán
 
Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
Seba Briones
 

Was ist angesagt? (20)

naturaleza del software
naturaleza del softwarenaturaleza del software
naturaleza del software
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
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
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Métodos Formales
Métodos FormalesMétodos Formales
Métodos Formales
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Presentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del softwarePresentaciòn modelos para el desarrollo del software
Presentaciòn modelos para el desarrollo del software
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Cuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de softwareCuadro comparativo modelos para el desarrollo de software
Cuadro comparativo modelos para el desarrollo de software
 
Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNHistoria Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
 

Andere mochten auch (11)

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
 
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
 
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
 

Ähnlich wie La crisis del 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
parafernalico
 
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdfCarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
CarenBelmont_IngenieriaDeSoftware_TrabajoPractico_N°1.pdf
ssuser7ccf16
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
Ingryd Cobain
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Software
guest9ad165
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
Monica Glez
 
Intoduccion A La Ingenieria Del2
Intoduccion A La Ingenieria Del2Intoduccion A La Ingenieria Del2
Intoduccion A La Ingenieria Del2
guest9ad165
 

Ähnlich wie La crisis del software (20)

Crisis de software
Crisis de softwareCrisis de software
Crisis de 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)
 
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
 

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.