Evolución de ingeniería de Software

  • Generación cero

    Los primeros sistemas computaciones no poseían sistemas operativos, usuarios tenían completo acceso al lenguaje de la máquina
  • Programas militares

    Basados en hardware dedicado
  • Period: to

    Distribución limitada

    Software a medida sistemas construidos por tubos de vacío
  • Nace fortran

    Nace fortran
    Nace el lenguaje fortran
  • Nace cobol

    Nace cobol
    Nace el lenguaje cobol
  • Sistemas comérciales

    Sistemas comérciales en computadores generales
  • Crisis del software

    Surge ya que la elaboración de software sobrepasaba los costos y los tiempos estimados, además que surgían demasiadas fallas, en esta época se acuña en nombre ingeniería de software
  • Segunda generación

    Uso del transistor como parte principal en la elaboración de las computadoras, donde se disminuye el tamaño de las computadoras y su costo de fabricación
  • Period: to

    Aplicaciones industriales

    Se crean aplicaciones industriales en computadores personales intercomunicadas
  • Nacen los principios de ingeniería

    Se establecen los principios como resultado de la investigación y las buenas prácticas de programación
  • Nace "c"

    Nace "c"
    Nace el lenguaje de programación c
  • Surge la programación estructurada

    Surge la programación estructurada y el concepto de estilo de programación. Aparece el concepto de ciclo de vida en el desarrollo de software. Se proponen ayudas para la administración y de apoyo en el desarrollo.
  • Period: to

    Confiabilidad y calidad del software

    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.
  • Nace basic

    Nace basic
    nace el lenguaje basic
  • Se inicia el diseño y especificación del requierimiento

    Se pone atención a las fases anteriores a la codificación como análisis de requerimientos, especificación y diseño. Surgen las técnicas como abstracción y descomposición modular. Se hacen esfuerzos para integrar y validar las fases sucesivas del desarrollo.
  • Uso de herramientas automatizadas

    Se inician las herramientas automatizadas para cada fase del ciclo de vida siguiendo la programación estructurada.
  • Period: to

    Paradigma orientado a objetos

    Aparece el paradigma orientado a objetos para el desarrollo de software grande. Promueve conceptos como la abstracción, la herencia el reusó. Se inicia el uso masivo de técnicas automatizadas de desarrollo de software.
  • Nace java

    Nace java
    Nace el lenguaje java
  • Period: to

    Se crean las aplicaciones en web

    Aplicaciones empresariales integradas en servicios de la web
  • Aparece la internet

    Internet se convierte en realidad y a comienzo del nuevo siglo ya cuanta con red de redes
  • Aparecen las metodologías agiles

    la necesidad de soluciones de software de bajo costo llevó al crecimiento de metodologías más simples y rápidas que desarrollaran software funcional
  • Ingeniería de software como estandar iso

    La profesión está tratando de definir sus límites y contenido. El Software Engineering Body of Knowledge SWEBOK ha sido presentado como un estándar ISO durante 2006 (ISO/IEC TR 19759).
  • Aplicaciones en la nube

    Aplicaciones empresariales y sociales integradas en la nube, sistemas embebidos