-
La primera teoría sobre el software fue propuesta por Alan Turing en su ensayo de 1935 sobre números computables, con una aplicación destinada a la toma de decisiones.
-
William Shockley trabajo en la teoría de que los semiconductores diminutos para sustituir a los tubos de vacío. Semiconductores podían manejar los impulsos electrónicos a una velocidad de miles de millones de veces por segundo, en lugar de la velocidad de 10.000-veces-persecond de los tubos de vacío.
-
John Von Neumann desarrolla dos conceptos importantes que afectaron directamente el camino de lenguajes de programación la técnica de programa compartido y el control de transferencia condicional
-
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 término "software" fue utilizado por primera vez de forma escrita por John W. Tukey en 1958. El estudio de los campos académicos sobre el software se dividend en informática y la ingeniería de software.
-
BASIC fue desarrollado en 1964 por John Kemeny y Kurtz Thomas. Actualmente se enseña Visual Basic como primer lenguaje de programación ya que está basado en el lenguaje BASIC. A finales de la década de 1970 y principios de 1980, se creo el método de Programación Orientada a Objetos. Los objetos son piezas de datos que pueden ser envasados y manipulados por el programador. Este conjunto de extensiones desarrolladas en el lenguaje de todas las funciones de C + +, que fue lanzado en 1983.
-
Surge la crisis del software pues el proceso de desarrollo de software sobrepasa los costos y el tiempo estimados y tiene demasiadas fallas. Se acuña el nombre de Ingeniería de software.
-
Se establecen los primeros principios como resultado de la investigación en buenas prácticas de programación. Tales como: Diseño descendente (top-down), Refinamiento sucesivo, Modularidad, Surgen los lenguajes estructurados y la noción de desarrolladores de software dirigidos por un líder.
-
Surge la programación estructurada y el concepto de estilo de programación. Aparece el concepto de ciclo de vida en el desarrollo de software. Se proponen ayudas para la administración y de apoyo en el desarrollo.
-
Se inicia el manejo de la noción de confiabilidad y calidad del software. Se inician las pruebas sistemáticas, la noción de corrección formal, modelos de tolerancia a fallas y confiabilidad total.
-
Se pone atención a las fases anteriores a la codificación como análisis de requerimientos, especificación y diseño. Surgen las técnicas como abstracción y descomposición modular. Se hacen esfuerzos para integrar y validar las fases sucesivas del desarrollo.
-
Incremento en el uso de herramientas automatizadas de desarrollo de software. Se llevan a cabo cursos de ingeniería de software. Los principios desarrollados en 69 a 71 se usan masivamente en la industria del software.
-
Se inician las herramientas automatizadas para cada fase del ciclo de vida siguiendo la programación estructurada.
-
Aparece el paradigma orientado a objetos para el desarrollo de software grande. Promueve conceptos como la abstracción, la herencia el re-uso. Se inicia el uso masivo de técnicas automatizadas de desarrollo de software.
-
A principios de la década de 1990, Sun Microsystems invento Java. Un lenguaje especial portátil que puede funcionar con muchos tipos de máquinas.
-
La evaluación de los procesos evita especificaciones incompletas o anómalas, la aplicación incorrecta de metodologías, etc. En particular, la calidad de un sistema de software está gobernada por la calidad del proceso utilizado para desarrollarlo y mantenerlo