Senya

Senya

jueves, 21 de junio de 2007

miércoles, 7 de marzo de 2007

domingo, 18 de febrero de 2007

TAREA 1. LA CRISIS DEL SOFTWARE

LA CRISIS DEL SOFTWARE

Ciencia y software libre siempre han tenido una relación estrecha. Antes de que Richard Stallman desarrollara la licencia GPL, ya existia gran cantidad de software científico libre. En las épocas en que el peso del software propietario era más grande en el mundo ``comercial'', la mayor parte del software libre se concentraba en el área científica.

Por otro lado, el software libre siempre ha sido una piedra angular del desarrollo científico. Permitiendo al científico una más rápida verificación de sus teorías aprovechando código de los otros, y asegurando la posibilidad de acceder a el código a bajo costo -ya que hay una amplia tradición histórica de que los científicos compartan código apenas a cambio de reconocimiento-, el esfuerzo de desarrollo compartido ha permitido acelerar el adelanto científico en muchas áreas, como por ejemplo en la química computacional con el proyecto QCPE o el CCL; y al mismo tiempo ha permitido que pueda ser realizada ciencia también en lugares con bajo presupuesto.

Sin embargo, la situación ha comenzado a mudar. En el área comercial, el software libre se hace popular hasta el punto de comenzar a plantar cara al software propietario. Por otro lado, en el área científica cada vez son más frecuentes los paquetes propietarios, y vemos al software libre ahogarse y retroceder lentamente. El software científico bajo licencia GPL en muchas áreas actualmente es, desafortunadamente, prácticamente inexistente.

Durante los últimos años la industria del software ha ido experimentado una crisis creciente de problemas, más o menos comunes a las distintas categorías de software.
Las principales tendencias de la llamada crisis del software son:

Calidad insuficiente del producto final
Estimaciones de duración de proyectos y asignación de recursos inexactas
Retrasos para entregar los productos terminados
Costos de desarrollo y mantención de productos fuera de control
Escasez de personal calificado en un mercado laboral de alta demanda
Tendencia al crecimiento del volumen y complejidad de los productos

Que se ha originado históricamente en los siguientes pasos:

Ø Primera Fase. Los albores (1945-1955)
Programar no es una tarea diferenciada del diseño de una máquinas o de lenguaje máquina y ensamblador
Ø Segunda Fase. El florecimiento (1955-1965)
Aparecen multitud de lenguajes
Era posible hacer casi todo
Ø Tercera Fase. La crisis (1965-1970)
Desarrollo inacabable de grandes programas
Ineficiencia, errores, coste impredecible
Nada es posible
Ø Cuarta Fase. Innovación conceptual (1970-1980)
Fundamentos de programación
Verificación de programas
Metodologías de diseño
Ø Quinta Fase. El diseño es el problema (1980-?)
Entornos de programación
Especificación formal
Programación automática

La solución a la crisis del Software se llama “Ingeniería de Software”, que se puede definir como “el tratamiento sistemático de todas las fases del ciclo de vida del software”

Actualmente se considera la Ingeniería del Software como una nueva área de la ingeniería, y la profesión de ingeniero informático es una de las más demandadas. La palabra ingeniería tiene una connotación de prestigio que provoca que muchas ramas del conocimiento tiendan a autodenominarse así.

La ingeniería del software trata áreas muy diversas de la informática y de las ciencias de la computación, aplicables a un amplio espectro de campos, tales como negocios, investigación científica, medicina, producción, logística, banca, meteorología, derecho, redes, entre otras muchas.

Sin embargo, es frecuente que en la práctica diaria profesional no se incluya prácticamente ninguna de las recomendaciones más elementales de la ingeniería del software. Es habitual que el desarrollo de software se parezca más al descontrol del cuento de «si los programadores fueran albañiles...» que a una idílica y bien organizada "factoría de software" (concepto de gran vigencia a finales de los ochenta).

De hecho, las evaluaciones de los procesos productivos de software realizadas a raíz de los modelos de procesos de software confirman que el desarrollo de software suele estar básicamente en estado caótico. Y no sólo en pequeñas empresas de países como España, sino en grandes proyectos en naciones como EE UU y Japón.

Como ejemplo de que la ingeniería del software es en la actualidad imprescindible, la revista satírica inglesa Private Eye dio detalles sobre importantes proyectos de software que han dado resultados malos. 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.

REFERENCIAS

http://www.um.es/docencia/barzana/IAGP/Iagp1.html
ls.fi.upm.es/mdp/doc/Desarrollo_estructurado_MDP_2006.pdf
es.tldp.org/Presentaciones/200002hispalinux/conf-18/18-html/
www.geocities.com/SiliconValley/Lab/3629/lacrisis.htm