-
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
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
Grace Cooper -
LISP
John MacCarhty desarrolla LISP, uno de los lenguajes de programación más viejos e influyentes. -
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
Douglas Engelbert inventa el ratón -
Hipertexto
Theodore H. Nelson crea el concepto hipertexto. -
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
Se establece como tal el campo de la Ingeniería del Software. -
GOTO
Dijkstra y su artículo "Goto statement considered harmful" -
UNIX
Nacimiento del Sistema Operativo UNIX, el papá de todos los Sistemas Operativos modernos. -
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
Articulo de Edgar Dijkstra. -
Mythical Man Month
Frederick P. Brooks. -
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
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
Fred Brook -
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
James Martin -
OMT
Object Modeling Technique de James Rumbaugh -
Booch
Técnica de modelado de Grady Booch -
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
Kent Beck, publica: Extreme Programming Explained: Embrace Change. -
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.