HISTORIA DE LA INGENIERIA DE SOFTWARE y EL PAPER PUBLICADO POR BOOCH.
-
Harvard
En Harvard, las mujeres se encargaban de muchas de los cálculos matemáticos usados en la astronomía, a este equipo se le conoció como "Computadoras de Harvard", aunque no existían computadoras digitales en sí. -
Gran depresión
Después de la Gran depresión (1929) los Gilbreth promocionaron el concepto de diagramas de proceso, los predecesores a los diagramas de flujo. -
Las Tablas Matemáticas
En 1940, Wallace Eckert, en base a Las Tablas Matemáticas lanzadas por el presidente Roosevelt desarrollaría la 1ra metodología de computación. -
De la gran depresión a la Segunda Guerra Mundial: Nacimiento del Computadora electronica
Este fue un proyecto de ayuda laboral que empleó a cientos de matemáticos y computadoras sin trabajo (nuevamente, en su mayoría mujeres). Blanche El trabajo desarrolló las mejores prácticas para la computación humana que eran extremadamente sofisticado, incluidos los mecanismos para la comprobación de errores, que influyó la forma en que evolucionó la computación de tarjetas perforadas. En 1940, Wallace Eckert Métodos de tarjeta perforada publicados en Computación científica -
El término "digital"
Sin embargo el término "digital" apareció a mediados del año 1942 cuando George Stibitz aplico las ideas de George Boole a los dispositivos electromecánicos. El término "Software" vino una década después, gracias a John Tukey. -
Period: to
LAS PRIMERAS COMPUTADORAS eran humanas
En su mayor parte, mujeres). El término "digital" no entró en circulación hasta alrededor de 1942, cuando George Stibitz tomó las ideas de otro George (Boole) y aplicó a los dispositivos electromecánicos. Eso tomó otra década para John Tukey para popularizar el término "software". Entonces, ¿qué pasa con el término "software Ingenieria"? -
John von Neumann
Él llamó a esto el modelo K (la K que representa la mesa de la cocina en la que lo construyó), y así nació la informática digital. La idea de construir mecanismos electromecánicos. para que el cálculo se difunda rápidamente, y No pasó mucho tiempo después que otros se dieron cuenta de que los relés podían ser reemplazados por tubos de vacío, que eran mucho, mucho más rápido. En el verano de 1944, una reunión fortuita entre John von Neumann -
segunda guerra mundial
Después de la segunda guerra mundial terminada en 1945 Maurice Wilkes, David Wheeler y Stanley Gill crean el concepto subrutinas, el poder de descomponer algoritmos. -
con George Stibitz
En Europa el mundo de la computación digital se inicio con George Stibitz aplico la lógica de George Boole para construir el primer sumador digital para en 1946 ver nacer a ENIAC -
Grace Hopper crea el primer Compilador
En 1951 Grace Hopper crea el primer Compilador de la idea que se podría crear un lenguaje mas cercano a los humanos. -
Avance del software comercial
En los años 1960 era notorio el avance del software comercial Margaret Hamilton acuñó el término “ingeniería de software” y en el que la OTAN declaró que había una "crisis del software". -
Ole Dahl y Kristen Nygaard
En los años 1960 Ole Dahl y Kristen Nygaard, crearían Simula, el 1er lenguaje de programación orientada a objetos -
Ascenso de la Guerra Fría: Mayoridad
Ascenso de la Guerra Fría: Mayoridad El desarrollo de software ya no era solo una pequeña parte de traer una computadora a la vida; era cada vez más una parte muy cara, y ciertamente la parte más importante. Entonces ahí estábamos, en el segunda mitad de la década de 1960, con la confluencia de tres acontecimientos importantes en el historia del software: -
Period: to
Margaret Hamilton
Grady Booch sostiene que todos sus datos apuntan a que Margaret Hamilton usó por primera vez el término 'ingeniería de software' para distinguir su trabajo de la ingeniería de hardware mientras trabajaba en un programa espacial, el famoso proyecto Apollo y el Skylab, entre 1963 y 1964. -
Period: to
Con Sytem/360 de IBM
Con Sytem/360 de IBM anunciado en 1964 se dio la idea de separar el software del hardware. -
'Computers and Automation
En la edición de junio de 1965 de la revista 'Computers and Automation', apareció un anuncio de trabajo buscando un "ingeniero de sistemas de software". -
Period: to
Computadoras y Automación
Incluso antes, en la edición de junio de 1965 de Computadoras y Automación, apareció una
anuncio clasificado que busca un "ingeniero de software de sistemas". -
Anthony Oettinger
Otros creen que fue Anthony Oettinger, el cual uso este término en 1966 para hacer referencia a la distinción entre ciencias de la computación y el desarrollo de sistemas intensivos de software. -
Conferencia de la OTAN sobre software Ingeniería
Muchos sugieren que provino del 1968 Conferencia de la OTAN sobre software Ingeniería, acuñada por Friedrich Bauer. Otros han señalado el 1966 carta de Anthony Oettinger en Comunicaciones de la ACM, en la que usó el término "ingeniería de software" para hacer la distinción entre informática y la construcción de sistemas intensivos en software. -
Friedrich Bauer
Muchas personas sugieren que fue Friedrich Bauer quien acuño este término en la conferencia de ingeniería de software de la OTAN en 1968 -
Period: to
Programación modular
En los 1970 – 1980 se introdujo la programación modular junto con conceptos de acoplamiento y cohesión como mecanismos de composición de algoritmos. -
Programación diseñado
C++ es un lenguaje de programación diseñado en 1979 por Bjarne Stroustrup. La intención de su creación fue extender al lenguaje de programación C mecanismos que permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, C++ es un lenguaje híbrido. -
Ole Dahl y Kristen sobre programación orientado a objetos
En los años 1980 Es aquí cuando las ideas de Ole Dahl y Kristen sobre programación orientado a objetos (OO) dio lugar a lenguajes de programación como Smalltalk, C with Classes (posteriormente renombrado a C++), Ada, y muchos otros. -
Los métodos de análisis y diseño
En los 1980 Los métodos de análisis y diseño estructurado se adaptaron al enfoque OO al igual que las notaciones para modelar objetos como el método Booch, Objectory, OMT, estos últimos 3 se unirían para formar UML -
El método Booch
El método Booch surgió de esta sopa primordial de ideas, al igual que el OMT de Jim Rumbaugh (técnica de modelado de objetos) e Ivar Objeción de Jacobson. Sintiendo un oportunidad de llevar el mercado a algunas de las mejores prácticas comunes, tres de nosotros unidos para producir lo que se convirtió en el lenguaje de modelado unificado (hizo una gestión de objetos Estándar de grupo en 1987) y luego el Proceso Unificado. -
Internet había llegado al mundo de los negocios
En los años 90 el boom de Internet había llegado al mundo de los negocios, Los clientes tendrían acceso directo desde cualquier parte del mundo a los sistemas y los sistemas se interconectarían con otros programas externos. -
Un cambio gran cambio pasaría con la llegada de los dispositivos móviles
Igualmente, en los 1990 Un cambio gran cambio pasaría con la llegada de los dispositivos móviles, del mundo de servicios web se iría a un mundo de microservicios, y el crecimiento de infraestructuras Web apareció y pronto sería la plataforma por defecto gracias a compañías como Amazon, Google, Microsoft, IBM, Facebook, entre otras. -
Llegada de nuevos lenguajes
En los 1990 llegada de nuevos lenguajes como Javascript, Python, Swift, Rust, ... y lo mismo sigue sucediendo con los frameworks: Bootstrap, JQuery, React, MongoDB, Flutter - y seguira dandosé. (aunque en 1986, Hirotaka Takeuchi y Ikujiro Nonaka acuñaran el término “Scrum” como un enfoque de desarrollo de productos, Ken Schwaber y Jeff Sutherland lo adaptarían al mundo del software, Kent Beck, casi en la misma época lanzaría eXtreme Programming y en sí muchas nuevas métodos y práctic -
Los noventa y los Millennium: Era de disrupciones
Integración continua con el desarrollo incremental e iterativo se estaba convirtiendo en la norma. Los Banda de cuatro: Eric Gamma, Richard Helm, Ralph Johnson y John Vlissides: nos dio otro golpe en los niveles de ingeniería de software de abstracción en forma de patrón de diseño. Institucionalizado por Hillside Group en 1993, los patrones influyeron mucho en esa generación de desarrollo de software. -
Nuevos lenguajes .1
Nuevos lenguajes de programación iban y venían (y todavía lo hago), pero solo un puñado todavía dominan, por ejemplo, Java,
JavaScript, Python, C11, C #, PHP,y Swift. La informática pasó de el mainframe al centro de datos a la nube, pero junto con los microservicios, Internet evolucionó para convertirse en la plataforma informática de facto. Ecosistemas específicos de la empresa se levantaron como catedrales amuralladas: Amazon, Google, Microsoft, Facebook, Salesforce, IBM. -
Internet bien instalado
Con Internet bien instalado ( en 1996 31 de agosto ) y organizaciones que comienzan a abrazar sus posibilidades, los dispositivos móviles llegan a la escena y el mundo cambiado una vez más. La Fundación colocada por Brad Cox para la ingeniería basada en componentes transformada en arquitecturas basadas en servicios, que a su vez se transformó en arquitecturas de microservicio, evolucionando como el La infraestructura técnica de Web creció a trompicones y arranques. -
Una nueva época dorada en la Ingeniería de software
Una nueva época dorada en la Ingeniería de software había aparecido, Git y GitHub nacieron; Joel Spolsky creo Stack Overflow; Andrew Shafer y Patrick Debois el término DevOps; el mundo del Internet de las Cosas sigue emergiendo. Y las plataformas de e-learning se expandieron, cualquiera puede programar
Actualmente estamos en un nuevo cambio, aunque la IA ha existido décadas, ella está influyendo el mundo de la ingeniería de software de una forma distinta a como antes. -
Nuevas tecnologias
Además, agregar los cambios que traerán las nuevas tecnologías como la computación cuántica, realidad aumentada, el internet de las cosas entre otros. -
Ralph Johnson desarrolló aún más la idea de refactorización
Por esa misma época Kent Beck introdujo el concepto de Programación extrema, mientras Ralph Johnson desarrolló aún más la idea de refactorización (que Martin Fowler codificado en su libro Refactoring: Improving the Design of Existing Code). En febrero de 2001, 17 agilistas se reunieron en Snowbird, Utah, y escribió el Manifiesto Ágil. -
Cuerpo de Ingeniería de Software de Knowledge
Artefactos como SWEBOK (Cuerpo de Ingeniería de Software de Knowledge, lanzado por primera vez en 2004 y cuya versión actual fue lanzada en 2014) 9 y los Sistemas Cuerpo de conocimientos de ingeniería por INCOSE10 existe como un intento codificar mejor la ingeniería de software prácticas. -
Futuro de la ingeniería de software
Y asi es será para el futuro de la ingeniería de software. Como dije al cerrar en mi discurso de apertura en el 2015 Internacional Conferencia de Ingeniería de Software en Florencia, el software es lo invisible escritura que susurra las historias de posibilidad a nuestro hardware.