Resumo de Engenharia de Software - Acoplamento e Coesão

Acoplamento e Coesão

Acoplamento e Coesão em Engenharia de Software

1. Coesão

Definição: Mede o grau de relacionamento entre as funcionalidades de um módulo (classe, função, componente). Quanto maior a coesão, mais focado e bem definido é o módulo.

Tipos (do pior para o melhor):

  • Coesão Acidental: Elementos sem relação lógica.
  • Coesão Lógica: Agrupados por categoria (ex.: funções de "log").
  • Coesão Temporal: Executados no mesmo período (ex.: "inicializar()").
  • Coesão Procedimental: Sequência de passos relacionados.
  • Coesão Comunicacional: Operam sobre os mesmos dados.
  • Coesão Funcional: Todas as partes contribuem para uma única tarefa (ideal).

2. Acoplamento

Definição: Mede a dependência entre módulos. Quanto menor o acoplamento, mais independente e modular é o sistema.

Tipos (do pior para o melhor):

  • Acoplamento Conteúdo: Um módulo acessa dados internos de outro (ruim).
  • Acoplamento Comum: Compartilhamento de variáveis globais.
  • Acoplamento Controle: Um módulo controla a lógica de outro.
  • Acoplamento Estampo: Passagem de estruturas de dados complexas.
  • Acoplamento Dados: Comunicação via parâmetros simples (ideal).

3. Relação para Concursos

Princípios:

  • Alta coesão e baixo acoplamento são metas de design.
  • Reduzem complexidade, facilitam manutenção e reúso.

Dicas: Questões frequentemente abordam identificação de tipos ou comparação entre conceitos.