Questão de Engenharia de Software — Engenharia de Software Baseada em Componentes (ESBC) — CESPE / CEBRASPE 2025
Engenharia de Software›Engenharia 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.
AA componentização substitui a necessidade de modelagem arquitetural no desenvolvimento de sistemas complexos.
BUm componente deve possuir alta coesão e baixo acoplamento, o que favorece sua reutilização e manutenção.
CUm componente deve ser implementado como uma função recursiva, para garantir flexibilidade à componentização.
DO principal objetivo da componentização é eliminar completamente a necessidade de testes unitários.
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.