Skip to content

📖 Resumen: Arquitectura de Software según IEEE Computer Society & SWEBOK

Fuente Oficial Original: IEEE Computer Society - Software Architecture Resource y Guía SWEBOK (Software Engineering Body of Knowledge).


1. El Problema Real: La Dificultad Inherente del Software Complejo

El desarrollo de software a gran escala enfrenta desafíos inevitables: a medida que el sistema crece, el código tiende a degradarse y divergir si no existe una estructura intencional que guíe su evolución.

┌────────────────────────────────────────────────────────┐
│               El Riesgo de la Ingeniería Inversa       │
│                                                        │
│  Código Existente ──(Reconstrucción)──> ¿Arquitectura? │
│                                                        │
│  ⚠️ IEEE advierte: El código diverge de la intención. │
│  La arquitectura debe diseñarse ANTES de programar,   │
│  no deducirse después a partir del código.            │
└────────────────────────────────────────────────────────┘

Aviso de IEEE: Intentar deducir la arquitectura reconstruyéndola desde el código existente (ingeniería inversa) oculta las razones de diseño (Design Rationale) y carece del nivel de abstracción necesario.


2. Los 3 Mecanismos Fundamentales de Abstracción

Según el estándar de ingeniería de software, la arquitectura se sostiene en tres operaciones conceptuales:


3. Descripción del Sistema: Las 4 Vistas Arquitectónicas

Dado que ningún diagrama individual puede reflejar todas las necesidades de los distintos interesados (stakeholders), IEEE formaliza el uso de Vistas Múltiples:

Vista¿A quién le interesa?¿Qué describe?Ejemplo Práctico
Vista LógicaDesarrolladores y AnalistasClases, paquetes, módulos y modelos de dominio.Diagramas de paquetes DDD y modelos entidad-relación conceptuales.
Vista de ProcesosIngenieros de Sistemas y RendimientoConcurrencia, hilos, sincronización y latencia.Flujo de eventos asíncronos en colas Kafka o RabbitMQ.
Vista de DesarrolloLíderes Técnicos y DevOpsGestión del código fuente, dependencias y empaquetado.Estructura de monorepos, librerías compartidas y pipelines CI/CD.
Vista FísicaSysadmins e Infraestructura CloudTopología de servidores, redes y despliegue físico.Clúster Kubernetes, balanceadores de carga y bases de datos maestras.

4. Estilos, Patrones y Frameworks

  • Estilos Arquitectónicos: Estructuras reutilizables con reglas bien definidas (ej: Layered / En Capas, Pipe-and-Filter / Tuberías y Filtros).
  • Patrones de Diseño: Soluciones probadas a problemas de diseño más localizados dentro de un subsistema.
  • Frameworks de Arquitectura: Conjuntos de herramientas y convenciones que aceleran la implementación de un estilo arquitectónico concreto.

5. Métricas de Calidad Arquitectónica

Para evaluar objetivamente si la arquitectura diseñada cumple con los requerimientos a lo largo del tiempo: