Adaptabilidad vs capacidad de instalación vs reemplazo

Clase 10 de 43Curso Profesional de Arquitectura de Software

Contenido del curso

Atributos de calidad

Patrones de arquitectura

Diseño de una arquitectura

Resumen

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ó.