-
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].
-
El termino ingeniería de software tendría su aparición a finales de la década de los 50[1].
-
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].
-
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].
-
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].
-
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].
-
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].
-
Este surge tras una conferencia en Garmisch (Alemania) que tuvo como objetivo resolver los problemas de la crisis del software [3].
-
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].
-
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].
-
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.
-
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).
-
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).
-
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.
-
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) -
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
-
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.