¿Los mejores libros sobre teoría y práctica de la arquitectura de software? [cerrado]

32

Tengo un par de desarrolladores en mi empresa que desean pasar de la programación a la arquitectura. ¿Cuáles son los mejores libros sobre teoría y práctica de la arquitectura de software? Incluya una foto de portada si puede.

Siéntase libre de incluir libros generales y también libros relacionados con una tecnología específica.

Craig Schwarze
fuente
3
No es una respuesta directa, solo un comentario. La mejor (y realmente única) forma de aprender a ser arquitecto es de otro arquitecto, preferiblemente un arquitecto maestro. La Arquitectura e Ingeniería de Software en general todavía se encuentra en un estado preindustrializado desde la perspectiva de otras disciplinas de ingeniería. Todavía hacemos aprendiz-> oficial-> avance de tipo maestro.
JP Alioto

Respuestas:

15

texto alternativo

(enlace al libro)

Este es un libro bastante bueno, aunque no trata con la arquitectura de software en general, sino con la arquitectura de las aplicaciones empresariales.

azheglov
fuente
fue un buen libro cuando se publicó, pero creo que la mayoría de los patrones no se usan mucho en la industria. No es un mal libro, pero seguro que no es uno de los top 5 en mi opinión
Uberto
Aunque se llama "Arquitectura de aplicación empresarial", se encuentra aproximadamente en el mismo nivel que el libro GoF Design Patterns, que es un diseño de nivel de clase en lugar de una arquitectura de nivel de aplicación.
Thomas Owens
Ugh, no me gusta este libro. No te ayudará a convertirte en arquitecto.
JP Alioto
El libro está bien, pero en realidad solo se trata de aplicaciones empresariales. Si está haciendo otro tipo de desarrollo (por ejemplo, escritorio, móvil, incrustado), no es muy útil.
nikie
16

texto alternativo

Pero, recomendaría a estos desarrolladores que no se muevan a la arquitectura y se olviden por completo de la programación. Si lo hacen, no tendrán ningún respeto por parte de los programadores y no estarán debidamente equipados para tomar decisiones arquitectónicas.

TaylorOtwell
fuente
11

El libro comúnmente citado / referenciado sobre arquitecturas de software, y el libro que utilicé cuando tomé el curso de Arquitectura de Software en mi universidad es Arquitectura de Software en la Práctica (2ª Edición) de Len Bass, Paul Clements y Rick Kazman .

Al menos un profesor que enseña el curso ha cambiado el libro de texto a Arquitectura de sistemas de software de Nick Rozanski y Eoin Woods , pero no puedo garantizar la calidad o el contenido de ese libro. Según Sergio Acosta (en los comentarios), el libro de Rozanski es más nuevo, basado en el trabajo de Bass, y considera que es más fácil de leer. Raramente me decepcionan los libros utilizados en el programa de ingeniería de software.

Thomas Owens
fuente
2
He usado ambos (Bass y Rozanski). Bass 'fue la biblia arquitectónica durante mucho tiempo, pero Rozanski es más nueva y más actualizada; es más fácil de leer y se basa en gran medida en Bass '. Recomiendo comenzar con Rozanski's.
Sergio Acosta
1
+1 el libro Bass fue una buena lectura cuando comencé a estudiar arquitectura. Es un poco seco, pero te da una idea del tipo de cosas en las que deberías pensar.
RationalGeek
10

Patrones de diseño

Una lectura obligada para todos los programadores:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

BlackICE
fuente
2
Libro obsoleto ahora. La mayoría de los patrones de la Pandilla de los Cuatro se hicieron tan mal utilizados que ahora son casi antipatrones. Como singleton y abstract factory.
Uberto
1
@Uberto Es por eso que todos deberían leer este libro. Explica por qué y cómo usar cada patrón junto con cuándo probablemente debería considerar otra cosa. Si más personas leen toda la entrada del patrón, creo que muchos de esos problemas desaparecerían.
Thomas Owens
Encontré ese libro muy pesado para leer y comprender. Sospecho que la mayoría de las personas solo fingen que lo leen y copian y pegan los ejemplos. Así que no lo sugeriré como primer libro para un futuro arquitecto. Por supuesto, es importante para un punto de vista histórico de la arquitectura sw actual.
Uberto
¿Alguien más piensa que Groupthink es una gran enfermedad en la profesión del software? Si seguir a los gurús a ciegas (no lo que el libro esperaba, sino lo que de hecho sucedió) es hacia dónde se dirige la profesión, creo que la profesión del software está condenada. No culpo a este libro. Culpo a las personas que lo leyeron, y comencé a pensar que grokking pattern-fu podría cubrir su falta de atención por otras prácticas fundamentales de codificación limpia.
Warren P
8

97 cosas que todo arquitecto de software debe saber

ingrese la descripción de la imagen aquí

Zachary K
fuente
Zach, ¿leíste uno? Lo estaba mirando antes, pero sus comentarios de Amazon no se veían tan bien.
DXM
He leído fragmentos de eso. No estoy seguro si leí todos los ensayos, pero algunos de los que leí valieron la pena.
Zachary K
7

texto alternativo

Esta sería mi opción # 2. Buen libro sobre prácticas y buen código. Un poco pedante a veces.

Uberto
fuente
Estoy de acuerdo en que sea pedante, pero las prácticas que defiende son mucho mejores que las funciones de línea 2000.
riwalk
Sí, claro, el contenido es muy, muy bueno.
Uberto
Este libro tiene un nivel demasiado bajo para ser considerado arquitectura de software.
Steven Jeuris el
6

texto alternativo

Esta es mi opción número 1 en este momento. El mejor libro sobre cómo construir (crecer) aplicaciones ahora.

Uberto
fuente
3

No citaré los que ya han sido de otros, así que agregaré este:

Conceptos Técnicas y modelos de programación de computadoras , por Peter Van Roy y Seif Haridi

Conceptos Técnicas y modelos de programación informática

El problema obvio es que usó el ahora (más o menos) difunto Sistema de Programación Mozart y el sorprendente lenguaje de programación Oz . Lo que luego generó otros experimentos interesantes como el lenguaje de programación Alice ML .

Sin embargo, es un libro increíble, tanto para aprender programación de computadoras como para obtener una comprensión profunda de los conceptos de CS y una buena visión general de los conceptos de arquitectura sin usar palabras de moda.

Un poco detallado a veces, pero muy bien escrito.

Quizás sea más un libro de teoría de CS al final que un libro de arquitectura empresarial, pero creo que sus enseñanzas son muy valiosas para aplicarlas al software de la industria.

revs haylem
fuente
2

Un libro interesante es La arquitectura de las aplicaciones de código abierto.

Los arquitectos miran miles de edificios durante su capacitación y estudian críticas de esos edificios escritos por maestros. En contraste, la mayoría de los desarrolladores de software solo conocen bien un puñado de programas grandes, generalmente programas que ellos mismos escribieron, y nunca estudian los grandes programas de la historia. Como resultado, se repiten los errores de los demás en lugar de aprovechar los éxitos de los demás.

El objetivo de este libro es cambiar eso. En él, los autores de veinticinco aplicaciones de código abierto explican cómo está estructurado su software y por qué. ¿Cuáles son los componentes principales de cada programa? ¿Cómo interactúan? ¿Y qué aprendieron sus constructores durante su desarrollo? Al responder estas preguntas, los contribuyentes a este libro brindan ideas únicas sobre cómo piensan

larsen
fuente
2

Microsoft tiene algunas cosas realmente buenas sobre esto. Para empezar, tienen un gran libro gratuito disponible aquí:

http://msdn.microsoft.com/en-us/library/ff650706.aspx

Además, muchos de sus libros blancos sobre diseño están aquí:

http://msdn.microsoft.com/en-us/practices/bb190351

Probablemente quieras leer sobre patrones de diseño:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

Y luego están los clásicos: mes mítico del hombre, código completo, programador pragmático, etc. Un poco de búsqueda en Google lo ayudará a encontrar los buenos libros.

Rocklan
fuente
2

Prueba este pequeño libro .

Arquitectura de software para desarrolladores: el libro Una guía práctica y pragmática de arquitectura de software

Este libro es una colección de ensayos que juntos forman una guía práctica y pragmática de la arquitectura de software.

  1. ¿Qué es la arquitectura de software?

  2. ¿Cuál es el papel de un arquitecto de software?

  3. ¿Cómo define la arquitectura de software?

  4. ¿Cómo se comparte la arquitectura del software?

  5. ¿Cómo se entrega la arquitectura de software?

Negm Phlestin
fuente
El blog codingthearchitecture.com también tiene excelentes publicaciones sobre la disciplina de la arquitectura de software.
RationalGeek
1

La pregunta que estás haciendo es muy intangible, en cierto modo. La arquitectura de software es cosas diferentes y los arquitectos de software son un grupo muy diverso.

Algunas notas, sin embargo:

El "Código limpio" mencionado anteriormente es uno de los mejores libros que he leído sobre programación . Pero ciertamente no es un libro sobre arquitectura. Lectura obligatoria para desarrolladores, sí, pero no da mucha información sobre cómo encajan las cosas más grandes, en mi opinión.

"PoEAA" de Fowler es un buen libro, pero como alguien más dijo, un poco viejo ahora, y muchos de los patrones presentados han quedado obsoletos hace varios años.

El libro DDD de Eric Evans es un libro muy sólido e inspirador sobre la construcción de software y la colaboración con el cliente: habilidades valiosas para los arquitectos, pero también bueno para los desarrolladores.

NisLSimonsen
fuente