Historia Del Software
Primera Era

1950 a 1965     En sus  primeros años el software se contemplaba como un añadido,  para el que existían pocos métodos sistemáticos. El desarrollo del software se realizaba  sin ninguna planificación, hasta que   descalabro y costos comenzaron a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico  a menudo salían con éxito. Los problemas a ser resueltos eran principalmente de naturaleza técnica, el énfasis estaba en expresar algoritmos conocidos eficazmente en algún lenguaje de programación.
En estos primeros años lo normal era que el hardware fuera de propósito general. Por otra parte, el software se diseñaba a medida para cada aplicación y tenía una distribución relativamente pequeña.

Segunda Era
1965 a 1972
La evolución de los sistemas de computadora se extiende desde la mitad de la década de los sesenta hasta finales de los setenta. 
La multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos de interacción hombre máquina y las técnicas interactivas abrieron un nuevo mundo de aplicaciones y niveles de clasificación del hardware y software. Los sistemas de tiempo real podían recoger, analizar y transformar datos de múltiples fuentes, controlando así los procesos y produciendo salidas en mili segundos en lugar de en minutos.        
 Los avances en los dispositivos de almacenamiento en línea condujeron a la primera generación de sistemas de gestión de bases de datos.
Tercera Era


1972-1989 

El sistema distribuido, múltiples computadoras, cada una ejecutando funciones concurrentemente y comunicándose con alguna otra, incrementó notablemente la complejidad de los sistemas informáticos, las redes de área local y global, las comunicaciones digitales de alto ancho de banda y creciente demanda de acceso “instantáneo” a los datos, supusieron una fuerte presión sobre los desarrolladores del software.
Esta etapa se  caracterizó por la llegada y el amplio uso de los microprocesadores.


Cuarta Era

1989 a la fecha el impacto de las  computadoras y del software es colectivo. Potentes máquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompañadas por aplicaciones de software avanzado se han convertido en la norma. Las arquitecturas informáticas están cambiando de entornos centralizados de grandes computadoras a entornos descentralizados cliente/servidor. Las redes de información en todo el mundo proporcionan una infraestructura que iguala a expertos y políticos en pensar sobre una “superautopista de información” y una “conexión del ciberespacio”. De hecho internet se puede observar como un “software” al que pueden acceder usuarios individuales.