No projeto dos módulos que irão compor um software, deve-se...

Próximas questões
Com base no mesmo assunto
Ano: 2021 Banca: VUNESP Órgão: EsFCEx Prova: VUNESP - 2021 - EsFCEx - Informática |
Q1815185 Engenharia de Software
No projeto dos módulos que irão compor um software, deve-se ter a preocupação com o atendimento dos conceitos de coesão e acoplamento. Considerando esses dois conceitos, é correto afirmar que
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: O enunciado cobra a distinção conceitual entre coesão e acoplamento em projeto modular; o critério decisivo é identificar a alternativa que define corretamente acoplamento como grau de interconexão entre módulos, o que conduz ao gabarito B.

Tema central: Coesão e acoplamento
Análise das alternativas
A
Errada
Está errada porque atribui à coesão uma contagem de desvios condicionais. Coesão não é definida por quantidade de estruturas condicionais, mas pelo grau de relação funcional entre os elementos internos de um módulo.
B
Certa
A alternativa B está correta porque descreve acoplamento conforme o conceito técnico cobrado: ele expressa o grau de interconexão, dependência ou interação entre módulos de software. Esse é exatamente o atributo avaliado quando se observa o quanto um módulo depende de outro no projeto modular.
C
Errada
Está errada porque confunde acoplamento com métrica de tamanho textual do código. Número de linhas de código não define acoplamento; acoplamento diz respeito à dependência entre módulos.
D
Errada
Está errada porque inverte a diretriz clássica de qualidade do projeto modular. O desejável é alta coesão, não baixa coesão, pois módulos bem projetados devem concentrar elementos internos relacionados a uma responsabilidade ou função bem definida.
E
Errada
Está errada porque também inverte a diretriz de qualidade. Em projeto de software, busca-se baixo acoplamento entre módulos, e não alto acoplamento, justamente para reduzir dependências excessivas.
Pegadinha da questão
A banca explora duas confusões reais: trocar coesão por acoplamento e substituir conceitos de modularidade por métricas indevidas, como linhas de código ou número de desvios condicionais, além de inverter o sentido desejável dos atributos.
Dica para questões semelhantes
  • Separe os conceitos antes de olhar as alternativas: coesão é relação interna do módulo; acoplamento é dependência entre módulos.
  • Desconfie de alternativas que tentam definir coesão ou acoplamento por contagens simples de código, como linhas ou condicionais.
  • Em questões de projeto modular, use como critério de validação a diretriz clássica: alta coesão e baixo acoplamento.

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

Cenário ideal de um software e ter um baixo acoplamento e uma alta coesão.

Acoplamento e o grau de relacionamento entre os módulos de um software.

Coesão Códigos coesos são aqueles de relação forte, onde seus membros estão intimamente ligados e estão ali por um objetivo comum. Um componente com Alta Coesão é um componente que possui apenas uma única responsabilidade, que possui em seu conteúdo/suas funções, apenas aquilo que realmente deve fazer.

Resposta correta Letra (B)

A coesão é uma extensão natural do conceito do encapsulamento de informações . Um módulo coeso realiza uma única tarefa, exigindo pouca interação com outros componentes em outras partes de um programa. De forma simples, um módulo coeso deve (idealmente) fazer apenas uma coisa. Embora você sempre deva tentar ao máximo obter uma alta coesão (funcionalidade única), muitas vezes é necessário e recomendável fazer com que um componente de software realize várias funções. Entretanto, componentes “esquizofrênicos” (módulos que realizam muitas funções não relacionadas) devem ser evitados caso se queira um bom projeto. O acoplamento é uma indicação da interconexão entre os módulos em uma estrutura de software e depende da complexidade da interface entre os módulos, do ponto onde é feito o acesso a um módulo e dos dados que passam pela interface. Em projeto de software, você deve se esforçar para obter o menor grau de acoplamento possível.

Pressman pg. 216

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo