Sunteți pe pagina 1din 7

Diseño y arquitectura de software

DS-DDRS-1702-B2-002

Estilos y patrones
aplicables a la
arquitectura de software
Elementos de diseño de la arquitectura de
Software

Nombre del alumn@


Daniel Hernandez Parrilla

Matrícula:
ES1611301311

Correo electrónico:
dhernandez@nube.unadmexico.mx

Nombre de la ingeniería:
Desarrollo de Software

Docente:
Alfredo Orozco Escobar
DiseñoDiseño y arquitectura
y arquitectura de software
de software
DS-DDRS-1702-B2-002
DS-DDRS-1702-B2-002

INTRODUCCION.
Confiar únicamente en la fase de diseño para desarrollar un sistema puede hacer el ciclo de vida
bastante largo y en consecuencia lento. Al utilizar estilos y patrones de arquitectura se mejora la
productividad del diseño.

ESTILO ARQUITECTÓNICO.
Los estilos arquitectónicos definen un grupo de sistemas interconectados que comparten
propiedades estructurales y semánticas. Es como una solución para resolver una cierta clase de
problemas que tienen requisitos de atributos de calidad comunes. No hay un estilo de arquitectura
que sea adecuado para todos los sistemas, ya que cada sistema tiene requisitos de atributos de
calidad diferentes. Algunos sistemas dan importancia a los atributos de seguridad, mientras que
otros enfatizan mucho en los atributos en tiempo real. Podemos considerar el estilo arquitectónico
como el marco de la solución, pero no el marco, en comparación con los patrones que de hecho
son una solución para los problemas concretos. Las elecciones de estilos restringen la escala del
espacio de solución, de modo que se reduce la complejidad de encontrar el proceso de patrones
adecuado. En resumen, el objetivo de usar estilos arquitectónicos es establecer una estructura
para todos los componentes presentes en un sistema. Si se va a rediseñar una arquitectura
existente, la imposición de un estilo arquitectónico produce cambios fundamentales en la
estructura del sistema. Este cambio también incluye la reasignación de la funcionalidad realizada
por los componentes.

Características.
• Componentes computacionales como clientes, servidor, filtro y base de datos para
ejecutar la función deseada del sistema.
• Un conjunto de conectores como llamada de procedimiento, difusión de eventos,
protocolos de base de datos y tuberías para proporcionar comunicación entre los
componentes computacionales
• Restricciones para definir la integración de componentes para formar un sistema
• Un modelo semántico que permite al diseñador del software identificar las características
del sistema como un todo al estudiar las características de sus componentes.

2
DiseñoDiseño y arquitectura
y arquitectura de software
de software
DS-DDRS-1702-B2-002
DS-DDRS-1702-B2-002

PATRÓN ARQUITECTÓNICO.
El patrón es una solución concreta, pero a diferentes niveles abstractos, tienen un contenido
diferente. Es una solución que logra un equilibrio entre todos los elementos de desarrollo. Sin
embargo, lo que lo convierte en un patrón es el hecho de que es recurrente. Si una solución de
diseño en su forma destilada esencial se encuentra en múltiples sistemas y es un diseño exitoso,
entonces esta solución es un patrón. Pongamos un ejemplo: en el nivel de arquitectura, para las
tuberías y el estilo de filtro, tienen muchas formas: si los filtros están estrictamente limitados para
tener solo una entrada y una salida, el sistema se llama tuberías, está compuesto por secuencias
lineales de filtros y tuberías que se encuentran entre estos filtros; si la cantidad máxima de datos
está limitada en cada tubería, estas tuberías se llaman tuberías limitadas, el sistema completo es
otro tipo en el estilo de tuberías y filtros; si se definen los tipos de datos que se ingresarán en las
tuberías, decimos que las tuberías son datos fuertemente tipados, que forman otro tipo en el estilo
de tuberías y filtros; si los flujos de datos no son incrementales, llamamos al sistema por lotes
secuenciales.

Características.
• Encapsulación: aplicabilidad independiente, específica y precisa.
• Generatividad: describe cómo construir.
• Equilibrio: la solución minimiza los conflictos de restricciones.
• Abstracción: de experiencia empírica y conocimiento cotidiano.
• Apertura: se puede extender hacia arriba o hacia abajo.

DIFERENCIAS: ESTILO ARQUITECTONICO Y


PATRÓN ARQUITECTONICO.
ESTILO ARQUITECTÓNICO. PATRON ARQUITECTÓNICO.
Es solo un nombre dado a un diseño Es una forma de resolver un problema
arquitectónico recurrente. Al contrario de un arquitectónico recurrente.
patrón, no existe para "resolver" un
problema.

3
DiseñoDiseño y arquitectura
y arquitectura de software
de software
DS-DDRS-1702-B2-002
DS-DDRS-1702-B2-002

Es una forma conceptual de cómo se creará Describe una solución para implementar un
/ funcionará el sistema estilo a nivel de subsistemas o módulos y sus
relaciones.
Basado en componentes Tres niveles
Aplicación monolítica Microkernel
Capas Modelo-Vista-Controlador
Tuberías y filtros
Eventos
Cliente Servidor
Centrado en datos

Tabla 1: Diferencias entre estilo arquitectónico y patrón arquitectónico.

ESTILO ARQUITECTONICO CENTRADO EN


DATOS.
El estilo arquitectónico centrado en datos también se conoce como arquitectura centrada en
bases de datos.

Grafico 1: Estilo arquitectónico centrado en datos.

4
DiseñoDiseño y arquitectura
y arquitectura de software
de software
DS-DDRS-1702-B2-002
DS-DDRS-1702-B2-002

Esta arquitectura es la disposición física y lógica de los recursos y equipos dentro de las
instalaciones de un centro de datos. Este estilo de arquitectura especifica cómo estos dispositivos
estarán interconectados y cómo se organizan los flujos de trabajo de seguridad física y lógica.
Tiene dos componentes distintos: una estructura de datos central o un almacén de datos
(repositorio central) y una colección de software (de cliente). El almacén de datos (por ejemplo,
una base de datos o un archivo) representa el estado actual de los datos y el software del cliente
realiza varias operaciones como agregar, eliminar, actualizar, etc. en los datos almacenados en
el almacén de datos. En algunos casos, el almacenamiento de datos permite que el software del
cliente acceda a los datos independientemente de cualquier cambio o acción de otro software del
cliente.

Características.
• Los clientes operan independientemente uno del otro.
• El repositorio de datos es independiente de los clientes.
• Agrega escalabilidad (es decir, nuevos clientes se pueden agregar fácilmente).
• Es compatible con la modificabilidad.
• Logra la integración de datos en el desarrollo basado en componentes utilizando el
concepto y/p sistema de pizarra (blackboard por sus siglas en inglés: es una base de datos
global accesible que utiliza diferentes fuentes de conocimiento que se comunican a través
del campo de información común).

Ámbito de aplicación.
• Estilo de arquitectura de repositorio. Colección de componentes independientes que
operan en la estructura central de datos. Algunos ejemplos son los sistemas de
información, entornos de programación, editores gráficos, bases de conocimiento, sistema
de ingeniería entre otros. También es importante para la integración de datos introducidos
en una variedad de aplicaciones, incluido el desarrollo de software, CAD, etc.
• Estilo de arquitectura de pizarra. Es un enfoque de inteligencia artificial que maneja
problemas complejos, donde la solución es la suma de sus partes. El flujo lógico está
determinado por el estado actual de los datos en el almacén de datos porque el almacén
de datos está activo y sus clientes son pasivos. Tiene un componente de pizarra

5
DiseñoDiseño y arquitectura
y arquitectura de software
de software
DS-DDRS-1702-B2-002
DS-DDRS-1702-B2-002

(blackboard) que actúa como un depósito de datos central. Se utiliza en la interpretación


de datos, como los sistemas de consultas (agencia de viajes entre otro), una sala de chat,
en ambientes de programación (IDE’s) y todas las aplicaciones que usen base de datos
globales.

Ventajas y desventajas.
VENTAJAS DESVENTAJAS
Manera eficiente de compartir grandes La evolución es difícil y costosa.
cantidades de datos. La distribución puede ser un problema.
Integridad de datos localizada en el módulo Alta dependencia entre la estructura de datos
de repositorio. del almacén de datos y sus agentes.
Los cambios en la estructura de los datos
afectan mucho a los clientes.
Tabla 2: Ventajas y desventajas del estilo arquitectónico centrado en datos.

EJEMPLO DE ESTILO ARQUITECTONICO


CENTRADO EN DATOS.
Los estilos centrados en los datos son cada vez más importantes porque ofrecen una solución
estructural a la ilegibilidad. Tienen la ventaja de que los clientes son relativamente independientes
entre sí, y el almacén de datos es independiente de los clientes. Por lo tanto, este estilo es
escalable: se pueden agregar fácilmente nuevos clientes. También es modificable con respecto
a cambiar la funcionalidad de cualquier cliente en particular porque de lo contrario no se verá
afectado. Un ejemplo podría ser un sistema de reservas de viajes, todos los agentes (avión, hotel,
renta auto, cliente) se conectan al sistema que alberga el centro de datos, o la base de datos.

CONCLUSIONES.
En mi opinión, los patrones y estilos arquitectónicos son mecanismos complementarios para
encapsular todo lo relacionado al diseño del sistema. Un estilo arquitectónico proporciona una
colección de elementos de diseño de bloques de construcción, reglas y restricciones para
componer los bloques de construcción y herramientas para analizar y manipular diseños creados
en el estilo. Los estilos generalmente proporcionan orientación y análisis para construir una clase

6
DiseñoDiseño y arquitectura
y arquitectura de software
de software
DS-DDRS-1702-B2-002
DS-DDRS-1702-B2-002

amplia de arquitecturas en un dominio específico, mientras que los patrones se centran en


resolver problemas más pequeños y más específicos dentro de un estilo dado (o tal vez en varios
estilos).

FUENTES DE CONSULTA.
Universidad Abierta y a Distancia de México (2017). Elementos de Diseño de la arquitectura de
software, en: Diseño y arquitectura de software [versión online]. Recuperado de:
https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S1-
B2/DS/04/DDRS/U2/Unidad_2_elementos_de_diseno_de_la_arquitectura_de_software.pd
f Consultado 29/09/17

Universidad de Sevilla (2015). Patrones Arquitectónicos, en: Ingeniería del Software de Gestión,
Departamento de Lenguajes y Sistemas Informáticos [versión online]. Recuperado de:
http://www.lsi.us.es/docencia/get.php?id=5086 Consultado 29/09/17

Universidad de la Republica Uruguay (2014). Arquitectura de Software, en: Introducción a la


Arquitectura de Software [versión online]. Recuperado de:
https://www.fing.edu.uy/tecnoinf/mvd/cursos/ingsoft/material/teorico/is05-
ArquitecturaDeSoftware.pdf Consultado 29/09/17

Carlos Reynoso – Nicolás Kicillof (2004). Estilos Arquitectónicos, en: Estilos y Patrones en la
Estrategia de Arquitectura de Microsoft, Universidad de Buenos Aires [versión online].
Recuperado de: http://carlosreynoso.com.ar/archivos/arquitectura/Estilos.PDF
Consultado 29/09/17

Jack Lee (2015). Arquitectura de datos centrada, en sitio Web http://www.w3ii.com Recuperado
el 12 de agosto del 2015, de
http://www.w3ii.com/es/software_architecture_design/data_centered_architecture.html

S-ar putea să vă placă și