Evolución de la Ingeniería de Software

  • Period: to

    Inicios de la Ingeniería de Software

    Para la década de los 50´s el termino software empezó a implementarse, aunque aun no existía una definición fue en estos años en donde empezaron a surgir los primeros lenguajes de programación llamadas "ensamblador"[1].
  • Creación del término Ingerniería de Software

    El termino ingeniería de software tendría su aparición a finales de la década de los 50[1].
  • Creación del primer Sistema Operativo

    El primer Sistema Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un programa cuando el anterior terminaba [3].
  • Cobol

    Profesionales de la industria estaban de acuerdo en que era necesario buscar una normalización que permitiese trabajar con un único lenguaje en cualquier computador así que, gracias a la formación de un consorcio entre varias empresas de la industria de los computadores y el departamento de defensa de EE. UU, se convocó el CODASYL para buscar un lenguaje de programación que pudiera ser un estándar en el ámbito de la gestión, así fue como nació el lenguaje de programación COBOL [2].
  • Fortran

    En 1957 aparece el lenguaje Fortran (siglas de Formula Translator), el primer lenguaje de alto nivel ampliamente difundido y utilizado a nivel mundial. El primer compilador de Fortran fue desarrollado por un equipo de IBM liderado por John W. Backus. Inicialmente Fortran fue muy utilizado en el mundo científico y en aplicaciones militares, y se escribieron multitud de librerías matemáticas para cálculo numérico, algunas de las cuales siguen utilizándose hoy en día [2].
  • Period: to

    Crisis del Software

    El término Crisis del Software se empezó a utilizar en este periodo de tiempo debido a los frecuentes problemas que se encontraban a la hora de desarrollar un nuevo software, dichos problemas iban desde lo económico hasta lo social [2].
  • Basic

    John George Kemeny y Thomas Eugene Kurtz crean el lenguaje BASIC (Beginner's All-purpose Symbolic Instruction Code) por especialmente diseñado para enseñar a programar a principiantes. BASIC es el lenguaje que muchos utilizaron para hacer sus primeros proyectos en el mundo de la programación [3].
  • Surge el concepto de Ingeniería de Software

    Este surge tras una conferencia en Garmisch (Alemania) que tuvo como objetivo resolver los problemas de la crisis del software [3].
  • Modelo Cascada

    Royce propuso lo que actualmente se conoce como el modelo de cascada. el modelo de cascada sostiene que se debe pasar a una fase sólo cuando la fase anterior se ha completado y perfeccionado. Fases de desarrollo en el modelo de cascada son discretas, y no hay saltos hacia atrás y adelante o se superponen entre ellos. Sin embargo, hay varios modelos de cascada modificada (incluyendo modelo final de Royce) que puede incluir o grandes variaciones en este proceso [2].
  • Period: to

    No hay balas de Plata

    Durante décadas, resolver la crisis del software desencadenó en que compañías e investigadores produjeran más y más herramientas software. Cada nueva tecnología o práctica que apareció entre 1970 y 1990 fue tratada como una “bala de plata” (en inglés, silver bullet) que solucionaría la crisis del software [2].
  • Ingeniería de Software Profesión

    A principios de los 1980, la ingeniería del software ya había surgido como una genuina profesión, para estar al lado de las ciencias de la computación y la ingeniería tradicional. Antes de esto, las tareas eran corridas poniendo tarjetas perforadas como entrada en el lector de tarjetas de la máquina y se esperaban los resultados devueltos por la impresora.
  • Period: to

    Desarrollo de Modelos Relacionados

    Se desarrollan los modelos relacionados con la mejora de procesos software, como Ideal, TSP o PSP, y las normas y estándares de calidad como la ISO 9126, ISO 12207, ISO 9000-3, etc. También durante esta década se consolida la orientación a objetos (OO) como aproximación para el desarrollo de sistemas informáticos, apareciendo más de cien metodologías, que terminan dando lugar a la aparición del Lenguaje de Modelado Unificado (UML) y el Proceso Unificado (UP).
  • Surgimiento de la Iteración Continua

    Propuesta y nombrada por primera vez en 1991 por Grady Booch en su método (Metodo Booch). . En 1991/94 desarrolló el método Booch. Se trataba de una técnica usada en ingeniería software para el diseño de objetos (predecesor de UML y RUP). Este método hablaba de uso de objetos, métricas, patrones de diseño, formalismo, madurez de procesos y una notación robusta. Habla de sacar releases de arquitectura hasta llegar al sistema final (evolutivos).
  • Teléfonos Inteligentes

    Con la llegada de dispositivos móviles llamados "inteligentes" abre un nuevo mercado para los desarrolladores de software, ya que dichos dispositivos tienen dentro de sus características la capacidad de ejecución múltiples aplicaciones para diversos usos, que en gran medida están orientados hacia tareas de la vida diaria, ya que en nuestro país existe en su mayoría trabajadores tipo "freelance", es decir, programadores independientes que tienen software a la medida.
  • Period: to

    Nuevos procesos de Ingeniería de Software

    Surgen nuevos procesos agiles de la ingeniería de software:
    *Scrum
    *Adaptive Software Development (ASD)
    *Agile Unified Process.
    *Crystal Clear.
    *Feature Driven Development (FDD)
    *Lean Software Development (LSD) : Lean startup.
    *Kanban (desarrollo)
    *Open Unified Process (OpenUP)
    *Programación Extrema (XP)
  • Métodos Ágiles

    En el año 2001, miembros prominentes de la comunidad se reunieron en Snowbird, Utah, y adoptaron el nombre de "métodos ágiles". Poco después, algunas de estas personas formaron la "alianza ágil", una organización sin fines de lucro que promueve el desarrollo ágil de aplicaciones. Muchos métodos similares al ágil fueron creados antes del 2000
  • Period: to

    Ingenierías de Software Actualmente

    La ingeniería de software se ha convertido en una de las disciplinas más importantes en la actualidad, y se encuentra avanzando a pasos agigantados, ya que el consumo de productos software por parte de la sociedad es cada vez mayor y la necesidad de dar soluciones a problemas cotidianos con la tecnología se vuelve imprescindible.