Pular para o conteúdo principal

Questão de Engenharia de Software — Engenharia de Software Baseada em Componentes (ESBC) — CESPE / CEBRASPE 2025

Engenharia de SoftwareEngenharia de Software Baseada em Componentes (ESBC)
Código
ce195390
Banca
CESPE / CEBRASPE
Órgão
BANRISUL
Ano
2025
Nível
Superior
Cargo
Técnico em Tecnologia da Informação II - Área: Administração de Banco de Dados
Considerando que, no desenvolvimento de software, o conceito de componentização é utilizado para melhorar a organização e a reutilização do código, assinale a opção correta.
  1. AA componentização substitui a necessidade de modelagem arquitetural no desenvolvimento de sistemas complexos.
  2. BUm componente deve possuir alta coesão e baixo acoplamento, o que favorece sua reutilização e manutenção.
  3. CUm componente deve ser implementado como uma função recursiva, para garantir flexibilidade à componentização.
  4. DO principal objetivo da componentização é eliminar completamente a necessidade de testes unitários.
  5. EComponentes devem compartilhar diretamente o estado de variáveis globais para a simplificação da comunicação entre eles.
Revelar gabarito e comentário

GabaritoB — Um componente deve possuir alta coesão e baixo acoplamento, o que favorece sua reutilização e manutenção.

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

Engenharia de Software Baseada em Componentes (ESBC)

Gabarito: letra B. A alternativa correta afirma que um componente deve ter alta coesão e baixo acoplamento, princípios fundamentais da engenharia de software que promovem reutilização e facilidade de manutenção. As demais alternativas apresentam equívocos comuns sobre componentização.

A questão cobra os conceitos básicos de componentização, especialmente as características desejáveis de um componente. A alternativa B está alinhada com os princípios clássicos de modularidade: alta coesão (forte relacionamento interno) e baixo acoplamento (pouca dependência externa).

Alternativa A — ❌ Incorreta

A componentização não substitui a modelagem arquitetural. Pelo contrário, a arquitetura define como os componentes se organizam e se comunicam; a componentização é uma das formas de implementar essa arquitetura.

Alternativa B — ✅ Correta ⟵ GABARITO

Conforme os princípios da Engenharia de Software, um componente deve ser coeso (suas partes internas são fortemente relacionadas) e fracamente acoplado (mínima dependência de outros componentes). Isso facilita a reutilização em diferentes contextos e a manutenção isolada.

Alternativa C — ❌ Incorreta

Não há relação entre componente e recursividade. Componentes podem ser implementados de diversas formas (classes, módulos, serviços) sem exigência de recursão. A afirmativa é absurda e visa testar conhecimento básico.

Alternativa D — ❌ Incorreta

O objetivo da componentização é organizar e reutilizar código, não eliminar testes unitários. Pelo contrário, componentes devem ser testados individualmente (testes unitários) para garantir seu funcionamento antes da integração.

Alternativa E — ❌ Incorreta

Compartilhar variáveis globais viola o encapsulamento e aumenta o acoplamento, indo contra os princípios de componentização. A comunicação entre componentes deve ocorrer por interfaces bem definidas e não por estado global.

PEGA ESSA DICA!

Lembre-se do mantra "alta coesão, baixo acoplamento" — ele é a marca registrada de um bom design modular e cai com frequência em provas sobre engenharia de software.

Gabarito: letra B.

Link permanente: /questoes/ce195390