0% encontró este documento útil (0 votos)
102 vistas8 páginas

Taller 2 Ingenieria de Software

Los estilos arquitectónicos del software describen categorías de sistemas que comparten propiedades estructurales y funcionales. Algunos estilos importantes son: centrados en datos, de flujo de datos, de llamada y retorno, orientados a objetos y estratificados. Los estilos arquitectónicos son útiles para sintetizar estructuras de soluciones, definir patrones de aplicaciones y evaluar arquitecturas alternativas. Cada estilo tiene ventajas y desventajas dependiendo de los requerimientos del sistema.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
102 vistas8 páginas

Taller 2 Ingenieria de Software

Los estilos arquitectónicos del software describen categorías de sistemas que comparten propiedades estructurales y funcionales. Algunos estilos importantes son: centrados en datos, de flujo de datos, de llamada y retorno, orientados a objetos y estratificados. Los estilos arquitectónicos son útiles para sintetizar estructuras de soluciones, definir patrones de aplicaciones y evaluar arquitecturas alternativas. Cada estilo tiene ventajas y desventajas dependiendo de los requerimientos del sistema.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CORPORACION UNIFICADA NACIONAL DE EDUCACION SUPERIOR

DOCENTE:

JUAN CRUZ GARZON

ESTUDIANTE:

LUIS CARLOS BENITEZ COBO

TEMATICA:

ESTILOS ARQUITECTÓNICOS DEL SOFTWARE, IMPORTANCIA Y SUS TIPOS

ASIGANTURA:

INGENIERIA DEL SOFTWARE ll

BOGOTA 8 DE SEPTIEMBRE DE 2021


INTRODUCCIÓN A LOS ESTILOS ARQUITECTÓNICOS DEL SOFTWARE
Cada estilo arquitectónico describe una categoría del sistema que contiene: un conjunto
de componentes, que realiza una función requerida por el sistema, un conjunto de
conectores que posibilitan la comunicación, la coordinación y la cooperación entre los
componentes; 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.
Un estilo arquitectónico Caracteriza una familia de sistemas que están relacionados por
compartir propiedades estructurales y funcionales. También puede definirse como la
descripción de los tipos componente y de los patrones de interacción entre ellos.
1. CONCEPTOS DE ESTILOS ARQUITECTÓNICOS DEL SOFTWARE
Un estilo arquitectónico es una lista de tipos de componentes que describen los patrones
o las interacciones a través de ellos. Un estilo afecta a toda la arquitectura de software y
puede combinarse en la propuesta de solución. Los estilos ayudan a un tratamiento
estructural que concierne más bien a la teoría, la investigación académica y la
arquitectura en el nivel de abstracción más elevado, expresando la arquitectura en un
sentido más formal y teórico. Una vez que se han identificado los estilos, es lógico y
natural pensar en reutilizarlos en situaciones semejantes que se presenten en el futuro.
Cuando se habla de una arquitectura en tres capas, o una arquitectura cliente-servidor,
tácitamente se está haciendo referencia a una clasificación de las posibles
configuraciones disponibles, en cuyo contexto adquiere un significado distintivo. No tiene
sentido hablar de estilos si no se clarifica cuál es la tipología total en la que cada uno de
ellos engrana. Definir una arquitectura como, por ejemplo, orientada a servicios
ciertamente la tipifica, la distingue, la singulariza. La cuestión no es clasificarlas, sino
que al optar por una forma arquitectónica se define una situación pragmática. Una vez
que los estilos adquieren una dimensión semántica precisa y diferencial, a su significado
se asocian conceptos, herramientas, problemas, experiencias y antecedentes
específicos.
Existe una clasificación de familias de estilos, entre los que podemos destacar:

Estilos de Flujo de Datos:


Esta familia de estilos destaca la reutilización y la modificabilidad. Es apropiada para
sistemas que implementan transformaciones de datos en pasos sucesivos.

Estilos Centrados en Datos: Pone énfasis en la integridad de los datos. Son útiles para
sistemas que se centran en el acceso y actualización de datos.

Estilos de Llamada y Retorno: Pone mayor atención sobre la modificabilidad y la


escalabilidad del sistema. Son estilos que se utilizan para sistemas en gran escala.

Estilos Orientado a Objetos:


Su mayor interés está en el encapsulamiento de datos. Como ejemplo están los
intérpretes.
Estilos Estratificado:
Su fuerte se centra en el desarrollo de capas de software que se van ejecutando
progresivamente

1.1. IMPORTANCIA DE LOS ESTILOS ARQUITECTÓNICOS DEL SOFTWARE

• 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.

2. CLASIFICACIÓN DE LOS ESTILOS ARQUITECTÓNICOS

ARQUITECTURA CENTRADA 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.
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.

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
• Hilo de control simple soportado por los lenguajes de programación.
• Usa una estructura implícita de subsistemas.
• Razonamiento jerárquico, cambios en una subrutina implican cambios en las
subrutinas que hacen la invocación.
• Pretenden incrementar el desempeño distribuyendo el trabajo en múltiples
procesadores.
Ventajas
• Utilizados en grandes sistemas de software.
• La descomposición en módulos disminuye la complejidad.
• Persiguen escalabilidad y modificabilidad.
• Dependencia y acoplamiento entre módulos.
• La reutilización y el mantenimiento son difíciles

ARQUITECTURA ORIENTADA A OBJETOS


Los componentes de un sistema encapsulan los datos y las operaciones que se deben
realizar para manipular los datos. La comunicación y la coordinación entre componentes
se consiguen a través del paso de mensaje. La representación de los datos y sus
operaciones primitivas asociadas son encapsuladas en un tipo de dato abstracto u
objeto.
Características
• En este estilo los componentes son los objetos, o instancias de tipos de datos
abstractos.
• Estos objetos son de un tipo de componente denominado manager porque es
responsable por preservar la integridad de un recurso.
• Los objetos interactúan a través de invocaciones a procedimientos y funciones.

Ventajas
Como un objeto oculta su representación a sus clientes, es posible cambiar su
implementación sin modificar los clientes: modificabilidad.
La integración de un conjunto de rutinas de acceso con los datos que manipulan permite
a los diseñadores descomponer los problemas en colecciones de agentes que
interactúan.

ARQUITECTURA ESTRATIFICADA
Se crean diferentes capas y cada una realiza operaciones que progresivamente se
aproximan más al cuadro de instrucciones de la máquina. En la capa externa, los
componentes sirven a las operaciones de interfaz de usuario. En la capa interna, los
componentes realizan operaciones de interfaz del sistema. Las capas intermedias
proporcionan servicios de utilidad y funciones de software de aplicaciones.
Características
• Organización jerárquica, cada capa proporciona servicios a la capa superior y
actúa como cliente de la capa inferior.
• Los componentes se organizan en capas.
• Los conectores son definidos por los protocolos que determinan como interactúan
las capas.
Ventajas
Facilita la migración. El acoplamiento con el entorno está localizado en las capas
inferiores. Estas son las únicas a re implementar en caso de transporte a un entorno
diferente.
• Reutilización: como cada nivel implementa unas interfaces claras y lógicas
pueden intercambiarse.
• Mantenimiento: los cambios en una capa apenas afectan a la superior e inferior.
• Permite trabajar en varios niveles de abstracción: Para implementar los
niveles superiores no se requiere conocer el entorno subyacente, basta con las
interfaces que proporcionan los niveles inferiores.

3. CONCLUCIONES

• La gran variedad de patrones existentes hace que podamos utilizarlos en casi todo
el diseño del sistema, es decir, ante una situación, es muy probable que
encontremos un patrón que la resuelva. Los patrones no son siempre la solución
adecuada o mejor para un problema. Si bien añaden flexibilidad, también añaden
complejidad.

• Todos los estilos vistos anteriormente tienen su funcionalidad especifica y cada


uno será el mas adecuando en ciertas situaciones, por lo tanto, es fundamental
conocerlos para saber que diseño aplicar.
REFERENCIAS

• Almeira, A. S. (s.f.). Obtenido de [Link]


[Link]
• anonimo-ecured. (s.f.). Obtenido de
[Link]
estilos_arquitect.C3.B3nicos

También podría gustarte