Pular para o conteúdo principal

Questão de Engenharia de Software — Acoplamento e Coesão — FGV 2026

Engenharia de SoftwareAcoplamento e Coesão
Código
fg126953
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Engenharia de Computação)
Um Engenheiro da Computação atua como um consultor sênior em um projeto de lei que exige o desenvolvimento de um sistema de inteligência artificial para prever o impacto fiscal de novas emendas constitucionais. O projeto é de alto risco, alta visibilidade política e tem requisitos evolutivos.Esse Engenheiro está revisando um módulo que viola o princípio de Responsabilidade Única (SRP) do SOLID. O módulo ManipuladorDeVotos é responsável por persistir o voto e por gerar o relatório estatístico do voto.Assinale a afirmativa correta em relação ao efeito arquitetural primário da violação do SRP nesse cenário.
  1. AA violação do SRP aumenta a Coesão Lógica do módulo.
  2. BA violação do SRP facilita a reutilização do módulo em contextos diferentes.
  3. CA violação do SRP leva a um Alto Acoplamento.
  4. DO SRP é irrelevante para acoplamento e coesão.
  5. EA violação leva a uma complexidade ciclomática baixa.
Revelar gabarito e comentário

GabaritoC — A violação do SRP leva a um Alto 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”.

Violação do SRP – Efeito Arquitetural

Gabarito: letra C. A violação do Princípio da Responsabilidade Única (SRP) leva a um alto acoplamento, pois um módulo que assume múltiplas responsabilidades acaba dependendo de mais módulos e forçando dependências desnecessárias em outros contextos.

O SRP (Single Responsibility Principle) afirma que uma classe ou módulo deve ter apenas um motivo para mudar. No cenário, o módulo ManipuladorDeVotos acumula persistência do voto e geração de relatório estatístico – duas responsabilidades distintas. Isso faz com que ele se acople a mais elementos (banco de dados, fontes de dados para relatório) e que outros módulos que dependem dele herdem essas dependências, elevando o acoplamento. A coesão, por outro lado, é reduzida, pois os elementos internos não estão focados em um único propósito.

Aspecto Analisado

Efeito da Violação do SRP

Relação com Acoplamento/Coesão

Consequência Arquitetural

Coesão

Reduzida (coesão acidental)

Responsabilidades distintas no mesmo módulo

Baixa coesão, dificulta manutenção

Reutilização

Prejudicada

Módulo carrega funcionalidades não relacionadas

Menos reutilizável em outros contextos

Acoplamento

Aumentado (Gabarito – C)

Módulo depende de mais artefatos (banco, fontes de relatório)

Alto acoplamento, dependências desnecessárias

Complexidade Ciclomática

Aumentada

Mais caminhos de decisão e fluxos internos

Maior complexidade, não baixa

Relevância do SRP

Diretamente relevante

Princípio fundamental para métricas de qualidade

Violação impacta negativamente coesão e acoplamento

Alternativa A — ❌ Incorreta

A violação do SRP reduz a coesão, não a aumenta. Coesão lógica é um tipo de coesão baixa; o módulo agora possui responsabilidades não relacionadas, o que resulta em coesão acidental, ainda mais baixa.

Alternativa B — ❌ Incorreta

Módulos com múltiplas responsabilidades são menos reutilizáveis, pois quem precisa de apenas uma funcionalidade é obrigado a carregar as demais, dificultando o reúso em contextos diferentes.

Alternativa C — ✅ Correta ⟜ GABARITO

O acúmulo de responsabilidades no mesmo módulo aumenta o acoplamento: o módulo passa a depender de mais artefatos e, por sua vez, outros módulos que o utilizam ficam acoplados a essas dependências extras. Em engenharia de software, busca-se baixo acoplamento e alta coesão – o oposto do que ocorre aqui.

Alternativa D — ❌ Incorreta

O SRP é diretamente relevante para acoplamento e coesão. Sua violação tipicamente reduz a coesão e eleva o acoplamento, sendo um dos princípios fundamentais para manter essas métricas saudáveis.

Alternativa E — ❌ Incorreta

A complexidade ciclomática tende a aumentar quando um módulo acumula responsabilidades, pois cresce o número de caminhos de decisão e fluxos lógicos internos, não o contrário.

Gabarito: letra C

Link permanente: /questoes/fg126953