viernes, 14 de septiembre de 2012

El futuro de las redes de computadoras


Introducción

A principio del siglo XIX  en Suecia y Francia, se estableció el  primer intento de una red de comunicación amplia y  estable, estos sistemas se denominaron telégrafo óptico,  estos pioneros de algunas técnicas que luego se utilizaron en transmisiones digitales y analógicas tales como: recuperación de errores, compresión de información y encriptación se estableció que la velocidad efectiva era de 0.5 bits por segundo (20 caracteres por minuto). Estas redes permanecieron hasta mediados del siglo XIX, cuando fueron sustituidas por el telégrafo.  Posteriormente, la red telegráfica y la red telefónica fueron los principales medios de transmisión de datos a nivel mundial.


 En la era de la información el hombre ha tenido la necesidad estar comunicado, a través de la historia está permanentemente en busca del mejoramiento del intercambio de información tales como: telégrafo,  teléfono,  radio,  televisión  y hasta alcanzar lo que conocemos hoy por redes de computadoras. Una red básicamente es un grupo de computadoras interconectadas entre sí, que pueden compartir recursos e información creando una interconexión entre ellas a través de cableado o en forma inalámbrica (mediante ondas de radio).

Desarrollo

Internet proyecto nacido en la década de los 60 mediante un experimento de ARPA (Advanced Research Projects Agency), llamado ARPANET, esta se baso en la  teoría de la conmutación de paquetes. Esta red evolucionó  hacia  Internet  con la idea central de federar  varias  redes  que  usaran  la conmutación de paquetes y un protocolo de enlace llamado NCP, este protocolo contaba no contaba con un control de errores y tampoco tenia la capacidad para direccionar  redes  ni  máquinas fuera de la red. El  nuevo  protocolo,  llamado  TCP/IP (transmision-control  protocol/Internet  protocol) protocolo  de comunicaciones,  basado  en  algoritmos  de  corrección  de  errores,  reenvío  de  mensajes,  redes independientes, funciones de pasarelas para redirigir los paquetes, interacción de diversos sistemas operativos, enrutado y división de paquetes. Así pues en los años 80, el desarrollo de LANs (Local Area Networks) y las estaciones de trabajo permitió dando resultado este crecimiento en cambios en la gestión de la red: hosts contaban con un nombre llevando a la invención del DNS (Domain Name System) este mecanismo permitía resolver  jerárquicamente  los  nombres  de los  hosts  en direcciones  de Internet.

Actualmente se desarrolla Internet 2 es una red académica de alta velocidad que será el embrión de las nuevas redes del futuro. Hace uso del protocolo IP versión 6 (IPv6) permitiendo: alta fiabilidad, una alta capacidad (ancho de banda), soporte de selección de calidad de servicio (QoS: Quality of Service), herramientas de monitoreo, distribución de cargas y variaciones en rendimiento y planificación dinámicas en función de las aplicaciones. Esta nueva red de computadoras tiene como  objetivo  el  minimizar  los  costos  de  acceso  a  las universidades  participantes,  proporciona  circuitos  de  conexión  de  alta  velocidad, interconexión de otros servicios regionales mediante una arquitectura flexible, un  punto  de  interconexión  de  tecnología  avanzada  y  alta  capacidad ( gigaPoP: giga bits Point of Presence)  donde  todos  los participantes  intercambiar  tráfico  de  servicios  avanzados  entre  si.

Los servicios prestados por las redes de computadoras se han difundido ampliamente. A medida que su diversidad continúa en aumento, la intercomunicación entre sí, facilita el acceso a la información científica y técnica a partir de recursos informáticos y de telecomunicaciones. Una red de computadoras es  una forma de trabajo en común, en la que son esenciales tanto la colaboración de cada miembro en tareas concretas, como un buen nivel de comunicación que permita que la información circule con fluidez y que pueda llevarse a cabo el intercambio de experiencias.



Argumentación

Aseguramos que con auge de las tecnologías relacionadas a la comunicación, se estima que en el futuro todas las redes serán parte de Internet. Accediendo a través de forma inalámbrica desde cualquier parte mediante una computadora portátil o un celular, a una velocidad enorme y en forma casi gratuita. Esta flexibilidad sobre las comunicaciones dará margen a que las computadoras permanezcan interconectadas a servidores de Internet aprovechando a distancia: la capacidad de almacenamiento, procesamiento y software de dichos. En la actualidad y en vista hacia el futuro exista hardware liviano (no requerirán disco duro, unidades ópticos o teclado) sólo contarán con un pequeño procesador, memoria RAM y una delgada pantalla de cristal líquido.

Dando lugar a computadoras personales autónomas: livianas, portátiles, económicas y de bajo consumo de energía. Se espera también que Internet fusione otras tecnologías y medios de comunicación para convertirse ofreciendo servicios de óptima calidad, tales como:
Radio, televisión, periódicos, libros electrónicos.
Videos y películas bajo demanda.
Videoconferencias.
Telefonía.
Conexión y mando a distancia de electrodomésticos.
Control centralizado e inteligente de edificios u hogares, ya sea alarmas, vigilancia, detectores de incendios, calefacción, aire acondicionado, etc.
Juegos en red.
Educación a distancia.


Intel ha propopuesto Router Bricks (router de alta velocidad a partir de clusters de servidores basados en Intel Xeon, que ejecutan software de código abierto) esto permitirá la construcción de redes desde computadoras de propósito general, mejor que desde equipos especializados.

Web semántica, permitirá búsquedas de información más precisas y a la medida de cada usuario. Internet entenderá lo que el usuario quiere, atendiendo al uso que realiza de la Red y sus preferencias. Se han desarrollado algoritmos de enrutamiento inteligente que rastrea en Internet los precios de la electricidad (sometidos a muchas fluctuaciones) y que reduce los costos hasta en un 40%.  

Web 4.0 con el crecimiento de los accesos Wifi, tecnología peer to peer para compartir archivos y el uso de Internet como principal medio para acceder a periódicos, revistas, películas o música.
    Uso de gafas especiales en las que se superpondría a la realidad física una capa de realidad virtual.  
    Operaciones bancarias o de comercio electrónico.  

Red plana de capa 2 es la clave para una nueva estructura unificada del centro de datos. La idea es que todo en el centro de datos -servidores, aplicaciones y almacenamiento- debe ser parte de una capa plana de dos grandes estructuras


1   Resumen

La innovación en las redes de computadoras a través de implementaciones de nuevas aplicaciones, distribución de contenidos, telefonía por Internet, velocidades de transmisión más altas en las redes LAN y routers más rápidos. Con el creciente acceso a Internet residencial mediante módem por cable y DSL abre una etapa de abundancia para nuevas aplicaciones multimedia, incluyendo voz y vídeo sobre IP, compartición de vídeos y televisión sobre IP.
Se ha visto el aumento de redes públicas Wifi de alta velocidad (11 Mbps y superior) y el acceso a Internet a velocidades medias (cientos de Kbps) mediante redes de telefonía móvil no hacen sólo posible estar constantemente conectado, sino que también habilitan un nuevo conjunto de servicios. 



Conclusión


En el área de la tecnología y referente a las redes de computadoras han tenido grandes avances en lo que a Internet se refiere. Todo indica que la dirección hacia donde se mueve el concepto de reconfiguración de protocolos está orientada a la conservación de los mismos, creación de nuevos protocolos y modificación del esquema de comunicación capa interna. 

Las redes de computadoras han tenido un auge esta en base a la necesidad de movimiento que se requiere en el sector industrial. Creo que hoy en día va evolucionando muy rápidamente la tecnología que es muy probable llegar a cumplir con este objetivo.



domingo, 26 de agosto de 2012

Vyatta alternativa Opensource al equipamiento Cisco.

Video Vyatta

http://www.youtube.com/watch?v=ru6xwEg5Tlw

FUNCIONAMIENTO ROUTER Y VLAN VRS. VPN


FUNCIONAMIENTO ROUTER

Utilizado para interconexión de segmentos de redes o redes completas de las computadoras que opera
a nivel  de  red. Transmite  paquetes  de  datos (fragmentados) tomando  como base  la  información  de  la
capa de red. Para ello cuenta con tablas de enrutamiento actualizadas (almacena la relación entre red
destino/salida)  puede  ser  de  forma  estática (por el administrador de la red)  o   dinámica  (protocolos de
routing).  Así  también  toma  decisiones  a  la  mejor  ruta  para  el  envío  de  datos  y  luego  redirige  los
paquetes hacia el segmento y el puerto de salida adecuados.

Virtual Local Area Network (VLAN)
Una Subred IP separada de manera lógica, permitiendo redes IP y subredes  múltiples puedan existir
en  la  misma  red  conmutada, son útiles  para  reducir  el  tamaño  del broadcast, ayudan en  la
administración de la red (fragmenta ción lógica s de una  red de área local) a modo de seguridad, reducción
de costo, mejor rendimiento. Una VLAN permite reubicar equipos geográficamente, manteniendo las
mismas conexiones y recursos como carpetas compartidas y otros.
Virtual Private Network (VPN)
Esta tecnología crear túneles virtuales para crear una conexión entre los clientes de manera segura, se
utiliza para interconectar usuario en otros lugares de manera remota a los recursos tales: servidores de
archivos  y  correo  electrónico,  empleando mecanismos  de  seguridad  para  que  los  datos  no  se
comprometan con usuarios o redes distintas mediante la autenticación (nombre y contraseña).

VPN vs VLAN
VPN es un método para crear una subred más pequeña en la parte superior de una red existente más
grande, mientras que las VLAN es una sub categoría de VPN.

INTEGRIDAD,OPTIMIZACION Y SEGURIDAD [BASE DE DATOS]


i Integridad

Reglas de Integridad
Regla de integridad de unicidad de la clave primaria
Establece que toda clave primaria elegida en una relación no debe tener valores repetidos.

Regla de integridad de entidad de la clave primaria
Establece que los atributos de la clave primaria de una relación no pueden tener valores nulos, necesaria para que los valores de las claves primarias identifiquen tuplas individuales de las relaciones.

Regla de integridad referencial
Se determina a través de los valores que toma una clave foránea deben ser valores nulos o valores que existen en la clave primaria que referencia. Esto establece una conexión con la clave primaria que referencian.

Actualización en cascada
En el caso de una operación de actualización de tuplas, efectuando operaciones compensatorias en cascada la actualización a las tuplas que la referenciaban; en el caso de una operación de borrado de una tupla t que tiene una clave primaria referenciada, y borrar también todas las tuplas que referencian t y la actualización permite la modificación de atributos de la clave primaria de una tupla t que tiene una clave primaria referenciada, y modificar del mismo modo todas las tuplas referenciadas.

Anulación
En el caso de una operación de actualización de la tupla y en efectuar operaciones que pongan valores nulos a los atributos de la clave foránea de las tuplas que la referencian, si la llave foránea lo admite.
En el caso de una operación de borrado permite borrar una tupla t que tiene una llave  referenciada y, además, modificar todas las tuplas que referencian t, de modo que los atributos de la llave foránea correspondiente tomen valores nulos.
Regla de integridad de dominio

La primera condición asegura que un valor no nulo de un atributo Ai debe pertenecer al dominio del atributo Ai; esto implica que todos los valores no nulos que contiene la base de datos para un determinado atributo deben ser del dominio declarado para dicho atributo.
La segunda condición sirve para establecer que los operadores que pueden aplicarse sobre los valores dependen de los dominios de estos valores (adecuados).

v OPTIMIZACION

Representación interna de consultas
Características
§  Ser relacionalmente completo.
§  Suministrar un punto de partida sólido para las siguientes fases.
§  Proporcionar un grado de libertad suficiente para realizar las posibles optimizaciones.
§  Sistemas de representación
§  Álgebra relacional
§  Cálculo relacional
§  El árbol sintáctico abstracto o árbol de consulta.

Conversión a forma canónica
En la conversión canónica encontramos expresiones equivalentes llamada FORMA CANONICA de dicha consulta, dada en la que se mejore de alguna manera el rendimiento.

Elección de procedimientos de bajo nivel
Evaluación de una consulta previamente transformada, también encontraremos existencia de índices u otras rutas de acceso y la distribución de los valores de los datos almacenados.
§  Un optimizador debe tener algunos procedimientos disponibles para una operación de join tales como
§  Un procedimiento para el caso en que la condición sea a través de una llave candidata.
§  Un procedimiento para el caso en que el campo de restricción esté indexado.
§  Un procedimiento para el caso en que el campo de restricción no esté indexado pero sí agrupados los datos físicamente.

Generación y elección de planes de consulta

Costes dependen de: número de operaciones de entrada/salida del disco requeridas, la utilización del CPU. Una consulta suele implicar la generación de resultados intermedios, estos resultados estarán directamente relacionados con el número de E/S.
               
v  SEGURIDAD
Redundancia e inconsistencia de datos
En el manejo de tuplas almacenadas existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de información, esto aumenta los costos de almacenamiento y acceso a los datos.
Problemas de integridad
Los valores de datos almacenados deben satisfacer cierto tipo de restricciones de consistencia.
Abstracción de la información
Una visión abstracta de los datos, ocultamiento de ciertos detalles de cómo se almacenan y mantiene los datos.
Nivel físico
Nivel más bajo de abstracción, en este se describe en detalle la forma en cómo se almacenan los datos mediante índices para el acceso aleatorio a los datos.
Nivel conceptual
Consta de las siguientes definiciones:
-         Definición de los datos
Estos elementos por definir incluyen atributos, totales de datos y registros conceptuales (entidades).
-         Relaciones entre datos
Se definen las relaciones entre datos para enlazar tipos de registros relacionados para su  procesamiento.
-         Restricciones de integridad

Normas que deben cumplir los datos.

Nivel de visión externa o vistas.
Nivel más alto de abstracción este nivel describe únicamente la parte de datos para un usuario o grupo de usuarios.

Se pueden omitir una o más entidades del sistema.
Se pueden omitir uno o más atributos de una entidad.
Se pueden omitir una o más relaciones entre los datos.
Se pueden cambiar el orden de los atributos.

jueves, 22 de marzo de 2012

miércoles, 29 de febrero de 2012

Niveles de Madurez de una Empresa



v  CONTROL. Control y centralización e integración de la información y/o procesos que tiene en sus diferentes áreas.
v  PRODUCTIVIDAD. Búsqueda de análisis de visiones y escenarios creados a partir de los resultados de la etapa de Control.
v  RELACIÓN. Planeación, ejecución y seguimiento de los planes de acción referentes a cada uno de esos agentes
v  COLABORACIÓN. Integración entre agentes externos e internos hacia la organización, para la creación de valor en procesos, productos y resultados de todos los involucrados.

Estructura Matricial

Es una estructura organizacional que usa tanto gerentes funcionales como gerentes de proyecto para gerenciar a los mismos recursos, de forma que si existen N proyectos en curso en la organización, existen N gerentes de proyecto que coordinan N equipos compuestos por recursos provenientes de las áreas funcionales. El resto de los recursos permanece en su área funcional de la organización, bajo la coordinación del gerente funcional.


El grado de independencia de los gerentes de proyecto con respecto a los gerentes funcionales determina si estamos hablando de una organización matricial fuerte o débil.
v  Fuerte: Contienen características de las organizaciones orientadas a proyectos. Donde los gerentes de proyecto tienen dedicación completa y la libertad total de decisión con respecto al uso del tiempo de los recursos del proyecto así como al personal administrativo.
Débil: mantienen muchas de las características de las organizaciones funcionales  y el director del proyecto es más un coordinador que un director.

Tipos de Data Center


Tier I: Datacenter Básico
La infraestructura de comunicaciones será distribuida de la sala de entrada (ER) para las áreas de distribución horizontal (HDA) a través de una única ruta.
No existe redundancia de rutas físicas o lógicas.
Estima un nivel mínimo de distribución de energía eléctrica para atender exigencias de capacidad eléctrica, con pequeña o ninguna redundancia. En este caso, una falla eléctrica o una reparación podrán ocasionar la interrupción parcial o total de las operaciones. No es necesaria redundancia de alimentación de energía en la entrada de la empresa.
La infraestructura deberá estar fuera de servicio al menos una vez al año por razones de mantenimiento y/o reparaciones.  Errores de operación o fallas en los componentes de su infraestructura causarán la interrupción.
Debe prever un sistema de acondicionamiento de aire simples/múltiples con capacidad de enfriamiento combinada  para mantener la temperatura y la humedad relativa de las áreas críticas en las condiciones proyectadas, sin unidades redundantes. 
La tasa de disponibilidad máxima es 99.671
Los potenciales puntos de falla son:
  • Falla de energía de la concesionaria en el Data Center o en la Central de la Operadora de Telecomunicaciones;
  • Falla de equipamientos de la Operadora;
  • Falla en los Routers o conmutadores no redundantes;
Cualquier evento catastrófico en las rutas de interconexión o en las áreas ER, MDA, HDA, ZDA, EDA; 





Tier II: Componentes Redundantes

Los equipamientos de telecomunicaciones del Data Center y también los equipamientos de la operadora de  telecomunicaciones, así como los conmutadores LAN-SAN deben tener módulos redundantes (fuentes de energía, placas procesadoras, de supervisión, de uplink, de acceso).
 Conexiones redundantes pueden estar en los mismos cables.   Debe tener dos cajas de acceso de  telecomunicaciones y dos caminos de entrada hasta la ER. Es recomendable que haya una separación física de al menos 20m entre estos. Debe proveer módulos UPS redundantes para N+1. Es necesario un sistema de  generador eléctrico dimensionado para  controlar todas las cargas, mientras no sea necesario conjunto de generadores redundantes. No es necesaria ninguna redundancia en la entrada de servicio de distribución de energía.
 Los sistemas de aire acondicionado deben ser proyectados para la operación continua 7 días/ 24 horas/ 365 días/año e incorporan un mínimo de redundancia N+1. La tasa de disponibilidad máxima 99.741

 Posible punto de falla para esta instalación:
·         Fallas en los sistemas de aire acondicionado o de energía pueden ocasionar fallas en todos los demás componentes.
·         Mantenimiento en la línea de distribución eléctrica o en otros componentes de la infraestructura, pueden causar una interrupción del servicio. 

Tier III: Mantenimiento Concurrente (Sistema Auto Soportado)

Debe ser atendido por lo menos dos operadoras de telecomunicación. No es permitido que los cables de una misma operadora presten servicios a una segunda operadora, para evitar un punto único de falla.
 Debe tener dos salas de entrada (ER) de preferencia en lados opuestos con lo mínimo de 20m de separación física entre las dos entradas. En estas salas no se debe compartir equipamientos de telecomunicación, las salas deben estar en zonas de protección contra incendio, sistemas de energía y aire acondicionado distintos. Los equipos de las operadoras de cada sala de entrada deben funcionar si hubiera problemas en la otra sala.
 Debe proveer rutas redundantes entre las salas de entrada (ER), las salas de conexión principal (MDA) y las salas/áreas de cableado horizontal (HDA). En estas rutas deben tener fibras o pares  de cobre redundantes, dentro de la configuración estrella general. Las conexiones redundantes pueden estar en la misma o en distintas cubiertas de cables. 


Para infraestructuras que utilizan sistemas de enfriamiento por agua. La tasa de disponibilidad máxima 99.982%.
El punto de falla es:
·         Cualquier evento crítico “catástrofe” en la MDA o HDA va a interrumpir los servicios


Tier IV: Tolerante a Fallas (Baja Tolerancia a Fallas)

Requiere dos líneas de distribución simultáneamente activas, típicamente en una configuración System+System.
Todo el cableado del  backbone debe ser redundante, además, él debe ser protegido a través de rutas/ductos cerrados.
Los equipamientos activos (Routers, MODEM de operadoras, switches LAN/SAN) deben ser redundantes y tener alimentación de energía redundante. El sistema debe proveer la conmutación automática para los equipos de backup.
Eléctricamente esto significa dos sistemas de UPS independientes, cada sistema con un nivel de redundancia N+1. La carga máxima de los sistemas en situaciones críticas es de 90%.
Persiste un nivel de exposición a fallas, por el  inicio una alarma de incendio o porque una persona inicie un procedimiento de apagado de emergencia (EPO), los cuales deben existir para cumplir con los códigos de seguridad contra incendios o eléctricos. La tasa de disponibilidad máxima 99.995%
Algunos potenciales puntos simples de falla de una instalación de capa 4 son:
En el caso de no implementar una MDA secundaria, si la MDA primaria tener fallas, el sistema es interrumpido.
En el caso de no implementar una HDA secundaria, si la HDA primaria tener fallas, el sistema es interrumpido.





Utilizacion de índices en Estructuras de Datos: Arbol Binario Arbol AVL y Arbol B


           El índice puede definirse como una entidad que opera con un procedimiento que acepta información acerca de cierto valor de atributo, como entrada, y provee como salida una información que permite la rápida localización del registro de le llama primario al índice que utiliza como entrada la llave primaria y da como salida una información referente a la ubicación física del registro.
           Para que la búsqueda sea más eficiente y reducir el tamaño del archivo índice, los campos referentes a la información asociada se almacenan separadamente, con los cual se tendrá que considerar una colección ante la llave y los datos asociados, esta es a través de un indice.
            Teniendo al apuntador fuera de la estructura de datos se puede calificar al archivo como índice, en cual consiste básicamente en una colección de pares, llaves-dirección.



Arbol Binario
Permite procesar el archivo secuencialmente por orden lógico y también procesarlo aleatoriamente.
 Si se tiene una indexación es conveniente para archivos con mediana volatilidad, actividad variable y tamaño relativamente estable.
Aunque existen desventajas
- Número de accesos en la búsqueda binaria
- Mantener ordenado el archivo de índices

 ARBOL B
            Una de las estructuras que más ampliamente se ha  usado para organizar un índice en un sistema de base de datos y en administradores de archivos tradicionales es el árbol B. (B Tree).
            Un árbol B es una clase especial de árbol multicamino equilibrado que permite recuperar, eliminar e insertar registros de un archivo extremo con buen rendimiento en el peor caso.
Permite mantener ordenado el índice fácilmente
Dependiendo del orden del Arbol B, se puede obtener un gran rendimiento, por ejemplo si tenemos un árbol de orden 25, el nodo tendrá 50 llaves y puede encontrar cualquier llave de entre 1,000,000 con tan solo 4 accesos a disco
         Hay varias formas de organizar las hojas, una de ellas es que el archivo principal esta almacenado solo en las hojas, y que cada hoja ocupa un bloque. También es importante hacer notar si se trata de un índice denso, en tal caso se tendrá que mantener en cada nodo la dirección de la información asociada al valor de la llave, o si se trata de índice disperso donde se tendría ciertos valores de llaves en el índice y en las hojas existirían todos los valores de llaves que propiamente es el archivo principal.


En un árbol B+, todas las llaves en las hojas. Los niveles superiores, los cuales están organizados como un árbol B, consisten únicamente de un índice para localizar rápidamente. 
              La lista de hojas es referida como el conjunto secuencia, lo cual permite un fácil procesamiento secuencial.

              Para el proceso de búsqueda se realiza desde la raíz del árbol a través del índice hasta una hoja. Ya que todas las llaves residen en las hojas, no todos los valores de llaves son encontrados en la trayectoria de búsqueda, si no hasta llegar a la hoja correcta



Conclusion

Teniendo en cuenta la interaccion con la que se cuenta con sistemas de archivos y asi mismo con la información que  en ella existen, los cuales podemos  borrar, modificar y clasificar  de acuerdo  a la información que en ellos contengan podiendo acceder mediante índices es mucha mas rápida.


Hardware versus Software


Como en todo dualismo, siempre ha habido quien ha planteado un pronóstico razonable sobre quién estaba ganando la partida. En el principio, el software era un extra, era impensable cobrar por él y los programadores intercambiaban sus aplicaciones libremente. Cuando el dinero empezó a inundar el sector, las cosas cambiaron y el software empezó a ser un coto cerrado, especialmente los sistemas operativos.

Vender software (antivirus, videojuegos, editores de vídeo).Hay quien dice que vivimos una nueva edad dorada del software. Surgen programas que simplifican el proceso de crear aplicaciones, poniendo al alcance de cualquiera lo que antes solo un experto programador podía hacer. Se extiende el software libre, el que puede ser modificado y mejorado por los propios usuarios.


Los avances del software continúan dejando atrás nuestra habilidad de construir software para alcanzar el potencial del hardware.

Evolucion del Software


Primera Generación
El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costes a correr. 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. El diseño era un proceso implícito, realizado en la mente de alguien y, la documentación normalmente no existía.

Segunda Generación
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. También se caracterizo por el establecimiento del software como producto y la llegada de las "casas del software". 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.

Tercera Generación
La tercera generación de los sistemas de computadora comenzó a mediados de los años setenta y continúo más allá de una década. El sistema distribuido, múltiples computadoras, cada una ejecutando funciones concurrentes 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 la creciente demanda de acceso "instantáneo" a los datos, supusieron una fuerte presión sobre los desarrolladores del software.
La conclusión de la tercera era se caracterizo por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde automóviles hasta  hornos microondas, desde robots industriales a equipos de diagnósticos de suero sanguíneo.

Cuarta Generación
La cuarta era de la evolución de los sistemas informáticos 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.



La industria del software ya es la cuna de la economía del mundo. Las técnicas de la cuarta generación para el desarrollo del software están cambiando en la forma en que la comunidad del software construye programas informáticos. 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.
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 aumentando:
  • Los avances del software continúan dejando atrás nuestra habilidad de construir software para alcanzar el potencial del hardware.
  • Nuestra habilidad de construir  nuevos programas no pueden ir al mismo ritmo de la demanda de nuevos programas, ni podemos construir programas lo suficientemente rápido como para cumplir las necesidades del mercado y de los negocios.
  • El uso extenso de computadoras ha hecho de la sociedad cada vez más dependiente de la operación fiable del software. Cuando el software falla, pueden ocurrir daños económicos enormes y ocasionar sufrimiento humano.
  • Luchamos por construir  software informático que tengan fiabilidad y alta calidad.
Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseños pobres y recursos inadecuados.