Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matricula: “2018-0607”
Historia del Software
Desde sus inicios en la década de 1940, escribir software ha evolucionado hasta convertirse
en una profesión que se ocupa de cómo crear software y maximizar su calidad. La calidad
puede referirse a cuán mantenible es el software, su estabilidad, velocidad, usabilidad,
comprobabilidad, legibilidad, tamaño, costo, seguridad y número de fallas o "bugs", así
como, entre muchos otros atributos, a cualidades menos medibles como elegancia,
concisión y satisfacción del cliente. La mejor manera de crear software de alta calidad es un
problema separado y controvertido cubriendo el diseño de software, principios para escribir
código, llamados "mejores prácticas", así como cuestiones más amplias de gestión como
tamaño óptimo del equipo de trabajo, el proceso, la mejor manera de entregar el software a
tiempo y tan rápidamente como sea posible, la "cultura" del lugar de trabajo, prácticas de
contratación y así sucesivamente. Todo esto cae bajo la rúbrica general de ingeniería de
software.
El concepto de ingeniería del software surgió en 1968, tras una conferencia en Garmisch
(Alemania) que tuvo como objetivo resolver los problemas de la crisis del software. El
término crisis del software se usó desde finales de 1960 hasta mediados de 1980 para
describir los frecuentes problemas que aparecían durante el proceso de desarrollo de nuevo
software. Tras la aparición de nuevo hardware basado en circuitos integrados, comenzaron
a desarrollarse sistemas y aplicaciones mucho más complejos que hasta entonces no era
posible construir puesto que el hardware disponible no lo permitía. Estos nuevos proyectos
de desarrollo de software, en la mayoría de las ocasiones, no se terminaban a tiempo, lo
cual también provocaba que el presupuesto final del software excediera de aquel que se
había pactado. Algunos de estos proyectos eran tan críticos (sistemas de control de
aeropuertos, equipos para medicina, etc.) que sus implicaciones iban más allá de las
pérdidas millonarias que causaban. Además, en muchos casos el software no daba respuesta
a las verdaderas necesidades del cliente o había que ser un usuario experto para poder
utilizarlo, todo ello sumado a que el mantenimiento de los productos era complejo y muy
costoso.
Una definición atribuida a Lehman y Ramil dice que la evolución del software son todas las
actividades de programación que se orientan a generar una nueva versión de un software a
partir de una versión anterior que esté operativa.
Ned Chapin (1999) lo definió como “la aplicación de las actividades y procesos de
mantenimiento del software que generan una nueva versión operativa de un software con
una funcionalidad de usuario o propiedades cambiadas a partir de una versión anterior junto
con los procesos y actividades de garantía de calidad y con la gestión de esos procesos”. De
estas definiciones se desprende que la evolución cubre el ajuste a funcionalidades
adicionales.
Para dar paso a la evolución de software es necesario dividirlas en cuatro eras que son las
siguientes:
Síntomas
Uno de los principales problemas en el desarrollo de software de hoy en día 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:
• Confiabilidad Cuestionable.
Origen
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.