Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura em camadas — IV - UFG 2023

Arquitetura de SoftwareArquitetura em camadas
Código
gp044102
Banca
IV - UFG
Órgão
MPE-AC
Ano
2023
Cargo
Analista Ministerial - Tecnologia da Informação
A separação de interesses é um princípio essencial noprojeto de arquitetura de software. Ao estruturar o softwareem camadas, um benefício que se espera auferir é o de
  1. Aalta coesão e baixo acoplamento.
  2. Balta coesão e alto acoplamento.
  3. Cbaixa coesão e alto acoplamento.
  4. Dbaixa coesão e baixo acoplamento.
Revelar gabarito e comentário

GabaritoA — alta coesão e baixo acoplamento.

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 em Camadas: Coesão e Acoplamento

Gabarito: letra A. A separação em camadas visa organizar o software de modo que cada camada tenha responsabilidades bem definidas (alta coesão) e dependências mínimas entre si (baixo acoplamento). Esse é o princípio fundamental esperado ao estruturar o sistema em camadas.

A banca cobra o conceito básico de qualidade de projeto: coesão (grau com que os elementos de um módulo/camada se relacionam internamente) e acoplamento (grau de dependência entre módulos/camadas). Uma boa arquitetura busca alta coesão e baixo acoplamento, o que facilita manutenção, evolução e reúso.

1Coesão
Alta (relacionamento interno forte)
Baixa (responsabilidades misturadas)
2Acoplamento
Baixo (dependência mínima)
Alto (dependência excessiva)
3Arquitetura em camadas
Alta coesão
Baixo acoplamento
Qualidade de projeto
LEVELsoulevel.com.br
Qualidade de projeto: Coesão (Alta (relacionamento interno forte), Baixa (responsabilidades misturadas)); Acoplamento (Baixo (dependência mínima), Alto (dependência excessiva)); Arquitetura em camadas (Alta coesão, Baixo acoplamento)

Alternativa A — ✅ Correta ⟵ GABARITO

A arquitetura em camadas promove a organização do sistema em níveis hierárquicos, onde cada camada encapsula um conjunto de responsabilidades. Isso leva a alta coesão (tudo que pertence a uma camada está fortemente relacionado) e baixo acoplamento (as camadas se comunicam por interfaces bem definidas, minimizando dependências mútuas).

Alternativa B — ❌ Incorreta

Afirma que a arquitetura em camadas resulta em alto acoplamento. Na realidade, o objetivo é reduzir o acoplamento entre camadas; alto acoplamento traria rigidez e dificuldade de manutenção. O erro está no termo "alto acoplamento".

Alternativa C — ❌ Incorreta

Afirma baixa coesão e alto acoplamento. Isso é o oposto do que se busca: baixa coesão indicaria responsabilidades misturadas, e alto acoplamento indicaria dependência excessiva. A arquitetura em camadas visa justamente o contrário.

Alternativa D — ❌ Incorreta

Afirma baixa coesão e baixo acoplamento. Embora "baixo acoplamento" seja desejável, "baixa coesão" não é um objetivo. A separação em camadas busca aumentar a coesão, não diminuí-la. Portanto, a combinação está errada.

PEGA ESSA DICA!

Em questões de arquitetura de software, lembre-se sempre: uma boa estruturação busca alta coesão (cada módulo/camada foca em uma responsabilidade) e baixo acoplamento (módulos/camadas são independentes). A arquitetura em camadas é um exemplo clássico dessa diretriz.

Gabarito: letra A.

Link permanente: /questoes/gp044102