HISTORIA DEL SOFTWARE 

Es el equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos (hardware). Desde los comienzos del software hasta hoy en día se puede decir que se divide en cuatro eras: 1950 – 1965Se trabajaba con la idea de “Codificar y Corregir”. No existía un planteamiento previo. No existía documentación de ningún tipo. Existencia de pocos métodos formales y pocos creyentes en ellos. Desarrollo a base de prueba y error. 1965 – 1972 Se busca simplificar código. Aparición de Multiprogramación y Sistemas Multiusuarios. Sistemas de Tiempo Real apoyan la toma de decisiones. Aparición de Software como producto. (Casas de Software). INICIO DE LA CRISIS DEL SOFTWARE.Se buscan procedimientos para el desarrollo del Software. 1972 – 1985 Nuevo Concepto: Sistemas Distribuidos. Complejidad en los Sistemas de Información. Aparecen: Redes de área local y global, y Comunicadores Digitales. Amplio Uso de Microprocesadores. 1985 - 1995 aprox. Impacto Colectivo de Software. Aparecen: Redes de Información, Tecnologías Orientadas a Objetos. Aparecen: Redes Neuronales, Sistemas Expertos y SW de Inteligencia Artificial. La información como valor preponderante dentro de las Organizaciones. 2000 hasta hoy en día 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

Primera generación: Primera generación 1950 - 1960 Distribución limitada Software “a medida” Sistemas constituidos por tubos de vacío, desprendían bastante calor y tenían una vida relativamente corta. Alto consumo de energía. El voltaje de los tubos era de 300v y la posibilidad de fundirse era grande. Máquinas grandes y pesadas. Se construye el ordenador ENIAC de grandes dimensiones (30 toneladas). ENIAC

Durante los primeros años de la generación de la computadora, el software se contemplaba como un añadido. Desde entonces el campo se ha desarrollado tremendamente. La programación de computadoras era un “arte de andar por casa” para el que existían pocos métodos sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costos 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 una 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ña a medida para cada aplicación y tenía una distribución relativamente pequeña. El software como producto estaba en su infancia. La mayoría del software se desarrollaba y era utilizado por la misma persona un 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á allí cuando se encontrara algún error. Debido a 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 aprendimos mucho sobre la implementación de sistemas informáticos, pero relativamente poco sobre la ingeniería de las computadoras. Sin embargo, en honor de la verdad, debemos reconocer que durante esa era se desarrollaron muchos sistemas informáticos excepcionales. Algunos de ellos todavía se siguen utilizando hoy y, por sus características, siguen siendo admirados con toda justicia.



Segunda generación: Transistor como potente principal. El componente principal es un pequeño trozo de semiconductor, y se expone en los llamados circuitos transistores. Disminución del tamaño Disminución del consumo y de la producción de calor Su fiabilidad alcanza metas inimaginables con los efímeros tubos al vacío Mayor rapidez, la velocidad de las operaciones ya no se mide en segundos sino en menos BURROUGH Memorias internas de núcleos de ferrita Instrumentos de almacenamiento: cintas y discos Mejoran los dispositivos de entrada y salida, para la mejor lectura de tarjetas perforadas, se disponía de células fotoeléctricas. Introducción de elementos modulares. Las impresoras aumentan su capacidad de trabajo. Lenguaje de programación más potente. Aplicaciones comerciales en aumento. Tercera generación 1980 Sistemas distribuidos.


La segunda generación en la evolución de los sistemas de computadora se extienden 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. Las técnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticación 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 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.

La segunda generación se caracterizó también por el establecimiento del 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. Los patronos de la industria, del gobierno y de 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 as bibliotecas de software de computadora. Las casas desarrollaban proyectos en los que se producían programas de decenas de miles de sentencias fuente. Los productos de software comprados al exterior incorporaban cientos de miles de nuevas sentencias. Una nube negra apareció en el horizonte. Todos esos programas, todas esas sentencias fuente tenían que ser corregidos cuando se detectaban fallos, modificados cuando cambiaban los requisitos de los usuarios o adaptados a nuevos dispositivos hardware que se hubieran adquirido. Esta 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. Había comenzado una crisis del “software”.


Tercera generación: Sistemas distribuidos Incorporación de “Inteligencia” Hardware bajo coste Circuitos integrados desarrollado en 1958 por Jack Kilbry. Circuitos integrados, miniaturización y reunión de centenares de elementos en una placa de silicio o (chip) Menor consumo de energía Apreciable reducción de espacio Aumento de fiabilidad y flexibilidad PC XT.

La tercera generación en la evolución de los sistemas de computadora comenzó a mediados de los años setenta y continuó más allá de una década. 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 de área global, las comunicaciones digitales de alto ancho de banda y creciente demanda de acceso “instantáneo” a los datos, supusieron una fuente presión sobre los desarrolladores del software. Aún más, los sistemas y el software que lo permitían continuaron residiendo dentro de la industria y de la academia. El uso personal era extraño.

La conclusión de la tercera generación se caracterizó por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde productos inteligentes, desde automóviles hasta hornos microondas, desde robots industriales a equipos de diagnóstico de suero sanguíneo, pero ninguno ha sido más importante que la computadora personal. En menos de una década, las computadoras llegarán a ser fácilmente accesibles al público.


cuarta generación: la evolución de sistemas informáticos se aleja de las computadoras individuales y da los programas de computadoras, dirigiéndose al impacto colectivo 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. 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.

La industria del software ya es la cuna de la economía del mundo. Las decisiones tomadas por gigantes de la industria tales como Microsoft arriesgan billones de dólares. A medida que la cuarta generación progresa, han comenzado a surgir nuevas tecnologías. Las tecnologías orientadas a objetos están desplazando rápidamente los enfoques de desarrollo de software más convencionales en muchas áreas de aplicaciones. Aunque las predicciones de las computadoras de “quinta generación”” continúan eludiéndonos, “las técnicas de cuarta generación” para el desarrollo del software están cambiando en forma en que la comunidad del software construye programas informáticos. Los sistemas expertos y el software de inteligencia artificial han salido del laboratorio para entrar en aplicaciones prácticas de una gran variedad de problemas del mundo real. El software de redes neuronales artificiales junto con la aplicación de lógica difusa ha abierto posibilidades excitantes para el reconocimiento de patrones y habilidades de procesamiento de información de carácter humano. La programación de realidad virtual y los sistemas multimedia ofrecen formas radicalmente diferentes de comunicar información al usuario final. “Los algoritmos genéricos” ofrecen el potencial para el software que reside dentro de las computadoras biológicas masivamente en paralelo.

Sin embargo, un conjunto de problemas relacionados con el software ha persistido a través de la evolución de los sistemas basados en computadora, y estos problemas continúan aumentado.

0 comentarios: