01. (CETRO-TRT-SC/2008) A coesão é uma medida da força da associação dos elementos (qualquer parte de codificação que executa alguma instrução) dentro de um módulo interno do sistema projetado. Segundo essa definição, um módulo possui o melhor grau de coesão possível quando contém elementos
(A) envolvidos em atividades que estão relacionadas no tempo.
(B) que contribuem para atividades sem relação significativa entre si.
(C) que contribuem para atividades que usem a mesma entrada ou a mesma saída.
(D) que estão envolvidos em diferentes atividades e possivelmente não relacionados, nos quais o controle flui de uma atividade para a outra.
(E) que contribuem para a execução de uma, e apenas uma tarefa relacionada ao problema.
Solução: Coesão é uma medida da força de associação dos elementos dentro de um módulo. Por elemento, entende-se uma instrução, atividades (comandos) de um módulo, um grupo de instruções ou uma chamada para um outro módulo, ou seja, qualquer parte de codificação que executa alguma instrução. Portanto, o ideal são módulos altamente coesos, cujos elementos estejam genuinamente relacionados, facilitando a sua reutilização. A tabela abaixo mostra a classificação dos tipos de coesões existentes:
Tipo de coesão | Característica | Classificação |
Funcional | Contém elementos que contribuem para a execução de uma, e apenas uma, tarefa relacionada ao problema. | Melhor |
Sequencial | Elementos estão envolvidos em atividades tal que os dados de saída de uma atividade servem como dados de entrada para a próxima. | ↓ |
Comunicacional | Elementos contribuem para atividades que usem a mesma entrada ou a mesma saída. | ↓ |
Procedural | Elementos estão envolvidos em atividades diferentes e possivelmente não relacionados, nas quais o controle flui de uma atividade para outra. | ↓ |
Temporal | Elementos envolvidos em atividades que estão relacionadas no tempo. | ↓ |
Lógica | Elementos contribuem para atividades da mesma categoria geral, onde a atividade ou atividades a serem executadas são selecionadas fora do módulo. | ↓ |
Coincidental | Elementos contribuem para atividades sem relação significativa entre si. | Pior |
GAB: E
02. (CETRO-TRT-SC/2008) Dentro da abordagem estruturada de projeto de sistemas, o acoplamento representa o grau de interdependência entre dois módulos internos. Daí, pode-se afirmar que dois módulos possuem a melhor classificação possível quando
(A) um módulo passa para o outro um grupo de dados destinados a controlar a lógica interna do outro.
(B) se referem à mesma área de dados.
(C) se referem à mesma estrutura de dados.
(D) um módulo faz referência ao interior do outro.
(E) se comunicam por parâmetros.
Solução: O acoplamento representa o grau de interdependência entre dois módulos, onde o ideal é minimizá-lo, isto é, tornar os módulos tão independentes quanto possível. A tabela, a seguir, mostra a classificação dos tipos de acoplamentos possíveis:
Tipo de acoplamento | Caracteristica | Classificação |
De dados | Módulos se comunicam por parâmetros. | Boa ou solta |
De imagem | Módulos se referem à mesma estrutura de dados. | ↓ |
De controle | Um módulo passa para o outro um grupo de dados destinados a controlar a lógica interna do outro. | ↓ |
Comum | Módulos se referem à mesma área de dados. | ↓ |
De conteúdo | Um módulo faz referência ao interior do outro. | Ruim ou rígida |
GAB: E
03 – (CETRO-TRT-SC/2008) Um Analista de Banco de Dados precisa inserir, dentro de um Dicionário de Dados, o item de dados “funcionario”; este item é composto pelo código do Funcionário (CodFunc), pelo seu sexo (podendo ser “Masc” ou “Femi”), pelo seu endereço (EndFunc) e pelo seu histórico de salários (SalFunc), sendo que deve haver, ao menos, um histórico de salário cadastrado para cada funcionário. Todas as informações são obrigatórias. Em um dicionário de dados e de acordo com a notação proposta por Yourdon, a definição do item de dados “funcionario” é representada por
(A) funcionario = CodFunc + (Masc OR Femi) + EndFunc + SalFunc
(B) funcionario = CodFunc + [Masc OR Femi] + EndFunc + 1 {SalFunc}
(C) funcionario = (CodFunc) + [Masc|Femi] + EndFunc + {SalFunc}
(D) funcionario = CodFunc + [Masc|Femi] + EndFunc + 1 {SalFunc}
(E) funcionario = ((CodFunc) + [Masc|Femi] + (EndFunc) + 1 {SalFunc})
Solução: O conjunto de notações utilizadas no dicionário de dados segue abaixo:
Símbolo | Significado |
= | É composto de |
+ | e |
n( )m | Opcional (pode estar presente ou ausente) n – menor valor possível m – maior valor possível |
n{ }m | Iteração (ocorrência repetida – de n a no máximo m) n – menor valor possível m – maior valor possível |
[ ] | Escolher uma das opções alternativas |
| | Ou – separar opções alternativas na construção [ ] |
@ | Identificador (campo chave) de um depósito |
De acordo com a notação acima, temos:
funcionario = CodFunc + [Masc|Femi] + EndFunc + 1 {SalFunc}
GAB: D
04 – (ESAF-AFRF/2005) Analise as seguintes afirmações relacionadas à análise e ao projeto estruturados:
I. Um Diagrama de Fluxo de Dados (DFD) é uma técnica gráfica que descreve o fluxo da informação e as transformações que são aplicadas à medida que os dados se movimentam da entrada para a saída.
II. Um Diagrama de Fluxo de Dados (DFD) pode ser usado para representar um sistema ou software em qualquer nível de abstração. O nível 0 (zero) do DFD, denominado modelo fundamental do sistema, representa o elemento software global como uma única bolha, com dados de entrada indicados por setas que chegam, e a saída indicada por setas que saem.
III. No DFD, um círculo é usado para representar uma entidade externa, isto é, um sistema que produza informação a ser transformada ou receba a informação transformada. Um retângulo representa a transformação a ser aplicada ao dado.
IV. Um Diagrama de Fluxo de Dados (DFD) deve, além do fluxo da informação, descrever detalhadamente a lógica procedimental do sistema.
Indique a opção que contenha todas as afirmações verdadeiras.
a) II e III
b) II e IV
c) III e IV
d) I e III
e) I e II
Solução: III – é falso porque um círculo representa uma função ou processo e um retângulo é uma entidade externa. Veja, no quadro a seguir, as representações gráficas utilizadas:
IV – é falso porque o DFD, particularmente, mostra o que existe sem se preocupar em como tais coisas são feitas, isto é, não apresenta detalhes da lógica de procedimento do sistema.
Os itens I e II são verdadeiros.
GAB: E
05 – (FCC-TRT-GO/2008) No espectro que representa os tipos possíveis de coesão entre tarefas que se relacionam em um módulo, a mais INDESEJÁVEL é a
(A) temporal.
(B) seqüencial.
(C) coincidental.
(D) funcional.
(E) comunicacional.
Solução: De acordo com a questão 01, o tipo mais indesejável é o coincidental.
GAB: C
06 – (FCC-TRT-GO/2008) No projeto de módulos adequadamente estruturados deve-se
(A) evitar o baixo acoplamento.
(B) evitar escopo de efeito de um módulo fora de seu escopo de controle.
(C) evitar a coesão funcional.
(D) adotar o acoplamento por conteúdo.
(E) adotar a coesão lógica.
Solução: De acordo com as questões 01 e 02, os itens A, C, D e E são falsos. Deve-se adotar a coesão funcional e o acoplamento de dados.
GAB: B
07 – (FCC-TRT-MS/2004) No âmbito da análise estruturada de sistemas, os componentes do Diagrama de Fluxo de Dados − DFD constituem o fundamento do
(A) modelo de dados de um sistema de informações e são, basicamente, representações das entidades e seus relacionamentos. Esse modelo auxilia imensamente a compreensão de um problema durante a fase de análise porque pode decompô-lo em problemas menores num processo conhecido por decomposição bottom-up.
(B) modelo funcional de um sistema de informações e são, basicamente, representações das entidades externas, dos processos ou funções, dos fluxos de dados e dos depósitos de dados ou arquivos lógicos. Esse modelo auxilia imensamente a compreensão de um problema durante a fase de análise porque pode decompô-lo em problemas menores num processo conhecido por decomposição top-down.
(C) diagrama de caso de uso de um sistema de informações e são, basicamente, representações das classes e dos atores que alimentam os depósitos de dados ou arquivos lógicos, através dos fluxos de dados. Esse modelo auxilia imensamente a compreensão de um problema durante a fase de análise porque pode decompô-lo em problemas menores num processo conhecido por decomposição middle-top.
(D) diagrama de classes de um sistema de informações e são, basicamente, representações das entidades externas, dos processos, dos fluxos de dados e dos seus relacionamentos com as entidades de dados. Esse modelo auxilia imensamente a compreensão de um problema durante a fase de análise porque pode decompô-lo em problemas menores num processo conhecido por decomposição top-down.
(E) diagrama de seqüência de um sistema de informações e são, basicamente, representações dos atores que, através das funções e dos fluxos de dados, alimentam os depósitos de dados ou arquivos lógicos. Esse modelo auxilia imensamente a compreensão de um problema durante a fase de análise porque pode decompô-lo em problemas menores num processo conhecido por decomposição middle-down.
Solução: As alternativas C, D e E são falsas porque os diagramas de caso de uso, classes e sequência são diagramas da UML. A alternativa A é falsa porque o MER (Modelo de entidade e relacionamento) auxilia na modelagem de dados de um sistema e não tem nada a ver com DFD. De acordo com a questão 04, o DFD é composto por entidades externas, funções ou processos, depósitos de dados e fluxos de dados.
GAB: B
08 – (FCC-TRT-MS/2004) Dadas as seguintes definições, próprias de um projeto estruturado de sistemas:
I. O alcance ou escopo de efeito de um módulo m é definido como todos os módulos que são afetados por uma decisão tomada nesse módulo m.
II. O alcance ou escopo de controle de um módulo m abrange todos os módulos que são subordinados e, em última análise, subordinados ao módulo m.
III. Coesão é definida como a ligação entre elementos de um mesmo módulo ou, melhor, é a medida da força funcional relativa de um módulo.
IV. Acoplamento é definido como a ligação entre módulos ou, melhor, é a medida da interdependência relativa entre módulos.
Pela análise dessas definições e considerando o mais adequado projeto estruturado de sistemas, deve-se envidar esforços para
A | manter o alcance de efeito de um módulo fora do alcance de controle desse módulo. enfraquecer o grau de coesão funcional de um módulo. minimizar o grau de acoplamento entre módulos. |
B | manter o alcance de efeito de um módulo fora do alcance de controle desse módulo. fortalecer o grau de coesão funcional de um módulo. minimizar o grau de acoplamento entre módulos. |
C | manter o alcance de efeito de um módulo dentro do alcance de controle desse módulo. enfraquecer o grau de coesão funcional de um módulo. maximizar o grau de acoplamento entre módulos. |
D | manter o alcance de efeito de um módulo fora do alcance de controle desse módulo. enfraquecer o grau de coesão funcional de um módulo. maximizar o grau de acoplamento entre módulos. |
E | manter o alcance de efeito de um módulo dentro do alcance de controle desse módulo. fortalecer o grau de coesão funcional de um módulo. minimizar o grau de acoplamento entre módulos. |
Solução: De acordo com as questões 01 e 02, o ideal são módulos altamente coesos e o acoplamento entre módulos tão independentes quanto possível. Além disso, manter o escopo de efeito do módulo dentro do escopo de controle do módulo, de acordo com a questão 06.
GAB: E
09 – (FCC-TRT-CE/2009 - Analista) No projeto de software, excetuando-se o acoplamento direto entre módulos, o seguinte no espectro (PRESSMAN) e o mais baixo desejado possível é o acoplamento
(A) comum
(B) por dados
(C) por controle
(D) por conteúdo
(E) externo
Solução: Segundo a questão 2, o acoplamento mais baixo desejado é o de conteúdo que diz: Um módulo faz referência ao interior do outro.
Resp: D
ATENÇÃO!! A FCC considerou como gabarito a letra B. No mínimo, essa questão foi malformulada, confusa.
10 – (FCC-TRT-MA/2009 - Analista) Dentro do espectro de coesão entre tarefas de um módulo, é menos indicado usar a
(A) procedimental do que a temporal
(B) funcional do que a temporal
(C) lógica do que a coincidental
(D) comunicacional do que a procedimental
(E) seqüencial do que a funcional
Solução: Segundo a questão 1, a ordem dos tipos de coesão da melhor para a pior é: funcional, seqüencial, comunicacional, procedural, temporal, lógica e coincidental.
GAB: E
Nenhum comentário:
Postar um comentário