-
Cuando todo comenzó, la información se almacenaba en papel, y las grandes computadoras se programaban cada vez que tenía que utilizarlas. Este panorama cambió cuando aparecieron las primeras tarjetas perforadas para computadora.
Las computadoras funcionaban por medio de tarjetas perforadas con las cuales se ingresaban datos y programas (instrucciones). -
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.
-
Los primeros sistemas operativos fueron desarrollados por cada usuario para el uso de su propia computadora central. El primer Sistema Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y básicamente su único funcionamiento era comenzando la ejecución de un programa cuando el anterior terminaba.
-
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.
-
Se desarrolla Fortran, el primer lenguaje de alto nivel, fue presentado como una alternativa al ensamblador del IBM 704. La potencia del lenguaje Fortran se centró en el cálculo numérico, limitando en los usos de gestión, manejo de archivos, tratamiento de cadenas de caracteres. y edición de informes. Usaba tarjetas perforadas de 80 caracteres de ancho, y su sistema de procesamiento de instrucciones era secuencial.
-
El lenguaje COBOL fue creado con el objetivo de ser un lenguaje de programación universal que pudiera ser usado en cualquier computadora y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.
-
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.
-
El término crisis del software se utilizó desde finales de 1960 hasta mediados de 1980 para describir los frecuentes problemas que aparecieron durante el proceso de desarrollo de nuevo software.
-
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.
-
A medida que avanzaba la programación, apareció el "mantenimiento de software", experimentando problemas al ser un proceso relativamente nuevo. Esto salió a la luz en una conferencia elaborada por la OTAN donde Friedrich Bauer habló por primera vez sobre el tema, exponiendo los errores en planificación, costos, productividad y calidad del software, y se le atribuyo el término de la "crisis del software" . Para dar una solución a estos problemas se creo la Ingeniería de Software.
-
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.
-
Se construyó la primera red de computadoras de la historia, denominada ARPANET, estaba compuesta por cuatro nodos situados en UCLA (Universidad de California en los Ángeles), SRI (Stanford Research Institute), UCBS (Universidad de California de Santa Bárbara, Los Ángeles) y la Universidad de UTA. En 1970 comienza a utilizar para sus comunicaciones un protocolo Host-to-post
-
El sistema operativo UNIX fue creado por miembros de los laboratorios Bell de AT&T (como Ken Thompson, Dennis Ritchie o Rudd Canaday, entre otros). El propósito era crear un buen sistema operativo, multitarea y multiusuario, rápido y seguro.
-
Winston W. Royce fue un pionero en el campo de ingeniería de software, conocido por su papel en 1970, año en el cual el modelo en cascada de ingeniería de software se extrajo por error.
El papel de Royce de 1970 es generalmente considerado como el papel en el cual se definen las etapas del modelo “cascada” del proceso de software. -
El teorema del programa estructurado señala que la combinación de las tres estructuras básicas, secuencia, selección e iteración, son suficientes para expresar cualquier función computable. Estos temas fueron abordados durante la década de 1960 (concretamente en 1969) y principios de los años 1970, con importantes contribuciones de Dijkstra, Robert W. Floyd, Tony Hoarey y David Gries.
-
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 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.
-
David Parnas introduce los conceptos clave de modularidad y camuflaje de información, dando paso al nacimiento de los paradigmas de programación, asimismo, dichos aportes se convirtieron en conceptos claves para la programación orientada a objetos.
-
El lenguaje de programación C fue desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B. Siendo un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix.
Fue apreciado por la eficiencia del código que produce y se convirtió posteriormente en el lenguaje de programación más popular para crear software de sistemas. -
-
CTSS (Sistema de Tiempo Compartido Compatible) fue uno de los primeros sistemas operativos de tiempo compartido, fue desarrollado en el Centro de Computación del MIT. Se presentó en 1961, y se utilizó en el MIT hasta 1973.
-
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.
-
Intel 8080 fue el primer microprocesador realmente diseñado para uso general, desarrollado por Intel, era de 8 bits, contenía 4500 transistores y podía ejecutar 200 000 instrucciones por segundo trabajando a alrededor de 2 MHz.
-
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.
-
Los sistemas distribuidos comenzaron a desarrollarse al ritmo del crecimiento de las redes locales a principios de los 70. Un sistema distribuido se define como una colección de computadoras separadas esencialmente y conectadas entre sí por una red de comunicaciones.
-
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 publica Smalltalk, el primer lenguaje Orientado a Objetos puro de los lenguajes Orientados a Objetos, es decir, únicamente utilizaba clases y objetos. Comenzó a desarrollarse desde 1969 por Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg y otros durante los años setenta en el Palo Alto Research Institute de Xerox con el objetivo de crear un sistema informático orientado a la educación, pero no fue hasta 1980 que estuvo públicamente disponible.
-
Surgen nuevos diagramas de distribución y de producción de programación.
Estos representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso. -
Surge la Ingeniería de la información (IE) o la metodología de ingeniería de la información (IEM), la cual es una ingeniería de software con enfoque para el diseño y desarrollo de sistemas de información.
-
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.
-
Surge Java, un lenguaje de programación y plataforma informática comercializada por Sun Microsystems. Su filosofía es aprovechar el software existente y facilitar la adaptación del mismo a otros usos diferentes a los originales sin necesidad de modificar el código ya existente.
-
El ciclo de vida del desarrollo Software (SDLC en sus siglas inglesas), es una secuencia estructurada y bien definida de las etapas en Ingeniería de software para desarrollar el producto software deseado.
-
-
El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986, utilizado generalmente en la ingeniería de software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades.
-
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.
-
La World Wide Web se desarrolló entre marzo y diciembre de 1989 por el inglés Tim Berners-Lee con la ayuda del belga Robert Cailliau mientras trabajaban en el CERN en Ginebra, Suiza, y se publicó como una propuesta formal en 1991.
-
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.
-
Aparecieron los Agentes inteligentes (avance de la IA), entidades capaces de percibir su entorno, procesar las percepciones y responder a estas de una manera racional y correcta, tendiendo a maximizar un resultado esperado.
-
Cambia la arquitectura informática de entornos centralizado de grandes computadores a entornos descentralizados cliente / servidor.
-
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.
-
Mosaic fue el primer navegador que popularizó el uso de la web. Netscape apareció en 1994 y hasta 1997 fue el navegador más popular. Microsoft presentó Internet Explorer en agosto de 1995. Opera comenzó en 1994 como proyecto de investigación de Telenor, una compañía telefónica Noruega.
-
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.
-
Se formaliza SCRUM, una metodología de gestión y desarrollo ágil de proyectos, orientada a la obtención de resultados, a pesar de que el entorno sea cambiante y/o los requisitos estén sujetos a cambios o no estén muy bien definidos. Este modelo fue identificado y definido por Ikujiro Nonaka e Hirotaka Takeuchi.
-
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.
-
Se desarrolla el Método de Desarrollo de Sistemas dinámicos, un método que proporciona un framework para el desarrollo ágil de software, apoyado por su continua implicación del usuario en un desarrollo iterativo y que sea sensible a los requerimientos cambiantes. Fue desarrollado en el Reino Unido en los años 90 por un consorcio de proveedores y de expertos en la materia del desarrollo de sistemas de información.
-
Principales características: 1.- Omnipresencia de la web, la reutilización de información y componentes de software.
2.- Codificar: Transformar mediante las reglas de un código la formulación de un mensaje.
3.- Hardware: Componente físico de la computadora. Por ejemplo: el monitor, la impresora o el disco rígido.
4.- Multiprogramación: técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo”.