Post on 23-Jun-2015
Estilos y PatronesArquitectura de Software
Introducción a la Arquitectura de Software
Arquitecturo de Software
• Scope• Stakeholders• Drivers• Model• Technology
Proceso de la Arquitectura
Diseño Arquitectural
FrameworksPatrones
ArquitecturaEstilos
Arquitectónicos
Arquitectura de SW
Bibliotecas Componentes
Patrones de Diseño
Estilos Arquitectónicos
Soluciones que cumplen con ciertas características para definir una familia de sistemas en términos Componentes, Interfaces y Restricciones. Varios estilos Arquitectónicos pueden definir la Arquitectura de un software
Tipos• Monolítica• Centrado en Datos• Flujos de datos• Llamada y retorno
Estilo Centrado en datos
El sistema se percibe como la necesidad de capturar, almacenar y recuperar datos sobre un repositorio. Los datos son gestionados de manera directa en un componente que haga uso de un almacén de datos (DataWarehouse)
• Ejemplos: Bases de datos locales, CRM, Web estaticas
Estilo Flujo de datos
El sistema se percibe como una sucesión de transformaciones que sufre una serie de datos de entrada.
Los datos ingresan al sistema y fluyen a través de componentes hasta que se asignan a una salida o almacenamiento.
• Ejemplos: Compilador, procesamiento de datos tradicional por lotes (batch), sistemas embabidos
Validar Transformar Actualizar Reportar
Estilo Llamada y Retorno
El sistema se percibe como una sucesión de peticiones y respuestas entre dos componentes de manera síncrona o asíncrona
• Ejemplos: Aplicaciones Web dinámicas, sistemas de información empresarial
¿Que es un Patrón?
Patrón
Contexto
Situación que da lugar al problemaProblema
Conjunto de fuerzas que surgen del contextoSolución
Configuración para balancear las fuerzas:Componentes y relaciones,Comportamiento dinámico.
Patrones ArquitectónicosUn esquema genérico probado para solucionar un problema particular recurrente. Este esquema se especifica describiendo:
• Componentes, • sus responsabilidades, • Relaciones y las formas en que colaboran.
• Tuberías y filtros• Pizarrón o Repositorio• Cliente-Servidor• Capas
Architecture Pipe and Filter
Enfatiza la transformación incremental de los datos a través de las sucesivas componentes.
Cada componente (filtro) es un traductor que • Procesa los datos de entrada • Usa poca información de contexto• No retiene información de estado
Traductor
Traducir al inglés Escribir Castellano
Traducir al chino Escribir Ingles
Repository Architecture
Layered Architecture
Enfatiza la división de funcionalidades a través de las sucesivos componentes (Layers). Cada capa define un conjunto de servicios
Architecture Client-Server