-
Durante los primeros años de desarrollo de las computadoras, el hardware sufrió continuos cambios, mientras que el software se contemplaba simplemente como un agregado.
-
Durante este período, en la mayoría de los sistemas se utilizaba una orientación por lotes, siendo algunas excepciones notables varios sistemas interactivos.
-
La mayor parte del hardware se dedicaba a la ejecución de un único programa que, a su vez, se dedicaba a una aplicación específica. Lo normal era que el hardware fuera de propósito general y, por otra parte, el software se diseñaba a medida para cada aplicación y tenía una distribución relativamente pequeña.
-
La mayoría del software se desarrollaba y era utilizado por la misma persona u organización: la misma persona lo escribía, lo ejecutaba y, si fallaba, lo depuraba; debido a que la movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estaría allí cuando se encontrara algún error.
-
En este entorno personalizado del software, el diseño era un proceso implícito, realizado en la mente de alguien, y la documentación normalmente no existía.
-
A lo largo de los primeros años se aprendió mucho sobre la implementación de sistemas informáticos, pero relativamente poco sobre la ingeniería de software.
-
-
La multiprogramación y los sistemas multiusuario introdujeron nuevos conceptos de interacción hombre-máquina.
-
Las técnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de complejidad del hardware y del 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 milisegundos en vez 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.
-
Esta era se caracterizó también por el establecimiento del software como producto y la llegada de las "casas de software", donde el software ya se desarrollaba para tener una amplia distribución en un mercado multidisciplinario: los programas se distribuían para computadoras grandes y para minicomputadoras, a cientos e incluso a miles de usuarios; la industria, el gobierno y la universidad se aprestaban a "desarrollar el mejor paquete de software" y ganar así mucho dinero.
-
Conforme crecía el número de sistemas informáticos, comenzaron a extenderse las bibliotecas de software, las casas desarrollaban proyectos en los que se producían programas de decenas de miles de sentencias fuente y los productos de software comprados al exterior incorporaban cientos de miles de nuevas sentencias.
-
Todos esos programas (todas esas sentencias) tenían que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos dispositivos de hardware que se hubieran adquirido; estas actividades se llamaron colectivamente mantenimiento del software.
-
El esfuerzo gastado en el mantenimiento del software comenzó a absorber recursos en una medida alarmante, aún peor, la naturaleza personalizada de muchos programas los hacía virtualmente imposibles de mantener.
-
-
El procesamiento 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 de área global, las comunicaciones digitales de gran ancho de banda y la creciente demanda de acceso "instantáneo" a los datos, supusieron una fuerte presión sobre los desarrolladores del software.
-
Se produce la llegada y el amplio uso de los microprocesadores y las computadoras personales. El microprocesador es una parte integral de un amplio espectro de productos "inteligentes" que incluyen automóviles, hornos microondas, robots industriales y equipos de diagnóstico médico.
-
-
La cuarta era del software se aleja de las computadoras individuales y de los programas de computadoras, dirigiéndose al impacto colectivo de las computadoras y del software.
-
Potentes máquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompañadas por aplicaciones de software avanzadas se han convertido en la norma.
-
Cambia la arquitectura informática de entornos centralizado de grandes computadores a entornos descentralizados cliente / servidor.
-
La cuarta era del software está enfocada a las tecnologías orientadas a los objetos y están desplazando rápidamente a enfoques de desarrollo de software más convencionales en muchas áreas de aplicación. Las técnicas para el desarrollo de software ya están cambiando la forma en que algunos segmentos de la comunidad informática construyen los programas computacionales.
-
Por fin, los sistemas expertos y el software de inteligencia artificial se han trasladado del laboratorio a las aplicaciones prácticas, para un amplio rango de problemas del mundo real. El software de redes neuronales artificiales ha abierto excitantes posibilidades para el reconocimiento de formas y habilidades de procesamiento de información al estilo de como lo hacen los humanos.
-
Utiliza algunos requisitos de las eras anteriores solo que aumenta la omnipresencia de la web, la reutilización de información y componentes de software