1 puntos por GN⁺ 2024-06-16 | 1 comentarios | Compartir por WhatsApp

Introducción al libro de arquitectura de software

Características del libro

  • Diseño basado en riesgos: enfatiza un diseño simple cuando el riesgo es bajo, y un diseño riguroso cuando el riesgo es alto.
  • Democratización de la arquitectura: busca ayudar a que todos los desarrolladores entiendan la arquitectura.
  • Conocimiento declarativo: ofrece conceptos claros sobre el diseño y la construcción de sistemas.
  • Énfasis en la ingeniería: se enfoca en la parte técnica para ayudar a tomar decisiones de diseño basadas en principios.
  • Consejos prácticos: presenta métodos de diseño prácticos mediante modelos con distintos niveles de abstracción.

Estructura del libro

Parte I: Arquitectura de software basada en riesgos

  • Definición de arquitectura de software: cumple el papel de esqueleto del sistema e influye en los atributos de calidad.
  • Modelo basado en riesgos: explica cómo identificar y priorizar riesgos, y luego aplicar técnicas de diseño adecuadas para reducirlos.
  • Consejos para usar modelos: propone cómo usar modelos para resolver problemas, agregar restricciones con cuidado y distribuir las habilidades de arquitectura en todo el equipo.

Parte II: Modelado de arquitectura

  • Estructura del modelo conceptual: se compone de modelo de dominio, modelo de diseño y modelo de código.
  • Construcción de límites de encapsulación: oculta el funcionamiento interno de componentes o módulos para permitir enfocarse en resolver otros problemas.
  • Construcción de modelos efectivos: explica cómo integrar diversas técnicas de arquitectura que destacan atributos de calidad y funcionalidad para construir y depurar modelos prácticos.
  • Consejos para usar modelos: aborda tanto las ventajas como las desventajas de los modelos y presenta formas de utilizarlos de manera efectiva.

Libro electrónico y tapa dura

  • Libro electrónico: a la venta en Google Play en versión DRM-free ($9.99).
  • Tapa dura: disponible para compra en Amazon.

Reseñas y material adicional sobre el libro

  • Reseñas: ofrece diversas reseñas y ensayos en IEEE Software, entre otros.
  • Material adicional: ofrece videos y publicaciones sobre varios temas, como diseño continuo, estilos de arquitectura y modelado.

Opinión de GN⁺

  • Importancia del enfoque basado en riesgos: diseñar con base en riesgos es muy útil para aumentar las probabilidades de éxito de un proyecto.
  • Democratización de la arquitectura: si todos los desarrolladores entienden la arquitectura, la eficiencia de todo el equipo puede mejorar.
  • Consejos prácticos: este libro ofrece muchos consejos prácticos más que teoría, por lo que puede aplicarse de inmediato en proyectos reales.
  • Enfoque técnico: se concentra en la parte técnica para ayudar a los desarrolladores a resolver problemas reales.
  • Material adicional para seguir aprendiendo: permite un aprendizaje más profundo mediante diversos recursos complementarios.

1 comentarios

 
GN⁺ 2024-06-16
Comentarios de Hacker News
  • Hay que distinguir entre el riesgo de gestión de proyectos y el riesgo de ingeniería de software. Muchas veces, la capacidad técnica de ingeniería no resuelve el riesgo de gestión.
  • La calidad del código, la organización, las pruebas, la documentación y el uso de herramientas estándar ayudan en ambos frentes.
  • La razón por la que se usa con frecuencia la hipótesis de que "te atropelle un autobús" es para crear software reproducible y fácil de entender.
  • Para evitar la connotación negativa, conviene usar la expresión "ganarse la lotería".
  • La arquitectura por la arquitectura es lo peor. Aumenta la complejidad innecesariamente.
  • El objetivo final de una buena arquitectura es reducir costos. Si toma más tiempo desarrollarla y mantenerla, es una arquitectura fallida.
  • Da curiosidad saber cuánto ha perdurado un libro publicado en 2010.
  • El libro "Design It" es bueno porque las actividades de taller son útiles para la gente técnica y no está sesgado hacia un estilo específico de arquitectura técnica.
  • El libro A Philosophy of Software Design de John Ousterhout es útil. Tiene muchos consejos y ejemplos fáciles de entender.
  • Parece que el término "dependiente del riesgo" sería un nombre mejor. Da curiosidad por qué a los programadores les gusta tanto la expresión "basado en [X]".
  • No conozco ese libro en particular, pero lo que escribe el autor sobre el "control intelectual" es muy perspicaz.
  • Hace unos años hicimos un club de lectura en la empresa, pero se sintió muy repetitivo.
  • Hay curiosidad por saber si es un buen recurso para quien inicia un proyecto open source importante o para un solopreneur. También se piden recomendaciones de libros o recursos útiles para desarrolladores en solitario.
  • La arquitectura de software se parece a la arquitectura en general, pero en el software no existe una figura como Isaac Newton, así que no hay una ingeniería civil equivalente. La figura más cercana sería Claude Shannon.
  • Guía para leer terminología arbitraria. Se quiere un modelo matemático. Los términos ambiguos creados por humanos no son más que un hack para intentar traducir ideas.