Questão de Arquitetura de Software — Arquitetura de Software — FGV 2024
Arquitetura de Software›Arquitetura de Software
Código
fg077084
Banca
FGV
Órgão
CGM de Belo Horizonte - MG
Ano
2024
Nível
Superior
Cargo
Auditor Interno - Ciência da Computação - Manhã
Assinale a opção que indica as vantagens que a adoção das arquiteturas do tipo hexagonal apresenta para o desenvolvimento de aplicações Java.
ATolerância em relação às mudanças, elevada manutenibilidade e facilidade de testes.
BTolerância a falhas nas cargas das classes, elevada integração com diversas plataformas tecnológicas e facilidade de fusão de dados semi-estruturadados.
CTolerância em relação às constantes variações tecnológicas, elevada reusabilidade de dados e amplo suporte ao versionamento de códigos fonte.
DTolerância em relação às constantes alterações entre os times de desenvolvedores, elevada rastreabilidade do projeto de software e baixo repúdio aos testes de funções e códigos executados por terceiros.
Revelar gabarito e comentário▾
GabaritoA — Tolerância em relação às mudanças, elevada manutenibilidade e facilidade de testes.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Arquitetura Hexagonal (Ports & Adapters)
Gabarito: letra A. A arquitetura hexagonal, também conhecida como Ports & Adapters, tem como principal objetivo isolar o núcleo da aplicação (regras de negócio) de detalhes tecnológicos externos (bancos de dados, interfaces, serviços). Isso resulta em três vantagens fundamentais: tolerância a mudanças (troca de tecnologia sem afetar o núcleo), elevada manutenibilidade (código mais coeso e desacoplado) e facilidade de testes (testes unitários do core sem dependências externas). Essas características são consagradas na literatura de arquitetura de software, como nos trabalhos de Alistair Cockburn.
Vantagem
Descrição
Tolerância em relação às mudanças
Troca de tecnologia sem afetar o núcleo da aplicação
Elevada manutenibilidade
Código mais coeso e desacoplado
Facilidade de testes
Testes unitários do core sem dependências externas
Arquitetura Hexagonal (Ports & Adapters): Objetivo principal (Isolar núcleo (regras de negócio), Dos detalhes tecnológicos externos); Vantagens fundamentais (Tolerância a mudanças, Elevada manutenibilidade, Facilidade de testes); Como alcança (Portas (interfaces do core), Adaptadores (implementações externas))
Alternativa A — ✅ Correta ⟵ GABARITO
A alternativa descreve exatamente as vantagens esperadas: tolerância a mudanças (adaptação a novas tecnologias ou requisitos), alta manutenibilidade (facilidade de modificar partes sem quebrar outras) e facilidade de testes (possibilidade de testar o core com mocks ou stubs). Esses são os pilares do padrão hexagonal.
Alternativa B — ❌ Incorreta
Menciona "tolerância a falhas nas cargas das classes" (conceito não relacionado à hexagonal, ligado a classloaders), "elevada integração com diversas plataformas tecnológicas" (parcialmente verdade, mas não é o foco principal) e "facilidade de fusão de dados semi-estruturados" (estranho ao padrão). O erro é misturar termos de áreas distintas (máquinas virtuais, integração, dados) sem correspondência com as reais vantagens da arquitetura.
Alternativa C — ❌ Incorreta
"Tolerância em relação às constantes variações tecnológicas" está correta, mas "elevada reusabilidade de dados" e "amplo suporte ao versionamento de códigos fonte" não são vantagens específicas da hexagonal. Reusabilidade de dados não é um objetivo do padrão, e versionamento de código é uma prática geral, não uma vantagem arquitetural derivada. A alternativa confunde benefícios indiretos com características intrínsecas.
Alternativa D — ❌ Incorreta
Aborda "tolerância em relação às constantes alterações entre os times de desenvolvedores" (aspecto organizacional, não arquitetural), "elevada rastreabilidade do projeto de software" (não é um objetivo da hexagonal) e "baixo repúdio aos testes de funções e códigos executados por terceiros" (termo obscuro e impreciso). A banca tenta induzir o candidato a associar vantagens vagas e genéricas, enquanto a alternativa correta (A) resume os três benefícios mais aceitos.
PEGA ESSA DICA!
Para memorizar as vantagens da arquitetura hexagonal, lembre do trinômio Mudanças, Manutenção e Testes. Sempre que uma opção incluir esses três elementos, é forte candidata a gabarito. Cuidado com termos genéricos como "reusabilidade de dados" ou "rastreabilidade" — eles não são o foco do padrão.