Introducción al curso

1

Introducción al curso de Profesional de Arquitectura de Software

Atributos de calidad

2

Definición

3

Atributos: Idoneidad funcional

4

Atributos: Eficiencia de ejecución

5

Atributos: Compatibilidad

6

Atributos: Usabilidad

7

Atributos: Confiabilidad

8

Atributos: Seguridad

9

Atributos: Mantenibilidad

10

Atributos: Portabilidad

11

Tensiones entre atributos

12

Analizando PlatziServicios

Patrones de arquitectura

13

Patrones monolíticos vs distribuidos

14

Patrones: Modelo Vista Controlador

15

Patrones: Capas

16

Patrones: Orientado a eventos / Provisión de eventos.

17

Patrones: Microkernel - Plug-ins

18

Patrones: Comparte-nada

19

Patrones: Microservicios

20

Patrones: CQRS

21

Patrones: Hexagonal - Puertos y adaptadores

22

Patrones: Diseño orientado al dominio

23

Combinando patrones de arquitectura

24

Analizando nuevamente PlatziServicios

Diseño de una arquitectura

25

Pararse en hombros de gigantes

26

Herramientas y partes de un diseño: Tipos de conectores

27

Conectores: Llamado asincrónico / sincrónico. Modelo Cliente servidor.

28

Conectores: Enrutador, difusión

29

Conectores: Pizarra, repositorio, colas, modelo PUBSUB

30

Escenarios y tácticas

31

Escenarios: Disponibilidad, detección, reparación

32

Escenarios: Reintroducción y prevención

33

Escenarios: Mantenibilidad

34

Escenarios: Prevenir efectos dominó y diferir enlace

35

Escenarios: Eficiencia de ejecución

36

Escenarios: Seguridad

37

Escenarios: Capacidad de prueba

38

Escenarios: Usabilidad

39

Validar las decisiones de diseño: Arquitectura en evolución

40

Último análisis a PlatziServicios

Modelado y documentación de arquitectura

41

Cómo comunicar la arquitectura: Vistas y Puntos de vista

42

Documentación vs implementación

43

Conclusiones del curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Escenarios y tácticas

30/43
Recursos

¿Qué es el Framework de Diseño Orientado a Atributos?

El Framework de Diseño Orientado a Atributos es una herramienta potente para el diseño de software que permite optimizar la implementación de soluciones tecnológicas basadas en atributos de calidad clave. Este enfoque se centra en conectar estos atributos con tácticas de implementación precisas, para que la solución no solo cumpla con las expectativas funcionales, sino que también mejore uno o varios atributos de calidad específicos.

¿Cómo se estructura un escenario en este framework?

La clave para entender este framework radica en la estructura de sus escenarios. Cada escenario está diseñado para abordar un atributo de calidad específico y sigue los siguientes componentes:

  • Estímulo: Se trata de un evento o condición que impacta directamente en un atributo de calidad determinado. Por ejemplo, un estímulo podría ser un aumento inesperado en la cantidad de usuarios activos en una plataforma.

  • Tácticas: Estas son estrategias específicas que se implementan para manejar el estímulo. Las tácticas sirven como guías para diseñar soluciones más robustas que fortalecen el atributo de calidad afectado.

  • Respuesta: La expectativa de cómo debería responder el sistema al estímulo mediante la aplicación de las tácticas. Representa el resultado deseado.

¿Cómo relacionamos los patrones de arquitectura con este framework?

Los patrones de arquitectura que ya conocemos integran naturalmente varias tácticas asociadas al framework. Estos patrones no solo ayudan a abordar requerimientos técnicos específicos, sino que también implementan tácticas que refuerzan atributos como la disponibilidad, la seguridad o la eficiencia.

Por ejemplo, un patrón arquitectónico que favorece la alta disponibilidad puede tener tácticas como la redundancia de servicios o el balanceo de cargas, asegurando que, ante fallas, el sistema siga funcionando de manera óptima.

¿Cómo nos ayuda el framework en la práctica?

El framework permite a los diseñadores de software:

  • Evaluar y priorizar los atributos de calidad que son más críticos para el éxito de la solución.

  • Desarrollar un enfoque estructurado para gestionar desafíos comunes y mitigar riesgos asociados con estos atributos.

  • Optimizar la arquitectura del software, seleccionando tácticas que mejor abordan los estímulos identificados.

Este enfoque centrado en atributos de calidad no solo mejora el diseño del software, sino que también garantiza que este cumpla con los estándares esperados por los stakeholders, elevando la calidad y confianza del producto final.

Por lo tanto, el Framework de Diseño Orientado a Atributos se convierte en una herramienta indispensable para todo arquitecto de software que busque reforzar los atributos de calidad de sus soluciones y, en última instancia, satisfacer las necesidades tanto de los usuarios como del negocio.

Aportes 12

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Escenarios y tácticas

El diseño orientado a atributos, nos plantea una estructura de escenarios y tácticas, donde cada escenario nos ayudará a conectar estos atributos con diferentes tácticas de implementación que hablarán directamente de como la solución puede mejorar este atributo de calidad.


Los escenarios están relacionados con un atributo de calidad especifico. Estos plantean un estimulo, que tienen que ver con algo que afecta directamente con este atributo y luego va a plantear diferentes tácticas para proponer la respuesta a ese estimulo.


La respuesta es lo que esperamos como caso de éxito. Los patrones ya implementan algunas tácticas.

Framework de diseño orientado a atributos plantea una estructura de Escenarios y tácticas en donde cada escenario ayudará a conectar atributos con diferentes tácticas de implementación.

La estructura básica de todo escenario del framework en donde un escenario que va a estar asociado a un atributo de calidad especifico va a plantear un estímulo, el cual va a tener que ver con algo que afecta directamente a este atributo de calidad y luego va a plantear diferentes tácticas para controlar la respuesta a este estímulo, por último la respuesta es lo que esperamos o nuestro caso de éxito como pudimos resolver este estimulo con la implementación de algunas de estas tácticas.

Escenarios y Tácticas.
El framework de diseño orientado a atributos, platea una estructura de Escenarios y Tácticas. Cada escenarios ayuda a conectar atributos con diferentes tácticas de implementación que hablaran directamente de como la solución mejorara el atributo de calidad.

Escenario: Atributo de calidad x
Estimulo -> Tácticas para controlar la respuesta -> Respuesta

El framework de diseño orientado a atributos: nos planeta una estructura de escenarios y tácticas, donde cada escenario nos ayudará a concectar estos atributos con diferentes tácticas de implementación que hablarán directamente de cómo la solución puede mejorar este atributo de calidad.

Estructura básica del Framework:

    Un escenario que va a estar asociado a un atributo de calidad específico, va a plantear un estímulo, este estímulo va a tener con algo que afecta directamente a este atributo de calidad, y luego, va a plantear diferentes tácticas para controlar la respuesta a ese estímulo.

    Por último, la respuesta es lo que esperamos, nuestro caso de éxito. Cómo pudimos resolver ese estímulo con la implementación de algunas de esas tácticas. 

_Este framework nos permite razonar y tener una herramienta muy potente que es, diferentes tácticas ya planteadas y que ya resuelven e problema de una atributo de calidad específico.

A su vez, los patrones de arquitectura ya implementan alguna de las tácticas. Por ejemplo: Si favorecen la disponibilidad, seguramente que ya tiene implementadas tácticas aplicadas al escenario de disponibilidad. _

Escenarios y tácticas
El diseño orientado a atributos, nos plantea una estructura de escenarios y tácticas, donde cada escenario nos ayudará a conectar estos atributos con diferentes tácticas de implementación que hablarán directamente de como la solución puede mejorar este atributo de calidad.
Los escenarios están relacionados con un atributo de calidad especifico. Estos plantean un estimulo, que tienen que ver con algo que afecta directamente con este atributo y luego va a plantear diferentes tácticas para proponer la respuesta a ese estimulo.
La respuesta es lo que esperamos como caso de éxito. Los patrones ya implementan algunas tácticas.

Un framework: entorno de trabajo es un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar.

Framework de diseño orientado a atributos plantea una estrucutra de Escenarios y taticas en donde cada escenario ayudadra a contectar atributos con diferentes tacticas de implemetacion.

Al grafico del profe le agregaria una flecha al principio que aclare que los estimulos salen de los atributos de calidad que mas nos interesan

Un escenario o framework se enfoca en algun atributo de calidad, recibe algun dato, lo procesa o controla y da una respuesta

Un framework de arquitectura es una estructura de soporte en el cual el desarrollo [de un sistema de información] puede ser organizado y encarado con mayor simplicidad. … Un framework debe proporcionar una guía en cuanto a las buenas prácticas”.

Un escenario se enfoca en un atributo de calidad, recibe un dato, lo procesa y responde.

**Framework de Diseño Orientado a Atributos (ATAM)** El Framework de Diseño Orientado a Atributos (ATAM) es una metodología poderosa para evaluar y mejorar los atributos de calidad de la arquitectura de software. Este enfoque se centra en identificar los atributos críticos para el éxito del proyecto y diseñar soluciones que los aborden de manera eficaz. **¿Qué es el ATAM?** * **Propósito:** Evaluar y mejorar los atributos de calidad de la arquitectura de software. * **Atributos de Calidad:** Características como rendimiento, disponibilidad, seguridad, mantenibilidad, usabilidad, etc. * **Proceso:** Consiste en una serie de pasos que involucran a stakeholders, arquitectos y evaluadores. * **Resultados:** Identificación de riesgos, priorización de atributos, mapeo de decisiones arquitectónicas. **Pasos del Proceso ATAM** 1. **Presentación:** Se introducen los objetivos y el alcance del análisis. 2. **Impulsores del Negocio:** Se identifican los requisitos funcionales y no funcionales. 3. **Arquitectura:** Se describe la arquitectura existente o propuesta. 4. **Enfoques Arquitectónicos:** Se exploran diferentes enfoques para abordar los atributos de calidad. 5. **Árboles de Utilidad:** Se priorizan los atributos de calidad en función de los objetivos del negocio. 6. **Análisis de Enfoques:** Se evalúan los enfoques arquitectónicos en relación con los atributos de calidad. 7. **Lluvia de Ideas de Escenarios:** Se crean escenarios para explorar el comportamiento del sistema bajo diferentes condiciones. 8. **Análisis de Escenarios:** Se analizan los escenarios para identificar riesgos y oportunidades de mejora. 9. **Presentación de Resultados:** Se presentan los hallazgos del análisis y se recomiendan acciones. **Beneficios del ATAM** * **Mejora de la Calidad:** Identifica y aborda problemas de calidad en etapas tempranas. * **Gestión de Riesgos:** Identifica y mitiga riesgos potenciales en la arquitectura. * **Toma de Decisiones Informada:** Proporciona información objetiva para la toma de decisiones arquitectónicas. * **Comunicación Eficaz:** Facilita la comunicación entre stakeholders y equipos de desarrollo.
ADD, **Attribute-Driven Desing.** conocida en ingles. Es como se conoce al diseño de arquitecturas que explica el profe, donde se enfoca en satisfacer los atributos de calidad -> Escenarios -> Tácticas.