Disciplina: Técnicas de Levantamento de Requisitos

Propaganda
Disciplina: Processo e Qualidade de Software II
Professor: Elias Batista Ferreira
Lista 04
1.
Calcule a complexidade ciclomática do método abaixo:
public int pesquisar(int chave, int[] elementos) {
int limInf = 0;
int limSup = elementos.length - 1;
int meio = 0;
int indice = -1;
while (limInf <= limSup) {
meio = (limSup + limInf) / 2;
if (elementos[meio] == chave) {
indice = meio;
break;
}
else {
if (elementos[meio] < chave)
limInf = meio + 1;
else
limSup = meio - 1;
}
}
return indice;
}
Analise o código acima e responda:
a) Qual a função do método (o que ele faz)?
b) Projete um caso de teste para este método?
Página 1 de 3
2. [CESGRANRIO – 2008] Considere o seguinte código de um método de uma
classe Java:
public boolean primo( int x ) {
if (x == 1 || x == 2) {
return true;
}
int raiz = (int) Math.sqrt((double)x);
for (int i = 2; i <= raiz; i++) {
if (x % i == 0) {
return false;
}
}
return true;
}
Qual a complexidade ciclomática do método?
a) 2
b) 3
c) 4
d) 5
e) 6
Página 2 de 3
3. Construa o grafo de fluxo referente ao código da questão anterior.
4. [EsFCEx – 2011] Com relação ao uso de métricas de software, a figura abaixo
ilustra o grafo de fluxo de um programa de computador. Assinale a alternativa
correspondente ao valor de sua complexidade ciclomática (métrica de software
que fornece uma medida quantitativa da complexidade lógica de um programa):
a) 4
b) 6
c) 13
d) 25
e) 45
Página 3 de 3
Download