Estilos Arquitectonicos De Software
Enviado por rafa2112 • 30 de Mayo de 2014 • 1.190 Palabras (5 Páginas) • 781 Visitas
Estilos Arquitectónicos de software
Cada estilo arquitectónico describe una categoría del sistema que pueden contener, conjunto de componentes los cuales realizan una función requerida por el sistema, conjunto de conectores que posibilitan la comunicación, la coordinación y la cooperación entre los componentes así también restricciones que definen como se puede integrar los componentes que forman el sistema y modelos semánticos que permiten al diseñador entender las propiedades globales de un sistema para analizar las propiedades conocidas de sus partes constituyentes.
Utilización de los Estilos Arquitectónicos
• Sirven para sintetizar estructuras de soluciones.
• Pocos estilos abstractos encapsulan una enorme variedad de configuraciones concretas.
• Definen los patrones posibles de las aplicaciones.
• Permiten evaluar arquitecturas alternativas con ventajas y desventajas conocidas ante diferentes conjuntos de requerimientos no funcionales.
Entre los estilos que podemos encontrar tenemos a los siguientes:
1. Arquitectura Centrada en Datos
Como parte central de esta arquitectura aparece un almacén de datos, el cual es accedido de manera frecuente por otros componentes que actualizan, añaden, borran o modifican dichos almacenes
El software cliente accede a un repositorio central, entre los cuales encontramos a los siguientes:
Repositorio pasivo: el cliente software accede a los datos independientemente de cualquier cambio en los datos o a las acciones de otros clientes software.
Repositorio activo (pizarra): el repositorio envía información a los clientes cuando los datos de su interés cambian, siendo por tanto un ente activo.
Características
Esta arquitectura centradas en datos proporcionan integridad, es decir, los componentes existentes pueden cambiar y pueden añadirse nuevos componentes a la arquitectura sin que afecte a otros clientes. A su vez los datos pueden ser pasados entre clientes a través de mecanismos que coordinen dicha transferencia de información.
Ventajas
• Posibilita la integración de agentes.
• Adecuado para la resolución de problemas no deterministas.
• Se puede resumir el estado de conocimiento en cada momento del proceso.
Desventajas
• Estructura de datos común a todos los agentes.
• Problemas de cargar a la hora de chequear y vigilar el estado de la pizarra.
2. Arquitectura de Flujo de Datos
Se basa en el patrón “pipe and filter” (tuberías y filtros). Este consta de un conjunto de componentes denominados “filtros” conectados entre sí por “tuberías” que transmiten datos desde un componente al siguiente.
Cada filtro trabaja de manera independiente de los componentes que se encuentran situados antes o después de ella. Se diseñan de tal modo que esperan un conjunto de datos en un determinado formato y obtiene como resultado otros datos de salida en un formato específico.
Si el flujo degenera en una única línea de transformación, se denomina secuencial batch.
Características
Las arquitecturas de flujo de datos no se basan en un contador de programa (al menos conceptualmente) en tanto en cuanto la posibilidad de ejecución de las instrucciones solamente viene determinada por la disponibilidad de los argumentos de entrada de las instrucciones.
Ventajas
La ejecución fuera de orden se ha convertido en el paradigma computacional por excelencia desde los años 90. Es una forma de flujo de datos restringido. Este paradigma introdujo la idea de ventana de ejecución, que sigue el orden secuencial de la arquitectura de von Neumann; sin embargo, dentro de la ventana se permite que las instrucciones sean completadas en el orden de las dependencias de datos.
Desventajas
La complejidad lógica de mantener el rastro de las dependencias de datos de forma dinámica restringe a los procesadores basados en ejecución fuera de orden a un reducido número de ejecuciones (de 2 a 6) y limita el tamaño de la ventana de ejecución de 32 a 200 instrucciones, mucho menor que las utilizadas en las máquinas puras de flujo de datos.
3. Arquitectura de Llamada y Retorno
Es un estilo clásico de los años 1960. Descomposición jerárquica en subrutinas (componentes) que solucionan una tarea o función definida. Los datos son pasados como parámetros y el manejador principal proporciona un ciclo de control sobre las subrutinas. Reflejan la estructura del lenguaje
...