Adaptabilidad vs capacidad de instalación vs reemplazo
Clase 10 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
Viendo ahora - 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
02:18 min - 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
Evaluar software con rigor empieza por tres atributos clave: adaptabilidad, capacidad de instalación y capacidad de reemplazo. Entender su impacto —dependencias del sistema operativo, pasos de despliegue y compatibilidad entre versiones— orienta decisiones de arquitectura que facilitan cambios y reducen fricción.
¿Cómo medir la adaptabilidad sin depender del sistema operativo?
La adaptabilidad se mide por cuán fuertemente el sistema depende de un entorno específico. Si solo funciona en Linux y no en Mac, o si usa tecnologías que corren únicamente en Windows, la adaptabilidad disminuye. Esto no impide adaptar más adelante, pero incrementa la dificultad del cambio.
- Evaluar dependencias del sistema operativo: Linux, Mac, Windows.
- Identificar tecnologías exclusivas de un entorno.
- Estimar esfuerzo adicional si luego se requiere adaptar.
¿Qué define la capacidad de instalación y cómo simplificar el despliegue con app stores?
La capacidad de instalación se mide por los requisitos del entorno de despliegue: cuántos pasos hay que realizar para poner la aplicación a disposición de las personas usuarias, cuán complejos son y si el proceso se puede reproducir en otro contexto. Los app stores han garantizado la simplicidad de despliegue en móviles y también en escritorio para distintos entornos, mejorando notablemente este atributo.
- Contar pasos necesarios para dejar disponible la aplicación.
- Valorar la complejidad de cada paso del despliegue.
- Probar la reproducibilidad en otro entorno.
- Usar app stores para simplificar y estandarizar la instalación.
¿Cómo asegurar la capacidad de reemplazo con sistemas distribuidos y retrocompatibilidad?
La capacidad de reemplazo se mide entendiendo qué requisitos cumplen los sistemas actuales y cómo el nuevo sistema puede aprovechar ese entorno para reemplazarlo de forma efectiva. En bases de datos, es clave conectar con los datos existentes o transformarlos al esquema de datos propio. También ayudan los estándares de datos y de estructura para permitir sustituir un producto por otro con menos fricción.
- Analizar requisitos que cumple el sistema actual y cómo aprovecharlos.
- Migrar datos: conectar o transformar al esquema propio.
- Aplicar estándares de datos para facilitar el reemplazo.
- Evitar monolitos grandes que dificultan cambiar partes del sistema.
- Adoptar sistemas distribuidos para reemplazos pequeños y compatibles.
- Gestionar versiones con cuidado de la retrocompatibilidad para evolucionar sin romper.
¿Dónde has encontrado más obstáculos: dependencias del sistema operativo, pasos de despliegue o compatibilidad entre versiones? Comparte tu experiencia y la estrategia que mejor te funcionó.