2

Historia de la ingeniería del software

  • De la Gran Depresión a la Segunda Guerra Mundial: el nacimiento de la computadora electrónica

    De la Gran Depresión a la Segunda Guerra Mundial: el nacimiento de la computadora electrónica

    En esos tiempos el mundo industrial, como ahora, buscaba la eficiencia en sus procesos. Pero la gran Depresión aparecio, con el fin de combatirla, el presidente Roosevelt, lanzo muchos proyectos. Uno de ellos el proyecto de las Tablas Matematicas, liderado por Gertrude Blanche, quien desarrollaría muchas prácticas para hacer computación manual (Computadoras humanas!). En 1940, Wallace Eckert, en base a ello desarrolaría la 1ra metodología de computación.
  • Después de la Segunda Guerra Mundial: crecimiento de la computación

    Al final de la Segunda Guerra Mundial, empezabamos a ver la informática aplicada a dominios problemáticos más allá de la guerra. Herman Goldstine, en base a las ideas de los Gilbreth, junto a John von Neumann, desarrollarían los diagramas de flujo. Maurice Wilkes, David Wheeler y Stanley Gill crerían el concepto de subrutinas, el poder de descomponer algoritmos. John Backus, en base al trabajo de Grace Hooper, desarrolaría el famoso lenguaje de alto nivel Fortran, él dominaría el mundo por años.
  • Origen

    Origen

    El término ingeniería del software apareció por primera vez en la década de 1950 y principios de los años 1960. Los programadores siempre habían sabido sobre ingenieros civiles, eléctricos y de computadores y debatían qué podría significar la ingeniería para el software.El Comité de ciencia de la OTAN patrocinó dos conferencias sobre ingeniería del software en 1968 (Garmisch, Alemania y en 1969).
  • El ascenso de la guerra fría: madurez de la computación y el nacimiento de la ingeniería de software

    El ascenso de la guerra fría: madurez de la computación y el nacimiento de la ingeniería de software

    La Guerra Fría generó otro conjunto de fuerzas que llevaron a la ingeniería de software a la madurez. Con el fin de defenderse ante la Union Sovietica, el sistema SAGE se desarrollo, este daría grandes aportes al mundo del software: el desarrollo de interfaces humano-computador y la toma de conciencia de desarrollar software en ambientes distribuidos. Es decir, desarrollar software se habia vuelto un problema central y complejo.
  • Crisis del Software

    Estimulada por la llamada crisis del software de la década de 1960 a la de 1980.identifica muchos de los problemas de desarrollo de software. Proyectos de software sobrepasaron el presupuesto y el tiempo estimados. Algunos proyectos causaron daños a la propiedad. Algunos proyectos causaron pérdidas de vidas.productividad, pero evolucionó para enfatizar la calidad. incapacidad de contratar programadores suficientemente calificados.
  • Period: to

    Origen del término 'Ingenieria de software'

    Muchas personas sugieren que fue Friedrich Bauer quien acuño este termino en la conferencia de ingeniería de software de la OTAN en 1968, otros creen que fue Anthony Oettinger, el cual uso este termino en 1966 para hacer referencia a la distincion entre ciencias de la computacion y el desarrollo de sistemas intensivos de software. Sin embargo, años atrás, en la edición de junio de 1965 de la revista 'Computers and Automation', apareció un anuncio de trabajo buscando un "ingeniero de software".
  • Programación orientada a objetos o POO

    Programación orientada a objetos o POO

    Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado en 1967 para hacer simulaciones de eventos discretos. La programación orientada a objetos fue el estilo de programación dominante a principio y mediados de los años noventa, en gran parte debido a la influencia de lenguajes como C++. Su predominio fue consolidado gracias al auge de las interfaces gráficas de usuario.
  • Creacion del comite de Ciencias de la OTAN

    Creacion del comite de Ciencias de la OTAN

    Patrocinó dos conferencias sobre ingeniería del software en 1968 (Garmisch, Alemania ) y en 1969, que dio al campo su impulso inicial. Muchos creen que estas conferencias marcaron el inicio oficial de la profesión de la ingeniería de software.
  • Period: to

    De los años sesenta a la Años ochenta: la maduración

    En esta etapa se introdujo la programacion modular junto con conceptos de acoplamiento y cohesión como mecanismos de composicion de algoritmos, Edsger Dijkstra adoptó un enfoque formal y nos dio la idea de la programación estructurada, mucho despúes Ole Dahl y Kristen Nygaard, crearían Simula, el 1er lenguaje de programación orientada a objetos. Las ideas de Barbara Liskov sobre tipos Abstractos de Datos y el modelado de entidad-relación por Peter Chen y muchas más concepto en esta época.
  • Los años ochenta y más adelante: la edad de oro

    Los años ochenta y más adelante: la edad de oro

    Debido a los crecientes problemas de calidad del software, el auge de los sistemas intensivos de software, la globalización del software y el desarrollo de sistemas distribuidos, nuevos enfoques fueron necesarios. Es aqui cuando las ideas de Ole Dahl y Kristen sobre programacion orientado a objetos (OO) dio lugar a lenguajes de programación como Smalltalk, C with Classes (posteriormente renombrado a C++), Ada, y muchos otros.
  • Proyectos de Software

    Proyectos de Software

    Algunos interpretan que no hay balas de plata significa que la ingeniería de software ha fracasado. Sin embargo, con otras lecturas, Brooks va a decir, "seguramente haremos progresos sustanciales en los próximos 40 años; un orden de magnitud en más de 40 años es casi mágico... ".Herramientas, Disciplina, Proceso, Profesionalismo.
  • Ciclo de Vida

    Ciclo de Vida

    Especificación: usuarios e ingenieros definen el software a producir y las restricciones en su funcionalidad.
    Desarrollo: fase en la cual el software se diseña y se programa.
    Validación: el software debe ser probado para asegurar que cumple con las necesidades del cliente.
    Evolución: el software debe poder ser modificado para adaptarse a cambios en el mercado y en las necesidades de los usuarios.
  • Desarrollo en Espiral

    Combinación de procesos en cascada y prototipado. Fue definido por Barry Boehm en 1986 en el artículo “A Spiral Model of Software Development and Enhancement”. Modelo en espiral
  • Articulo Cientifico "No hay Balas de Plata"

    Fred Brooks con ocasión del X Congreso Mundial de Informática de la IFIP.1​ Brooks argumenta que «no hay un simple desarrollo en tecnología o técnica de gestión, que por sí solo prometa incluso una mejora en la productividad, fiabilidad, simplicidad, en un orden de magnitud dentro de una década». También afirma que, en el desarrollo de software, «no podemos esperar siquiera ver una ganancia del doble cada dos años», como la que hay en el desarrollo del hardware.
  • Period: to

    Los años noventa y el milenio: la era de las disrupciones

    Y el boom de Internet había llegado al mundo de los negocios, de pronto ahora había una nueva plataforma, todo ahora pasaría a ser distribuido! Los clientes tendrían acceso directo desde cualquier parte del mundo a los sistemas y los sistemas se interconectarían con otros programas externos. Todo ello trajo que la Integración Continua y el desarollo Iterativo sea la forma principal de desarollo, el mundo de patrones se lanzaría a la fama con el famoso libro de la Banda de los Cuatro.
  • Metodologia de Desarrollo de Software

    Metodologia de Desarrollo de Software

    Métodos de desarrollo de software basados en procesos iterativos e incrementales, donde los requisitos y soluciones evolucionan durante la colaboración.
    Metodologías como Scrum (1995), Extreme Programming (1999) o DSDM (1995) fueron evolucionando hasta que en Febrero del 2001 se publicó “Manifesto for Agile Software Development” para definir la aproximación ahora conocida como metodologías .ágiles. (1995-2012).
  • Posicionamiento de Internet

    Posicionamiento de Internet

    El crecimiento del uso del navegador, corriendo en el lenguaje HTML, cambió la manera en que estaba organizada la visualización y la recuperación de la información. Las amplias conexiones de red condujeron al crecimiento y la prevención de virus informáticos internacionales en computadores con MS Windows, y la gran proliferación de correo basura se convirtió en una cuestión de diseño importante en sistemas de correo electrónico, inundando canales de comunicación y requiriendo de precalificación.
  • Period: to

    De 2000 al Presente.

    Con la creciente demanda de software en muchas organizaciones pequeñas, 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, de los requisitos de implementación, más rápidos y más fáciles. El uso de prototipos rápidos evolucionó a metodologías ligeras completas como la programación extrema.
  • La década que viene: Big Data y la otra IA

    Actualmente estamos en un nuevo cambio, aunque la IA ha existido decádas, ella está influyendo el mundo de la ingenieria de software de una forma distinta a como antes. Todo ello gracias al crecimiento de la data de todas partes (imagenes, videos, audio) y el poder de la computación!, el Big Data, ha hecho posible el uso de la IA. Y ya hemos visto grandes hitos, como el de AlphaGo.