</> CodeBooks
    ← Volver a Arquitectura de software (página 7)
    Portada de Fundamentals of Software Architecture

    Fundamentals of Software Architecture

    Mark Richards, Neal Ford

    Editorial
    O'Reilly
    Año
    2020
    Páginas
    ~422
    Nivel
    Intermedio

    De qué trata

    Obra de referencia escrita por Mark Richards y Neal Ford que aborda la arquitectura de software moderna desde una perspectiva de ingeniería rigurosa, medible e independiente de cualquier lenguaje de programación específico. Está orientada a desarrolladores de software de nivel intermedio o sénior, aspirantes a arquitectos y arquitectos en activo que necesitan aprender a justificar, validar y defender sus decisiones de diseño estructural más allá del código. Se requieren conocimientos consolidados de programación orientada a objetos, patrones de diseño de software y familiaridad con el ciclo de vida del desarrollo de aplicaciones empresariales.

    El texto profundiza en la identificación y medición de las características arquitectónicas no funcionales (las conocidas «-ilidades», como escalabilidad, elasticidad, disponibilidad, rendimiento y tolerancia a fallos), introduciendo el gobierno automatizado mediante funciones de fitness (fitness functions con herramientas como ArchUnit). Evalúa formalmente métricas de modularidad, cohesión y acoplamiento (como connascence, abstracción e inestabilidad), y analiza exhaustivamente ocho estilos arquitectónicos clásicos y distribuidos: arquitectura en capas (layered), microkernel (plug-in), pipelines, basada en servicios, dirigida por eventos (event-driven), space-based, service-oriented orchestration y microservicios. También enseña a formalizar decisiones técnicas mediante Architectural Decision Records (ADRs), matrices de análisis de riesgo y diagramado de componentes.

    La parte práctica se articula mediante «katas arquitectónicas» (Architecture Katas) y el desglose de casos de negocio (como el estudio transversal de Silicon Sandwiches), desafiando al lector a analizar requerimientos y seleccionar la «arquitectura menos mala» evaluando sus compromisos (trade-offs). El gran aporte del libro radica en sistematizar la disciplina y preparar al profesional en habilidades clave como negociación con stakeholders, liderazgo técnico y facilitación de reuniones. No incluye código de implementación ni aprovisionamiento de infraestructura en la nube, por lo que conviene complementarlo con literatura práctica de cloud computing y DevOps.

    • Arquitectura de software
    • Características arquitectónicas
    • Métricas de modularidad
    • Funciones de fitness
    • Estilos arquitectónicos
    • Microservicios
    • Arquitectura dirigida por eventos
    • Architectural Decision Records (ADR)
    • Evaluación de trade-offs
    • Liderazgo técnico

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✓ Incluye ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Intermedio