La Crisis Del Software
Click here to load reader
-
Upload
jose-briceno -
Category
Documents
-
view
708 -
download
0
Transcript of La Crisis Del Software
Universidad Nacional Experimental
De los Llanos Occidentales
Ezequiel Zamora
Autores:
Briseño José
Delgado Víctor
Rodríguez Gabriel
La Crisis del Software
INTRODUCCIÓN
Aun en estos tiempos que corren, el software al igual que en sus primeros pasos se
sigue topando con los mismos problemas, ya que el tiempo que se debe emplear para
generar dicho software no es posible calcularlo a priori, ni conocer la dificultad del mismo
a la hora de crearlo, y esto conlleva el encarecimiento de dicho software si se tiene que
contratar más mano de obra o dedicarle más horas de las previamente estipuladas, y si a
esto se le añade que el producto final no es de agrado del cliente, ahí tenemos lo que
comúnmente se conoce como “crisis del software”. Un claro fracaso es el que ocurrió en
1994 realizado por la Autoridad Federal de Aviación para modernizar el sistema
informático que se utilizaba para hacer el seguimiento de los aviones que están en el aire.
Tras 14 años, hasta 2000 personas trabajando y 3.7 millones invertidos el proyecto se
paralizó por completo por el Congreso, nada del proyecto sirvió ni se utilizó para nada.
Esto demuestra la falta de madurez de la ingeniería del software, que después de tanto
trabajo no sirvió ni una sola línea de código, puesto que según avanzaba el proyecto más
complicado resultaba tanto su utilización como su comprensión. En cualquier caso, la
ingeniería del software tiene que responder a posteriori a los cambios en la tecnología del
software, deberá traer métodos para su desarrollo y mantenimiento que es una de las tareas
más costosas y tediosas, una vez que se conozcan las características de las novedades
técnicas en el software. Actualmente para que el software se ajuste todo lo posible a las
necesidades de la empresa que requiere un análisis, tiene que haber una relación entre el
suministrador y el usuario final para conocer todas las funciones necesarias, facilidad de
comprensión, futuras ampliaciones y posibles fallos, pero aun así y todo siempre acaban
saliendo “lagunas” en el código que en ocasiones acaba en ampliaciones y mas costos para
la empresa
LA CRISIS DEL SOFTWARE
Con la aparición en la década de los 60 de nuevos sistemas multiusuario surgió un
problema que se ha ido acrecentando a medida que han surgido nuevos sistemas cada vez
más sofisticados, este problema es la portabilidad de las antiguas aplicaciones a los nuevos
sistemas y el mantenimiento de las mismas. Junto a este problema hay que decir, que es
cada vez mayor la demanda de aplicaciones software que reúnan características específicas
o que mejoren aplicaciones ya existentes con la incorporación de nuevas facilidades. En un
intento de aunar bajo una misma definición los diversos problemas que el desarrollo y
mantenimiento de software conlleva, aparece la noción de crisis del software. Podemos
decir que cuando nos referimos a la crisis de software, nos estamos refiriendo a un conjunto
de problemas que surgen en torno al desarrollo de software de computadoras. Dichos
problemas no se limitan únicamente a un funcionamiento inadecuado de un producto, sino
también a problemas relacionados con como desarrollar software, como mantener el
software existente y futuro y a la vez como satisfacer la demanda creciente.
La crisis del software es el hecho de que el software que se construye no solamente
no satisface los requerimientos ni las necesidades pedidos por el cliente, sino que además
excede los presupuestos y los horarios de tiempos. La industria del software no ha podido
satisfacer la demanda, la complejidad del software producido y demandado se incrementa
constantemente, el software es solicitado para ejecutar las tareas demandantes de hoy y está
presente en todos los sistemas que van desde los más sencillos hasta los de misión crítica.
Las aplicaciones de software son complejas porque modelan la complejidad del mundo
real. En estos días, las aplicaciones típicas son muy grandes y complejas para que un
individuo las entienda y, por ello, lleva gran tiempo implementar 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 pronuncio durante la entrega del premio Turing en 1972
CAUSAS DE LA CRISIS DEL SOFTWARE
Durante finales de los años 50 y 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.
SÍNTOMAS
Uno de los principales problemas en el desarrollo de software, es que muchos
proyectos empiezan la programación tan pronto se definen y concentran mucho de su
esfuerzo en la escritura de código. Últimamente el desarrollo de software se ralentizado. El
estudio de este fenómeno es importante porque la existencia de software científico libre
facilita que cualquier laboratorio del mundo pueda desarrollar ciencia libre usando este
software como herramienta de trabajo.
Algunos "síntomas" que indican que el software se encuentra en un periodo de crisis
son:
Baja Calidad del Software.
Tiempo y Presupuesto Excedido.
Confiabilidad Cuestionable.
Altos Requerimientos de Personal para desarrollo y mantenimiento.
Factores de Influencia
Para poder llevar el estado del proceso de software como un estado de crisis, los
críticos han destacado ciertas características que han permitido esta postura del software
respecto a otras etapas de su corta historia. Algunos de esos factores son:
Aumento del poder computacional.
Reducción del costo del hardware.
Rápida obsolescencia de hardware y software.
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 más metodológico y estructurado,
disminuyendo así notablemente fallos y correcciones costosas.
BIBLIOGRAFÍA
Libros consultados:
Manuel Ortega Cantero, José Bravo Rodríguez, Julián Ruiz Hernández. Informática Industrial
F. Alonso Amo, Loïc Martínez Normand. Introducción a la ingeniería del software
Paginas Web Consultadas:
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