Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos Gerais de Engenharia de Software — CESPE / CEBRASPE 2025

Engenharia de SoftwareConceitos Gerais de Engenharia de Software
Código
ce417742
Banca
CESPE / CEBRASPE
Órgão
PC DF
Ano
2025
Cargo
GAAPC ( )

No que diz respeito a design de software, julgue o item a seguir.

 

Uma aplicação é excessivamente complexa quando há nela muitas ocorrências do mesmo trecho de código.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Esta resolução diverge do gabarito oficial. A banca deu Certo; a resolução abaixo sustenta o contrário e explica por quê — ela não foi reescrita para concordar. Acontece nos dois sentidos: há gabarito que cai em recurso e há resolução que erra. Confira na fonte antes de fixar o entendimento.
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”.

Design de software: complexidade e duplicação de código

Gabarito: Errado (E). A afirmativa está incorreta porque confunde o conceito de complexidade excessiva com a duplicação de código. Uma aplicação é excessivamente complexa quando há nela muitas ocorrências do mesmo trecho de código — isso é um problema de manutenibilidade e qualidade de código, não de complexidade. A complexidade excessiva está relacionada a fatores como acoplamento elevado, baixa coesão, dependências desnecessárias e dificuldade de compreensão do sistema como um todo.

A duplicação de código é um problema real em engenharia de software, mas não é o que define complexidade excessiva. A complexidade de um sistema está ligada à sua estrutura interna — como os componentes interagem, o nível de acoplamento entre módulos, a coesão das responsabilidades e a dificuldade de entender e modificar o sistema. A duplicação de código, por sua vez, é um problema de manutenção: quando um trecho de código é repetido em vários lugares, uma alteração precisa ser feita em todos os pontos, aumentando o risco de erros e o esforço de manutenção. Mas isso não torna o sistema intrinsecamente complexo — um sistema pode ter código duplicado e ainda assim ser simples de entender, ou pode ser extremamente complexo sem nenhuma duplicação.

Para entender a diferença, considere um exemplo: um sistema com dois módulos que se comunicam de forma acoplada, com dependências circulares e lógica de negócio espalhada por várias camadas é complexo, mesmo que cada trecho de código apareça apenas uma vez. Por outro lado, um sistema com funções repetidas em vários pontos pode ser simples de entender, embora trabalhoso de manter. A complexidade excessiva é uma característica estrutural, enquanto a duplicação é uma característica de implementação.

A banca explora a confusão entre esses dois conceitos. O candidato que associa "muitas ocorrências do mesmo trecho de código" a complexidade está pensando em termos de manutenção, mas a complexidade excessiva é definida por métricas como acoplamento, coesão e dependências. A duplicação é um problema de qualidade, mas não é o que torna um sistema complexo.

NÃO CAIA NESSA!

A banca troca o conceito de complexidade excessiva pelo de duplicação de código. A duplicação é um problema de manutenibilidade, não de complexidade estrutural. Lembre-se: complexidade está ligada a acoplamento, coesão e dependências, não à repetição de trechos de código.

Alternativa C — ❌ Incorreta

A afirmativa está incorreta porque define complexidade excessiva como a presença de muitas ocorrências do mesmo trecho de código. Isso é duplicação de código, um problema de manutenibilidade. A complexidade excessiva é caracterizada por alto acoplamento, baixa coesão e dependências complexas entre módulos, não pela repetição de código.

Alternativa E — ✅ Correta ⟵ GABARITO

A afirmativa está correta ao negar a definição apresentada. A duplicação de código não é o que define complexidade excessiva. A complexidade está relacionada à estrutura interna do sistema, como acoplamento e coesão, enquanto a duplicação é um problema de manutenção. Portanto, a afirmativa está errada, e a alternativa E é o gabarito.

Gabarito: letra E

Link permanente: /questoes/ce417742