1 pontos por GN⁺ 2024-06-16 | 1 comentários | Compartilhar no WhatsApp

Introdução ao livro de arquitetura de software

Características do livro

  • Design baseado em risco: enfatiza um design simples quando o risco é baixo e um design rigoroso quando o risco é alto.
  • Democratização da arquitetura: tem como objetivo ajudar todos os desenvolvedores a entender arquitetura.
  • Conhecimento declarativo: fornece conceitos claros sobre o design e a construção de sistemas.
  • Ênfase em engenharia: foca nos aspectos técnicos para ajudar na tomada de decisões de design baseadas em princípios.
  • Conselhos práticos: apresenta métodos práticos de design por meio de modelos em vários níveis de abstração.

Estrutura do livro

Part I: Arquitetura de software baseada em risco

  • Definição de arquitetura de software: atua como a espinha dorsal do sistema e influencia atributos de qualidade.
  • Modelo baseado em risco: explica como identificar e priorizar riscos e, em seguida, aplicar técnicas de design adequadas para reduzi-los.
  • Conselhos sobre o uso de modelos: apresenta como usar modelos para resolver problemas, adicionar restrições com cuidado e distribuir habilidades de arquitetura por toda a equipe.

Part II: Modelagem de arquitetura

  • Estrutura do modelo conceitual: composta por modelo de domínio, modelo de design e modelo de código.
  • Construção de fronteiras de encapsulamento: oculta o funcionamento interno de componentes ou módulos para permitir foco em outros problemas.
  • Construção de modelos eficazes: explica como integrar várias técnicas de arquitetura que enfatizam atributos de qualidade e funcionalidade para construir e depurar modelos práticos.
  • Conselhos sobre o uso de modelos: aborda tanto as vantagens quanto as desvantagens dos modelos e apresenta formas de usá-los com eficácia.

E-book e capa dura

  • E-book: vendido no Google Play em versão DRM-free ($9.99).
  • Capa dura: disponível para compra na Amazon.

Reviews do livro e materiais adicionais

  • Reviews: há várias reviews e ensaios disponíveis, inclusive na IEEE Software.
  • Materiais adicionais: há vídeos e publicações sobre vários temas, como design contínuo, estilos de arquitetura e modelagem.

Opinião do GN⁺

  • Importância da abordagem baseada em risco: projetar com base em riscos é muito útil para aumentar as chances de sucesso de um projeto.
  • Democratização da arquitetura: quando todos os desenvolvedores entendem arquitetura, a eficiência de toda a equipe pode aumentar.
  • Conselhos práticos: este livro oferece muitos conselhos práticos, mais do que teoria, o que permite aplicá-lo imediatamente em projetos reais.
  • Foco técnico: concentra-se nos aspectos técnicos para ajudar desenvolvedores a resolver problemas reais.
  • Materiais adicionais de aprendizado: os diversos materiais extras permitem um aprendizado mais aprofundado.

1 comentários

 
GN⁺ 2024-06-16
Comentários no Hacker News
  • É preciso distinguir riscos de gestão de projeto de riscos de engenharia de software. Muitas vezes, técnicas de engenharia não resolvem riscos de gestão.
  • Qualidade do código, organização, testes, documentação e uso de ferramentas padrão ajudam em ambos os lados.
  • A hipótese de "ser atropelado por um ônibus" é usada com frequência porque o objetivo é criar software reproduzível e fácil de entender.
  • Para evitar a conotação negativa, é melhor usar a expressão "ganhar na loteria".
  • Arquitetura pela arquitetura é o pior cenário. Isso aumenta a complexidade desnecessariamente.
  • O objetivo final de uma boa arquitetura é reduzir custos. Se ela consome mais tempo no desenvolvimento e na manutenção, é uma arquitetura fracassada.
  • Há curiosidade sobre o quanto um livro publicado em 2010 continua atual.
  • O livro "Design It" é bom porque as atividades de workshop são úteis para profissionais técnicos e porque não pende para um estilo específico de arquitetura técnica.
  • O livro 'A Philosophy of Software Design', de John Ousterhout, é útil. Tem muitos conselhos e exemplos fáceis de entender.
  • Parece que "dependente de risco" seria um termo melhor. Fica a dúvida de por que programadores gostam tanto da expressão "baseado em [X]".
  • Não conheço esse livro específico, mas o texto do autor sobre "controle intelectual" é muito perspicaz.
  • Alguns anos atrás, houve um clube do livro na empresa, mas pareceu muito repetitivo.
  • Fica a dúvida se é um bom recurso para quem vai iniciar um projeto open source relevante ou para solopreneurs. Há também um pedido de recomendação de livros ou recursos úteis para desenvolvedores solo.
  • Arquitetura de software é parecida com arquitetura em geral, mas não existe na área de software alguém como Isaac Newton, então não há uma engenharia civil equivalente. A figura mais próxima seria Claude Shannon.
  • Orientação para ler termos arbitrários. Quer-se um modelo matemático. Termos vagos criados por humanos não passam de um hack para tentar traduzir ideias.