Questão 34 · Informática: Programação e algoritmos
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.
- A) A componentização substitui a necessidade de modelagem arquitetural no desenvolvimento de sistemas complexos.
- B) Um componente deve possuir alta coesão e baixo acoplamento, o que favorece sua reutilização e manutenção.
- C) Um componente deve ser implementado como uma função recursiva, para garantir flexibilidade à componentização.
- D) O principal objetivo da componentização é eliminar completamente a necessidade de testes unitários.
- E) Componentes devem compartilhar diretamente o estado de variáveis globais para a simplificação da comunicação entre eles.
Marque a alternativa correta:
Gabarito: B
Gabarito definitivo divulgado pela banca Cebraspe (BANRISUL 2025).
Comentário
Gabarito: B.
Um componente de software deve ter alta coesão, ou seja, reunir responsabilidades relacionadas entre si, e baixo acoplamento, ou seja, depender pouco de outros módulos e comunicar-se por interfaces bem definidas. Essas propriedades tornam o componente mais independente, fácil de reutilizar em outros sistemas e mais simples de manter, que é exatamente o objetivo da componentização mencionado no enunciado. As outras alternativas apresentam conceitos incorretos sobre arquitetura, recursividade, testes e compartilhamento de estado.
- (A) Errada: a componentização não substitui a modelagem arquitetural; ela depende dela.
- (C) Errada: componentes não precisam ser funções recursivas; a recursão é uma técnica de implementação pontual.
- (D) Errada: a componentização facilita os testes, mas não elimina a necessidade de testes unitários.
- (E) Errada: componentes que compartilham variáveis globais ficam fortemente acoplados, o oposto do desejado.
Dica: coesão alta e acoplamento baixo andam juntos; qualquer alternativa que peça acoplamento alto ou estado global compartilhado está errada.
Fundamentos: Princípios de projeto de software: coesão e acoplamento · Conceitos de componentização e reutilização de código
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe BANRISUL 2025 (Diversos cargos), questão 34, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.