Está en la página 1de 4

Cesar González CI: 26.538.

338

Estilos Arquitectónicos Unidad 3:

Definición:

un estilo arquitectónico define una familia de sistemas en términos de patrón de organización


estructural. Específicamente, un estilo arquitectónico determina el vocabulario de
componentes y conectores que puede ser usado así como un conjunto de restricciones de
cómo pueden ser combinados.

Los estilos arquitectónicos están basados en los patrones de arquitecturas que se usen. Los
estilos agrupan clases, englobando una serie de estilos arquitectónicos que comparten
características. Generalmente los estilos proveen guías para crear una clase amplia de
arquitectura, donde los patrones se enmarcan en darle solución a problemas más pequeños
y más específicos dentro de un estilo dado.

Entre Los Tipos Tenemos:

1) Estilos de Llamada y Retorno.

El modelo está encargado de administrar el comportamiento y los datos del dominio de


aplicación, respondiendo a requerimientos de información sobre su estado y a instrucciones
de cambiar su estado (normalmente desde el controlador); la vista que controla la
visualización de la información y el controlador que interpreta las acciones del ratón y del
teclado, informando al modelo y/o a la vista para que cambien su estado según les sea
factible.
Entre sus cualidades estas:
• Cliente-Servidor.
• Modelo Vista Controlador.
• Arquitectura en Capas.
• Arquitectura Orientada a Objetos.

2) Estilos de Código Móvil:

Una de sus cualidades es:


•Arquitectura de Máquinas Virtuales: En la nueva estrategia arquitectónica de Microsoft la
máquina virtual por excelencia tiene gran relación con el Common Language Runtime (CLR),
el CLR admite programación orientada a objetos (C#, F#, C++, Java, Phyton) y otros
paradigmas puros y templados.

Principales Estilos Arquitectónicos:

1) Estilos centrados en datos:

Un almacén de datos se encuentra en el centro de esta arquitectura , otro componente tiene


acceso a él y cuentan con la opción de gestionar los datos de ese almacén.
El software cliente tiene acceso a un almacén central, en algunos casos este es pasivo, el
software cliente accede a los datos independientemente de cualquier cambio hecho en los
datos o las acciones de otro software cliente.
Una variación de este enfoque transforma el depósito en un pizarrón que envía notificaciones
al software cliente cuando cambian datos de interés para el cliente.

Características

Promueve la capacidad de integración, es decir, que es posible cambiar componentes


existentes y agregar nuevos componentes a la arquitectura sin preocuparse por otros
clientes, además es posible pasar datos entre clientes empleando el mecanismo del pizarrón.
Los componentes clientes ejecutan los procesos de manera independiente.

2) Arquitectura de Flujo de Datos

Es una arquitectura de computadores que contrasta directamente con la


tradicional Arquitectura de von Neumann o de estructuras de control.

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.

Estilo clásico desde 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 de programación. Permite al diseñador del software construir una
estructura de programa relativamente fácil de modificar y ajustar a escala. Se basan en la
bien conocida abstracción de procedimientos/funciones/métodos.

Características

1) Hilo de control simple soportado por los lenguajes de programación.


2) Usa una estructura implícita de subsistemas.
3) Razonamiento jerárquico, cambios en una subrutina implican cambios en las
subrutinas que hacen la invocación.
4) Pretenden incrementar el desempeño distribuyendo el trabajo en múltiples
procesadores.

Ventajas
1) Utilizados en grandes sistemas de software.
2) La descomposición en módulos disminuye la complejidad.
3) Persiguen escalabilidad y modificabilidad.

Desventajas
1) Dependencia y acoplamiento entre módulos.
2) La reutilización y el mantenimiento son difíciles

También podría gustarte