Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura de Software — FGV 2024

Arquitetura de SoftwareArquitetura 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.
  1. ATolerância em relação às mudanças, elevada manutenibilidade e facilidade de testes.
  2. 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.
  3. CTolerância em relação às constantes variações tecnológicas, elevada reusabilidade de dados e amplo suporte ao versionamento de códigos fonte.
  4. 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

1Objetivo principal
Isolar núcleo (regras de negócio)
Dos detalhes tecnológicos externos
2Vantagens fundamentais
Tolerância a mudanças
Elevada manutenibilidade
Facilidade de testes
3Como alcança
Portas (interfaces do core)
Adaptadores (implementações externas)
Arquitetura Hexagonal (Ports & Adapters)
LEVELsoulevel.com.br
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.

Link permanente: /questoes/fg077084