La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash

Presentaciones similares


Presentación del tema: "1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash"— Transcripción de la presentación:

1 1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash mdeboli@lagash.com

2 2 ¿Qué es la arquitectura de software? Conjunto de decisiones importantes acerca de la organización de un sistema Selección de elementos estructurales y las interfaces que componen al sistema Funcionalidad, facilidad de uso, capacidad, rendimiento, la reutilización, la comprensión, limitaciones económicas y la tecnología, intercambios y estética

3 3 Fowler El mayor nivel de desglose de un sistema en sus partes. Las decisiones que son difíciles de cambiar. Existen múltiples arquitecturas en un sistema. Que es arquitectónicamente importante que puede cambiar la vida de un sistema. La arquitectura se reduce a cualquier cosa que sea importante.

4 4 Consideraciones relevantes a la arquitectura Como va a ser desplegada la aplicación en producción. Como los usuarios utilizar la aplicación. Cuales son los atributos de calidad, tales como la seguridad, rendimiento, simultaneidad, etc. Cuales son las tendencias arquitectónicas que pudieran afectarnos.

5 5 Objetivos de la arquitectura Exponer la estructura del sistema, pero ocultar los detalles de implementación Hacer posibles todos los casos de uso. Trate de abordar las preocupaciones de las diversas partes interesadas Manejar al mismo tiempo los requerimientos funcionales y de calidad

6 6 Escenarios Atributos de calidad Requerimientos/Restricciones Transversales Mobile Tipos de aplicaciones RIA Rich Client Service Aplicación web N … Client Server Estilos de arquitectura Component-Based Layered Architecture Message Bus MVC Architecture Object Oriented N … Marco de Arquitectura Caching Comunication Concurrency and transactions Configuration Management Coupling and Cohesion Data Access Exception Management Caching Comunication Concurrency and transactions Configuration Management Coupling and Cohesion Data Access Exception Management Layering Logging and instrumentation State Management Structure Validation Workflow Layering Logging and instrumentation State Management Structure Validation Workflow

7 7 Tipos de Aplicaciones Aplicaciones para dispositivos móviles Rich Client para aplicaciones que se ejecutarán en una PC cliente. RIA para aplicaciones desplegadas en internet con apoyo de interfaces ricas de usuario y soporte de media Servicios para apoyar comunicaciones entre componentes débilmente acoplados. Aplicaciones web para escenarios completamente conectados

8 8 Estrategia de despliegue Restricciones de Red y protocolos. En entornos poco flexibles tener en cuenta restricciones. Tener en cuenta atributos de calidad como la seguridad, rendimiento y mantenibilidad. Políticas y procedimientos. Especificar los requisitos y limitaciones en la arquitectura y la infraestructura.

9 9 Estilos de arquitectura Conjunto de principios. Normas que especifican los tipos de componentes que puede utilizar para montar un sistema. Limitaciones en la forma en que se ensamblan y las hipótesis sobre el significado de cómo ponerlos juntos.

10 10 Tecnología apropiada Tipo de aplicación que queremos desarrollar. Preferencia ante diferentes opciones. Políticas de la organización. Limitaciones de la infraestructura. Habilidades de los recursos.

11 11 Atributos de calidad Los atributos de calidad deben estar separados de los requerimientos funcionales. Desde una perspectiva técnica, implementar atributos de calidad, es la diferencia entre un sistema bueno ó malo. Dos tipos de atributos de calidad.  Los que se pueden medir en run-time.  Los que solo se pueden medir inspeccionando.

12 12 Atributos de calidad Cual es el atributo de calidad clave para nuestro sistema? Identificarlo en la etapa de diseño. ¿Cuáles son los requisitos fundamentales para hacer frente a estos atributos? ¿Son realmente cuantificable? ¿Cuáles son los criterios de aceptación para estos atributos?

13 13 Funciones transversales Autenticación Autorización Cache Comunicación Manejo de excepciones Instrumentación y logueo

14 14 Diseñando la Arquitectura Diseño ágil e incremental. ¿Cuáles son las partes fundamentales de la arquitectura que representan el mayor riesgo? ¿Cuáles son las partes de la arquitectura que tienen más probabilidades de cambiar, o cuyo diseño se puede retrasar hasta más tarde con poco impacto? ¿Cuáles son sus supuestos básicos, y cómo va a probarlos?

15 15 Principios claves de la Arquitectura Diseñar la arquitectura para adaptarse a los cambios. Modelado para el análisis y la reducción de riesgos. Modelos y puntos de vista son una buena herramienta de comunicación y colaboración. Identificar las principales decisiones de ingeniería. Invertir en conseguir estas decisiones clave desde el primer momento para que el diseño es más flexible y adaptable al cambio.

16 16 Enfoque incremental e iterativo Considere la posibilidad de utilizar un enfoque incremental iterativo y refinado de la arquitectura. No tratar de hacerlo bien y completo de una vez. Iterativamente agregar detalles al diseño a través de múltiples pasos. Probar constantemente el diseño:  ¿Qué necesidades explícitas o implícitas reúne esta arquitectura?  ¿Cuáles son los principales riesgos con este enfoque arquitectónico?  ¿De qué manera esta arquitectura es una mejora con respecto a la línea de base o el último candidato de arquitectura?

17 17 Arquitecturas de referencia y candidatos La base de la arquitectura describe el sistema actual que es la forma actual de su sistema. Si se trata de uno nuevo, su base inicial es la primera de alto nivel. Tipo de Aplicación. Despliegue de la arquitectura. La arquitectura en si misma Opciones de tecnologías. Atributos de calidad

18 18 Architectural Spikes Una Spike de arquitectura es una prueba de extremo a extremo de un pequeño segmento de la aplicación. Reducir riesgos y testear diferentes caminos y alternativas. A medida que evoluciona su arquitectura, puede utilizar spikes para explorar diferentes escenarios sin afectar el actual diseño. Un spike de arquitectura se traducirá a un candidato de arquitectura que puede ser cotejado con la línea base.

19 19 Architectural Spikes ¿Esta arquitectura introduce nuevos riesgos? ¿Esta arquitectura ayuda a mitigar riesgos adicionales ya conocidos? ¿Esta arquitectura posee requisitos adicionales? ¿Esta arquitectura permitirá casos de uso importantes? ¿Esta arquitectura esta enfocada a nuestros atributos de calidad?

20 20 Casos de uso arquitectonicamente importantes Son importantes para el éxito y la aceptación de la aplicación desplegada. Son suficientes para testear la utilidad de la arquitectura. Después de haber determinado los casos de uso importantes se pueden utilizar para evaluar el éxito o el fracaso de arquitecturas candidatas.

21 21 Análisis y evaluación de arquitecturas Pruebe su diseño contra casos de uso que son importantes para el éxito de su aplicación, y que hagan uso de una parte importante del diseño. Usar escenarios para analizar su diseño con un enfoque en la calidad atributos.


Descargar ppt "1 Introducción a la Arquitectura de Sistema Maximiliano Déboli Director De Desarrollo MVP Azure Lagash"

Presentaciones similares


Anuncios Google