evolución del software

  • primera era

    a lo largo de los primero años se aprendió mucho sobre la inplementacion de sistemas informáticos pero relativamente poco sobre ingeniería del software
  • 1968

    surge la crisis del software pues el proceso de desarrollo, sobrepasa los costos y el tiempo estimados y tienen demasiadas fallas, se acuña el nombre de ingeniería del software
  • 1969-1971

    se establecen los primeros principios como resultado de la primera investigación en buenas practicas de programación , tales cmo: diseño descendente top- down refinamiento sucesivo, modular
  • 1970

    la multipropagacion y los sistemas multiusuario produjeron nuevos conceptos de interacción hombre maquina, las técnicas interactivas abrieron un nuevo mundo
  • 1972

    surge la programación estructurada y el concepto de estilos de programación, aparece el concepto de ciclo de vida en el desarrollo del software, se proponen ayudas para la administración del software.
  • 1974-1975

    se inicia el manejo de la noción de confiabilidad y calidad del software, se inician las pruebas sistemáticas, la noción de corrección formal, modelos de tolerancia a fallas y confiabilidad total
  • 1976- 1977

    se pone atención en las fases anteriores de la codificación, como el análisis de requerimientos, especificación y diseño, surgen las técnicas como abstracción y descomposición modular.
  • 1978-1980

    incremento de uso de herramientas automatizadas se llevan a cabo cursos de ingeniería de software, los principios de desarrollo de 1969 y 1971 se usan masiva mete en la industria
  • 1980-1985

    se inician las herramientas automatizadas para cada ciclo de vida del software siguiendo la programación estructurada.
  • 1986-1995

    aparece el paradigma orientado a objetos para el desarrollo de software grande, promueve conceptos como la abstracción
  • 1995- 2017

    al día de hoy permanecen metodologías por cuya funcionalidad y versatilidad resultan útiles la diferencia radica en que aumenta la omnipresencia de la web y la reutilizacion del código y componentes del software.