A respeito de análise, projeto, implementação e testes de so...
A respeito de análise, projeto, implementação e testes de software, julgue o seguinte item.
A independência funcional é um aspecto relacionado à
qualidade dos projetos e caracterizado pela alta conectividade
e versatilidade funcional dos módulos principais, prestando
serviços aos demais módulos e suprindo suas dependências.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Errado
O conceito de independência funcional está diretamente relacionado à estruturação e à qualidade do projeto de software. Este princípio afirma que um módulo bem projetado deve executar uma única função ou um pequeno conjunto de funções relacionadas, onde essa função é claramente definida. Além disso, é fundamental que um módulo possua um baixo acoplamento e uma alta coesão, o que significa que ele deve ter um mínimo de dependências com outros módulos, preservando sua autonomia e facilitando tanto a manutenção quanto a compreensão do software.
A assertiva em questão induz ao erro ao associar independência funcional com alta conectividade e versatilidade funcional dos módulos, sugerindo que módulos altamente independentes devem prestar muitos serviços e ter muitas dependências, o que é contrário ao verdadeiro conceito de independência funcional. A independência é comprometida quando um módulo é projetado para realizar múltiplas funções ou tem muitas interações com outros módulos, o que pode levar a um acoplamento excessivo e complexidade indesejada.
Portanto, de acordo com os princípios de Engenharia de Software, um projeto de alta qualidade irá buscar módulos com independência funcional, caracterizados pela realização de funções específicas e pelo mínimo de interações necessárias com outras partes do software, assegurando assim uma manutenibilidade e compreensibilidade melhores.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
O gabarito é Errado.
De acordo com o conceito da independência funcional, devemos projetar software de maneira que cada módulo cuide de uma subfunção específica dos requisitos e tenha uma interface simples quando visto de outras partes da estrutura do programa. Módulos independentes são mais fáceis de manter(e testar) porque os efeitos secundários causados por modificação de projeto ou código são limitados, a propagação de erros é reduzida e os módulos reusáveis são possíveis. Não há alta conectividade.
INDEPENDÊNCIA FUNCIONAL: produto direto da modularidade e do conceito de ocultação da informação. Alcançada desenvolvendo-se módulos com função "com um só propósito" e "aversão" a interações excessivas com outros módulos; Um software com módulos independentes é mais fácil de ser desenvolvido e mais fácil de ser mantido => fundamental para um bom projeto.
Veja o que o PRESSMAN (Eng. de Software. 9ª Edição. 2021) fala sobre independência funcional:
"A independência funcional é atingida desenvolvendo-se módulos com função 'única' e com 'aversão' à interação excessiva com outros módulos."
Dessa forma, a questão peca ao falar em alta conectividade.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo