2. Arquitectura de software
La arquitectura de software es un conjunto de patrones que
proporcionan un marco de referencia necesario para guiar la
construcción
de
un
software,
permitiendo
a
los programadores, analistas y todo el conjunto de desarrolladores
del software compartir una misma línea de trabajo y cubrir todos los
objetivos y restricciones de la aplicación. Es considerada el nivel
más alto en el diseño de la arquitectura de un sistema puesto que
establecen la estructura, funcionamiento e interacción entre las
partes del software.
3. Componentes y Interacciones
Componentes:
La arquitectura de software se
compone por:
clientes y servidores.
bases de datos.
filtros.
niveles en sistemas jerárquico.
Interacciones
Entre los componentes de la
arquitectura de software existe un
conjunto de interacciones entre las
que sobresalen :
llamadas a procedimientos.
comportamiento de variables.
Protocolos, cliente, servidor.
transmisión asíncrona de eventos.
4. Características
La arquitectura de software forma la columna vertebral para construir un
sistema de software, es en gran medida responsable de permitir o no
ciertos atributos de calidad del sistema entre los que se destacan la
confiabilidad y el rendimiento del software. Además es un modelo
abstracto reutilizable que puede transferirse de un sistema a otro y que
representa un medio de comunicación y discusión entre participantes del
proyecto, permitiendo así la interacción e intercambio entre los
desarrolladores con el objetivo final de establecer el intercambio de
conocimientos y puntos de vista entre ellos.
5. Tipos de Arquitecturas
Para utilizar la arquitectura de software se sigue un conjunto de patrones
arquitectónicos, entre los cuales podemos encontrar:
Cliente-Servidor
Blackboard.
Modelo entre capas.
Intérprete.
Orientado a servicios.
6. Niveles de Arquitectura
El diseño de software tiene varios niveles los cuales están
relacionados entre sí, cada nivel tiene sus propios problemas,
técnicas de análisis y componentes los que pueden ser simples o
complejos, reglas de composición las cuales permiten construir
componentes complejos.
7. Modelos de Arquitectura
La arquitectura de software cuenta con varios modelos, ellos son:
Modelos estructurales:
Son similares a la vista estructural, pero su énfasis primario radica en la
(usualmente una sola) estructura coherente del sistema completo, en vez
de concentrarse en su composición. Los modelos de framework a menudo
se refieren a dominios o clases de problemas específicos. El trabajo que
ejemplifica esta variante incluye arquitecturas de software específicas de
dominios, como CORBA, o modelos basados en CORBA, o repositorios de
componentes específicos, como PRISM.
8.
Modelos dinámicos
Enfatizan la cualidad conductual de los sistemas ,“Dinámico”
puede referirse a los cambios en la configuración del sistema, o a la
dinámica involucrada en el progreso de la computación, tales
como valores cambiantes de datos.
Modelos de proceso
Se concentran en la construcción de la arquitectura, y en los pasos
o procesos involucrados en esa construcción. En esta perspectiva,
la arquitectura es el resultado de seguir un argumento (script) de
proceso. Esta vista se ejemplifica con el actual trabajo
sobre programación de procesos para derivar arquitecturas.
10. Historia
La II guerra mundial provoco una enorme demanda de desarrollos informáticos. La eniac
fue el resultado de la necesidad de disponer de tablas de tiro para las nuevas armas. Un
amplio contingente humano fue adscrito al pilotaje de aparatos de sofisticado manejo,
como por ejemplo los aviones de combate, y era necesario suministrar indicaciones
precisas de actuación como las referidas al disparo de bombas, etc.
En Bletchley park, Inglaterra, se puso en funcionamiento la computadora colossus I. Se utilizo
a partir de diciembre de 1943 para realizar análisis criptográfico y automatizar los complejos
cálculos necesarios para decodificar los mensajes militares alemanes cifrados. Estos eran
codificados por una maquina denominada enigma.
La década de los 40 significo la preparación de la inmediata generación de
computadoras. Durante estos años estas maquinas encontraron su lugar en recintos
aniversarios y militares, y se dedicaron a tareas de investigación y de medicina.
11. Primera Generacion
Características:
Tubos de vacío
Grandes dimensiones
Altos consumo de energía. El voltaje de
los tubos era de 300.v y la posibilidad de
fundirse era grande.
Uso de tarjetas perforadas. Se utilizaba
un modelo de codificación de la
información originado en el siglo
pasado, las tarjetas perforadas.
Almacenamiento de información en un
tambor magnético interior.
Un tambor magnético, dispuesto en el
interior de la computadora, recogía y
memorizaba los datos y los programas
que se le suministraban mediante
tarjetas.
12. Segunda Generacion
Transistor. Es el componente principal y la
materia prima para su fabricación son
pequeñísimas
porciones
de
material
semiconductor.
Mayor rapidez. La simplificación y reducción
de circuitos aporta una mayor rapidez de
funcionamiento.
La
velocidad
de
las
operaciones ya no se mide en segundos sino
en microsegundos (millonésima de segundo).
Introducción de elementos modulares. Los
componentes físicos de la computadora dejan
de concebirse como elementos separados. La
construcción de los aparatos incorpora el
concepto de modulo.
Aumento
de
la
fiabilidad.
Con
la
incorporación del transistor disminuye el riesgo
de averías, debido a su reducido voltaje. Su
fiabilidad alcanza cortas inimaginables con los
efímeros tubos de vació.
14. Cuarta Generacion
El
microprocesador.
La
micro
miniaturización
permite
construir
el
microprocesador, circuito integrado que
rige las funciones fundamentales de la
computadora.
Sistemas de tratamiento de bases de
datos.
El
aumento
cuantitativo
y
cualitativo de las bases de datos lleva a la
creación de distintas formas de gestión
que faciliten la tarea de consulta y edición
La
generación
del
usuario.
Definitivamente, la computación supera
sus tradiciones fronteras sociales. Deja de
ser el terreno exclusivo de un reducido
grupo de profesionales u consigue cubrirse
a amplios extractos sociales.
15. Quinta Generacion
Mayor velocidad.
Mayor miniaturización de los elementos.
Aumenta la capacidad de memoria.
Multiprocesador (Procesadores interconectados).
Lenguajes de programación: PROGOL (Programming
Logic) y LISP (List Processing).
Máquinas activadas por la voz que pueden responder a
palabras habladas en diversas lenguas y dialectos.
Capacidad de traducción entre lenguajes que permitirá
la traducción instantánea de lenguajes hablados y
escritos.
Características de procesamiento similares a las
secuencias de procesamiento Humano.
La Inteligencia Artificial recoge en su seno los siguientes
aspectos fundamentales: Los sistemas expertos, el
lenguaje natural, la robótica y el reconocimiento de la
voz.