SóProvas


ID
783394
Banca
CESGRANRIO
Órgão
BNDES
Ano
2011
Provas
Disciplina
Engenharia de Software
Assuntos

Pode-se avaliar a modularidade de um sistema de software pelo critério de coesão de seus módulos.

O módulo que contém elementos que contribuem para a execução de uma e somente uma atividade relacionada ao problema constitui um módulo com coesão

Alternativas
Comentários
  • a) comunicacional: funções que usam a mesma entrada ou possuem a mesma saída.
    c) procedural: módulos compostos por funções pouco relacionadas entre si.
    d) sequencial: sequência de funções onde a saída de uma será entrada de outra
    e) temporal:
    atividades que estão relacionadas no tempo.
  • Acoplamento: Acoplamento é quanto um elemento (classe, método, função, módulo, componente... basicamente qualquer coisa) depende e conhece do outro. Um exemplo seria: o nível de interligação entre duas classes(no caso de java), ou seja, o quanto uma classe conhece da outra. Elementos muito acoplados geralmente são muito dependentes, mudou um e você com certeza vai ter que mudar o outro. O acoplamento é proporcionalmente ligado a dor decabeça que vc terá caso mude a implementação de uma classe.
    Coesão: é o quanto as tarefas que um elemento realiza estão relacionadas com um mesmo conceito. Baixa coesão teria uma classe que, por exemplo, imprime um documento e exibe um formulário para o usuário, neste caso provavelmente você deveria dividir esta classe em mais de uma. Representa o quão uma classe é específica para desempenhar um papel em um contexto.
    A idéia eh sempre ter o máximo de coesão e o mínimo de acoplamento. Lembrando sempre que não ter acoplamento é impossível, pois a classe precisam de alguma forma se comunicarem.
  • Grau de interdependência entre dois módulos (Melhor para o pior): 
    1 - Acoplamento de dados: troca de parâmetros (o melhor): quando módulos ou classes compartilham dados via parâmetros. Cada parâmetro é uma parte elementar, send esta o unico dado compartilhado entre módulos ou classes (Ex. passando um inteiro para uma função que calcula aus raiz quadrada
    2 - Acoplamento de imagem (estrutura de dados comum utilizada parcialmente em vários módulos)
    3 - Acoplamento de controle - exemplo: flags indicando o que um módulo deve fazer (intermediário),  quando um módulo ou classe controla a lógica de outro, passando informações de que operações executar. 
    4 - Acoplamento comum (módulos acessam área de dados comum):  quando dois módulos ou classes compartilham os meswmos dados globais (Ex. uma variável global). Mudanças nos recursos compiartilhados implicará mudanças em todos os módulos que os utilizam.
    5 - Acoplamento de conteúdo: se um módulo faz referência ao interior do outro (o pior): Quando um módulo ou classe altera ou depende de uma funcionalidade interna de outro módulo (Ex. acessando dados locais de um módulo). Uma alteração no modulo de serviço acarretará alterações no módulo dependente.
    Coesão, intensidade da associação entre 2 módulos (Melhor para o pior):
    1 - Funcional (caixa preta, a melhor) – uma e somente uma função identificável.
    2 - Seqüencial (várias atividades – que precisam ser - executadas em seqüência, e os dados fluem de uma atividade para outra)
    3 - Comunicacional (atividades usam a mesma entrada e a mesma saída)
    4 - Procedural (atividades diferentes, com controle – e não dados - fluindo de uma para outra)
    5 - Temporal (várias funções executadas no mesmo tempo. Ex: inicialização)

    6 - Lógica (várias funções semelhantes porém independentes) 
     
    7 - Coincidental (a pior) 
     
  • No Pressman traz que

    São os tipos de Coesão dados:

    1Funcional (método com função bem definida)

    2. de Camadas (pacotes/componentes/classes onde camadas de alto nível acessam as de baixo nível mas não o contrário)

    3. de Comunicação (todas os operações que acessam os mesmos dados são definidas em uma classe)


  • Por JORGE MOREIRA:

     

    Grau de interdependência entre dois módulos (Melhor para o pior): 

     

    1 - Acoplamento de dados: troca de parâmetros (o melhor): quando módulos ou classes compartilham dados via parâmetros. Cada parâmetro é uma parte elementar, send esta o unico dado compartilhado entre módulos ou classes (Ex. passando um inteiro para uma função que calcula aus raiz quadrada

     

    2 - Acoplamento de imagem (estrutura de dados comum utilizada parcialmente em vários módulos)

     

    3 - Acoplamento de controle - exemplo: flags indicando o que um módulo deve fazer (intermediário),  quando um módulo ou classe controla a lógica de outro, passando informações de que operações executar. 

     

    4 - Acoplamento comum (módulos acessam área de dados comum):  quando dois módulos ou classes compartilham os meswmos dados globais (Ex. uma variável global). Mudanças nos recursos compiartilhados implicará mudanças em todos os módulos que os utilizam.

     

    5 - Acoplamento de conteúdo: se um módulo faz referência ao interior do outro (o pior): Quando um módulo ou classe altera ou depende de uma funcionalidade interna de outro módulo (Ex. acessando dados locais de um módulo). Uma alteração no modulo de serviço acarretará alterações no módulo dependente.

     

    Coesão, intensidade da associação entre 2 módulos (Melhor para o pior):

     

    1 - Funcional (caixa preta, a melhor) – uma e somente uma função identificável.

     

    2 - Seqüencial (várias atividades – que precisam ser - executadas em seqüência, e os dados fluem de uma atividade para outra)

     

    3 - Comunicacional (atividades usam a mesma entrada e a mesma saída)

     

    4 - Procedural (atividades diferentes, com controle – e não dados - fluindo de uma para outra)

     

    5 - Temporal (várias funções executadas no mesmo tempo. Ex: inicialização)
     

    6 - Lógica (várias funções semelhantes porém independentes)   

     

    7 - Coincidental (a pior)