Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura de Software — IV - UFG 2025

Arquitetura de SoftwareArquitetura de Software
Código
qg546012
Banca
IV - UFG
Órgão
Câmara de Morrinhos - GO
Ano
2025
Nível
Superior
Cargo
Analista de TI
A arquitetura em camadas é um padrão de arquitetura de software amplamente utilizado para estruturar sistemas complexos de forma organizada e modular. Esse modelo divide a aplicação em camadas lógicas, cada uma com responsabilidades específicas, promovendo separação de responsabilidades, maior manutenção e escalabilidade do sistema. Da perspectiva de fluxo de dados, para que uma arquitetura esteja em conformidade com o padrão, preservando a manutenibilidade e portabilidade, a invocação de funcionalidades só deve acontecer das camadas
  1. Asuperiores para as camadas inferiores.
  2. Binferiores para as camadas superiores.
  3. Csuperiores para as camadas inferiores, ou vice-versa.
  4. Ddo meio para as pontas.
  5. Edas pontas para o meio.
Revelar gabarito e comentário

GabaritoA — superiores para as camadas inferiores.

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

Gabarito: letra A. Em uma arquitetura em camadas (layered architecture) que respeita os princípios de separação de responsabilidades, a invocação de funcionalidades deve ocorrer exclusivamente das camadas superiores para as inferiores. Esse fluxo unidirecional é essencial para preservar a manutenibilidade e a portabilidade do sistema, pois impede que camadas de baixo nível dependam de detalhes de implementação das camadas acima.

A banca testa o conhecimento sobre o fluxo de dependência em uma arquitetura em camadas. Manter a invocação apenas no sentido top-down (superior → inferior) garante que as camadas mais baixas possam ser reutilizadas ou substituídas sem impacto nas superiores. Qualquer desvio desse sentido compromete a modularidade e a independência entre as camadas.

1Fluxo de invocação
Superior → Inferior (top-down)
Inferior → Superior
Bidirecional
2Princípios preservados
Separação de responsabilidades
Manutenibilidade
Portabilidade
Baixo acoplamento
Alta coesão
3Consequências da violação
Dependência cíclica
Dificuldade de manutenção
Perda de modularidade
Arquitetura em camadas
LEVELsoulevel.com.br
Arquitetura em camadas: Fluxo de invocação (Superior → Inferior (top-down), Inferior → Superior, Bidirecional); Princípios preservados (Separação de responsabilidades, Manutenibilidade, Portabilidade, Baixo acoplamento, Alta coesão); Consequências da violação (Dependência cíclica, Dificuldade de manutenção, Perda de modularidade)

Alternativa A — ✅ Correta ⟵ GABARITO

Afirma exatamente o que o padrão estabelece: camadas superiores invocam funcionalidades das camadas inferiores. Esse é o sentido correto para garantir baixo acoplamento e alta coesão. As camadas inferiores não conhecem as superiores; elas apenas expõem interfaces que as superiores consomem.

Alternativa B — ❌ Incorreta

Inverte o fluxo: sugere que camadas inferiores invocam superiores. Isso quebraria o princípio de dependência unidirecional, criando dependências cíclicas e dificultando a manutenção. Em uma implementação limpa de arquitetura em camadas, as camadas inferiores nunca invocam as superiores.

Alternativa C — ❌ Incorreta

Permite ambos os sentidos ("superiores para inferiores, ou vice-versa"). Embora em alguns cenários (ex.: camada de apresentação chamar serviço e serviço chamar apresentação) isso possa ocorrer, o padrão formal de arquitetura em camadas restringe o fluxo ao sentido único (superior → inferior) para preservar a modularidade. Permitir os dois sentidos geralmente indica violação do padrão.

Alternativa D — ❌ Incorreta

"Do meio para as pontas" não é um conceito definido em arquitetura em camadas. A direção deve ser hierárquica, não radial.

Alternativa E — ❌ Incorreta

"Das pontas para o meio" também não faz sentido no contexto de camadas. O fluxo é vertical, não horizontal nem centrípeto.

PEGA ESSA DICA!

Uma forma de memorizar o sentido correto é pensar que as camadas "mais próximas do usuário" (superiores) dependem das "mais próximas dos dados" (inferiores). Alterar esse sentido quebra a hierarquia lógica e viola o princípio da inversão de dependência quando aplicado a camadas.

Gabarito: letra A.

Link permanente: /questoes/qg546012