Pular para o conteúdo principal

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

Arquitetura de SoftwareArquitetura de Software
Código
fg075544
Banca
FGV
Órgão
AL-SC
Ano
2024
Nível
Superior
Cargo
Analista Legislativo III - Analista de Sistemas
A Clean Architecture (ou arquitetura limpa), criada por Robert C. Martin, considera como objetivo
  1. Ana arquitetura de software, padronizar e organizar o código desenvolvido, favorecer a sua reusabilidade, assim como a dependência de tecnologia.
  2. Bfornecer aos desenvolvedores uma maneira de organizar o código de forma que generalize a lógica de negócios, mantendo-o separado do mecanismo de entrega e dependente do agente externo.
  3. Cproporcionar independência de interface do usuário e independência de qualquer agente externo, com exceçãoo da dependência de banco de dados específico.
  4. Dna arquitetura de software, minimizar os recursos humanos necessários para construir e manter o sistema necessário.
  5. Econfigurar as dependências de cada camada sempre em direção a periferia, tendo o core totalmente protegido de qualquer interferência externa ou interna.
Revelar gabarito e comentário

GabaritoD — na arquitetura de software, minimizar os recursos humanos necessários para construir e manter o sistema necessário.

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”.

Clean Architecture (Arquitetura Limpa)

Gabarito: letra D. A Clean Architecture tem como objetivo principal minimizar os recursos humanos necessários para construir e manter o sistema, tornando-o mais fácil de modificar e evoluir. Esse objetivo é alcançado por meio de princípios como a independência de frameworks, UI, banco de dados e a Regra da Dependência (Dependency Rule), mas a alternativa D captura o propósito central: reduzir o esforço de construção e manutenção.

NÃO CAIA NESSA!

A banca troca o objetivo (minimizar recursos humanos) pela regra de design (alternativa E: dependências para a periferia). O candidato pode se lembrar da Regra da Dependência e escolher E, mas a pergunta é sobre o objetivo da Clean Architecture, não sobre como ela funciona internamente. Fique atento ao enunciado: ele pede o que a Clean Architecture considera como objetivo.

Clean Architecture (Robert C. Martin)
  • 1Objetivo central
    • Minimizar recursos humanos
    • Construção e manutenção mais fáceis
  • 2Princípios de design
    • Independência de
      • Frameworks
      • UI
      • Banco de dados
      • Agentes externos
    • Regra da Dependência
      • Dependências para a periferia
      • Core protegido
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que a Clean Architecture favorece a "dependência de tecnologia". Na verdade, um dos pilares é exatamente a independência de tecnologia: o core da aplicação não deve depender de frameworks, bibliotecas ou bancos de dados específicos. O texto contraria o princípio fundamental da arquitetura limpa.

Alternativa B — ❌ Incorreta

Diz que o código deve ser "dependente do agente externo". A Clean Architecture defende o oposto: a lógica de negócios deve ser independente de agentes externos (UI, banco de dados, serviços externos). A separação em camadas visa justamente evitar esse acoplamento.

Alternativa C — ❌ Incorreta

Concede independência de UI e agentes externos, mas excetua o banco de dados como dependência permitida. A Clean Architecture também prega a independência de banco de dados: o core não deve conhecer detalhes de persistência. Portanto, a exceção feita pela alternativa é incorreta.

Alternativa D — ✅ Correta ⟵ GABARITO

"Minimizar os recursos humanos necessários para construir e manter o sistema necessário" é exatamente o objetivo central da Clean Architecture. Robert C. Martin enfatiza que uma boa arquitetura reduz o custo de manutenção e facilita a compreensão do sistema, permitindo que a equipe trabalhe com mais eficiência. As demais alternativas descrevem meios ou características, mas o objetivo é a redução do esforço humano ao longo do ciclo de vida do software.

Alternativa E — ❌ Incorreta

Descreve a Regra da Dependência (Dependency Rule) — um princípio importante da Clean Architecture, mas não é o objetivo. A regra estabelece que as dependências devem apontar para o centro (core), protegendo-o. No entanto, o objetivo maior é minimizar os recursos humanos (alternativa D). A alternativa E é uma característica ou mecanismo, não o objetivo em si.

Conclusão: D é a alternativa correta, pois representa o propósito maior da Clean Architecture.

Link permanente: /questoes/fg075544