Cómo traducir requerimientos en decisiones arquitectónicas
Clase 25 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
04:14 min - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
02:50 min - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
03:57 min - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
Viendo ahora - 26

Conectores en arquitectura: tipos y cuándo usarlos
06:18 min - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
04:09 min - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
09:02 min - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
Diseñar una arquitectura de software sólida empieza con claridad estratégica: traducir requerimientos, riesgos, restricciones y atributos de calidad en decisiones de diseño concretas. Aquí verás cómo alinear componentes, conectores y tácticas con soluciones reutilizables como productos de la estantería, frameworks, librerías, arquitecturas específicas del dominio y patrones de arquitectura.
¿Cómo traducir requerimientos y atributos de calidad en decisiones de diseño?
Para avanzar con foco, conviene repasar qué se necesita y por qué. Los requerimientos definen el alcance. Los riesgos muestran incertidumbres. Las restricciones acotan el espacio de soluciones. Los atributos de calidad guían el “cómo” del diseño.
- Identificar requerimientos y restricciones clave para reducir ambigüedad.
- Priorizar atributos de calidad para orientar el diseño.
- Mitigar riesgos con decisiones que acoten incertidumbre.
- Mantener trazabilidad entre necesidades y decisiones.
Esta conexión disciplinada desarrolla habilidades como análisis de riesgos, priorización de calidad y toma de decisiones informada. El resultado: una arquitectura a medida, coherente con lo que el sistema debe lograr.
¿Qué papel cumplen componentes y conectores?
Los componentes encapsulan responsabilidades. Los conectores definen cómo se comunican y coordinan. Juntos permiten estructurar la solución y verificar que las propiedades de calidad se cumplan bajo las restricciones definidas.
- Separar responsabilidades en componentes para controlar complejidad.
- Usar conectores para orquestar interacciones según el diseño elegido.
- Evaluar cómo estas conexiones sostienen los atributos de calidad.
¿Cómo aterrizar estrategias y tácticas en implementaciones?
Las estrategias marcan el enfoque general. Las tácticas concretan pasos aplicables. Con ellas se “baja a tierra” la relación entre atributos, restricciones y requerimientos en implementaciones específicas.
- Seleccionar tácticas alineadas con atributos de calidad.
- Documentar decisiones para sostener la trazabilidad.
- Iterar el diseño conforme se validan riesgos y restricciones.
¿Por qué empezar sobre hombros de gigantes en arquitectura de software?
Aprovechar conocimiento existente acelera y mejora resultados. La idea es partir desde soluciones probadas y concentrar el esfuerzo en lo que realmente diferencia al producto. Así se reduce el espacio de diseño y se fortalecen decisiones tempranas.
¿Qué son productos de la estantería y cómo usarlos?
Son productos ya hechos que cubren parte o todo el problema. Si cubren todo, conviene reenfocar el trabajo en mejorar el estado actual de ese producto.
- Adoptar productos para resolver funciones no diferenciadoras.
- Reencuadrar el proyecto hacia mejoras incrementales cuando el producto ya satisface el objetivo.
- Reducir riesgos al basarse en soluciones probadas.
¿Cómo aportan los frameworks y las librerías?
Los frameworks y las librerías permiten empezar desde una propuesta arquitectónica concreta. Cada framework trae su visión de diseño; sobre esa base se puede construir o evolucionar.
- Aprovechar la propuesta de diseño del framework.
- Extender o adaptar la arquitectura propuesta a las necesidades.
- Alinear dependencias con restricciones y atributos de calidad.
¿Cuándo elegir arquitecturas específicas del dominio y patrones de arquitectura?
Las arquitecturas específicas del dominio contienen decisiones ya tomadas para un tipo de problema. Si el dominio está muy regulado o exige atributos de calidad particulares, conviene iniciar desde allí. Los patrones de arquitectura brindan un punto de partida sólido y restringen el diseño a las partes aún por resolver.
- Reutilizar decisiones validadas en el dominio para acelerar el diseño.
- Empezar desde patrones para estructurar y simplificar decisiones.
- Concentrar el esfuerzo en variaciones necesarias del contexto.
¿Con qué estrategias conectas requerimientos y calidad en tus decisiones de diseño? Comparte tus experiencias y dudas en los comentarios.