Is

Historia de la Ingeniería del Software

  • SAGE

    SAGE
    El sistema de defensa SAGE es el desarrollo más representativo de esta época. La operación del sistema era controlada por tarjeta perforadas.
  • Period: to

    Ingeniería del Hardware.

    El desarrollo de software sigue el mismo proceso que al desarrollo de hardware, tipo cascada rigurosa. Se aprende a
    no ignorar matemáticas, ciencias de la computación, sociales, económicas y administrativas. A usar el método científico para aprender a través de la experiencia. A no comprometerse demasiado antes de entender la complejidad de un proyecto. Seguir rigurosamente el proceso de desarrollo secuencial.
  • FORTRAN

    FORTRAN
    IBM desarrolla FORTRAN (FORmula TRANslator), el primer lenguaje de programación con el que también da inicio la teoría de los compiladores (por ejemplo las gramáticas BNF).
  • COBOL

    COBOL
    Grace Cooper
  • LISP

    LISP
    John MacCarhty desarrolla LISP, uno de los lenguajes de programación más viejos e influyentes.
  • Circuito Integrado

    Circuito Integrado
    El desarrollo del circuito integrado se convierte en un gran avance.
  • Period: to

    Desarrollo de Software Artesanal

    Las propiedades de software, tales como: fácil de modificar, fácil de copiar, no se gasta, es invisible, fomentaron el proceso de desarrollo tipo “codifica y corrige” (code and fix). Se inició la cultura del hacker en el buen sentido de la palabra, es decir experto en programación, y la del vaquero (cowboy) que hace desarrollos heroicos de última hora.
  • El ratón de Engelbert

    El ratón de Engelbert
    Douglas Engelbert inventa el ratón
  • Hipertexto

    Hipertexto
    Theodore H. Nelson crea el concepto hipertexto.
  • Teorema de Bohm Jacopini

    Teorema de Bohm Jacopini
    Se publica el Teorema de Bohm-Jacopini en dónde se demuestra que un algoritmo puede representarse con tres estructuras básicas: secuencia, selección y repetición.
  • Ingeniería del Software

    Ingeniería del Software
    Se establece como tal el campo de la Ingeniería del Software.
  • GOTO

    GOTO
    Dijkstra y su artículo "Goto statement considered harmful"
  • UNIX

    UNIX
    Nacimiento del Sistema Operativo UNIX, el papá de todos los Sistemas Operativos modernos.
  • Modelo en Cascada

    Modelo en Cascada
    Descripción formal del modelo en cascada por Winston W. Royce.
  • Period: to

    Modelo en Cascada

    Se identifican las diferentes fases del desarrollo: requerimientos, análisis, diseño, codificación y pruebas. Se introduce la programación estructurada y métodos formales para especificar software. Se identifican principios de diseño, como modularidad, encapsulación, abstracción de tipos de datos, acoplamiento débil y alta cohesión, entre otros. Se publica el modelo de cascada y se definen los conceptos de verificación y validación.
  • The humble programmer

    The humble programmer
    Articulo de Edgar Dijkstra.
  • Mythical Man Month

    Mythical Man Month
    Frederick P. Brooks.
  • PASCAL

    PASCAL
    Nicolas Wirth
  • Period: to

    Productividad y escalabilidad.

    Se busca la productividad y escalabilidad de sistemas y equipos de desarrollo. La Orientación a Objetos renace con fuerza a través de las múltiples propuestas de lenguajes de programación. Se crea el primer modelo de madurez de capacidades de procesos (SW-CMM) y los primeros estándares. Nace el concepto de Fábricas de Software y se generan las primeras herramientas para incrementar la productividad a través de la programación por el usuario, tales como 4GLs.
  • Excelerator

    Excelerator
    Lla primera herramienta CASE fue Excelerator que salió a la luz en el año 1984 y trabajaba bajo una plataforma PC.
  • No Silver Bullets

    No Silver Bullets
    Fred Brook
  • Modelo de software en espiral

    Modelo de software en espiral
    Barry Boehm
  • Period: to

    Procesos concurrentes vs. secuenciales

    La concurrencia adquiere mayor importancia. La OO se extiende a las fases de análisis y diseño. Se define el UML y se genera el RUP. Los diseñadores y los arquitectos de software empiezan a recaudar las mejores experiencias a través de patrones de diseño y de arquitectura. Se define el Modelo Espiral basado en el análisis de riesgos y su vertiente: desarrollo iterativo e incremental. El Software Libre toma fuerza. La usabilidad de sistemas se convierte en el foco de atención e investigación.
  • Rapid Application Development

    Rapid Application Development
    James Martin
  • OMT

    Object Modeling Technique de James Rumbaugh
  • Booch

    Técnica de modelado de Grady Booch
  • SCRUM

    SCRUM
    Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software.
  • Método de ing. de software OO

    Ivar Jacobson
  • UML

    Se desarrollan las primeras especificaciones de UML (Rumbaugh, Jacobson, Booch).
  • Period: to

    Agilidad y Valor

    Agilidad en el desarrollo y el valor para el cliente. Se redacta el Manifiesto de Agilidad. Surgen nuevos dispositivos (PDAs, celulares) que involucran el ciclo: Aprendizaje-Seguridad-Mejorar su uso. Las cualidades prioritarias de sistemas son: Seguridad/Privacidad, Usabilidad y Confiabilidad. Se incrementa la propagación de software empaquetado COTS (Commercial-Off-The_Shelf). Crece el código abierto. El desarrollo dirigido por modelos (MDD, Model Driven Development toma fuerza.
  • Extreme Programming

    Extreme Programming
    Kent Beck, publica: Extreme Programming Explained: Embrace Change.
  • Manifesto for Agile Software Development.

    Manifesto for Agile Software Development.
    Firmado por Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland y Dave Thomas.
  • Enterprise Unified Process

    Es una extensión de RUP
  • Constructionist Design Methodology

    Kristinn R. Thórisson
  • Agile Unified Process

    AUP de Scott Ambler
  • Period: to

    Futuro 2010-2020

    +Globalización.
    +Sistemas de sistemas.
    +Abundancia computacional.
    +Autonomía computacional.
    +Combinación de la biología y la computación.