Você está na página 1de 24

Engenharia de Software II

Aula 16

http://www.ic.uff.br/~bianca/engsoft2/
Aula 16 - 14/05/2006 1

Correo da Prova
1. O que uma atividade guarda-chuva? D dois exemplos. So atividades aplicveis durante todo o processo de software.
Exemplos: medio, gesto de risco, testes, revises formais.

Aula 16 - 14/05/2006

Correo da Prova
2. Qual a principal desvantagem de se aperfeioar um prottipo para torn-lo um produto de produo? A principal desvantagem gerar um produto final de baixa qualidade porque:
O prottipo feito para demonstrar funcionalidade rapidamente, logo seu projeto raramente bem feito. As escolhas feitas para o prottipo (linguagem, algoritmos, arquitetura) raramente so apropriadas para o produto final.
Aula 16 - 14/05/2006 3

Correo da Prova
3. Dadas as caractersticas de cada projeto de software abaixo, indique qual o modelo de processo o mais apropriado. a) Diferentes nveis de funcionalidade e pouca disponibilidade de mo-de-obra: incremental. b) Requisitos fixos, oramento fixo e funcionalidade simples: cascata. c) Oramento flexvel, requisitos mal definidos e cronograma flexvel: espiral. d) Requisitos fixos, funcionalidade modularizvel, prazos curtos e grande disponibilidade de mo de obra: RAD.
Aula 16 - 14/05/2006 4

Correo da Prova
4. a) Sobre o processo XP (Extreme Programming): Os testes de unidade devem ser criados antes ou depois do cdigo? Por qu? Antes. Porque o ento o desenvolvimento fica mais orientado para passar nos testes, ou seja, cumprir os requisitos. Alm disso, facilita a aplicao dos testes assim que o cdigo fica pronto. Cite uma vantagem da programao em pares. A principal vantagem o controle de qualidade em tempo real. Enquanto um programador escreve o cdigo, o outro verifica se o programa segue as normas de qualidade. Alm disso, a programao em pares possibilita a resoluo de problemas em tempo real.
Aula 16 - 14/05/2006 5

b)

Correo da Prova
5. a) Sobre estratgias de teste: O que um pseudo-controlador (driver)? um programa que recebe os dados do caso de teste, passa os dados ao componente a ser testado e imprime os resultados relevantes. O que um pseudo-controlado (stub)? um programa que substitui mdulos que so chamados pelo componente a ser testado. Ele tem a mesma interface do mdulo sendo substitudo, mas com o mnimo de funcionalidade. Cite uma vantagem e uma desvantagem da integrao descendente. Vantagem: demonstrao de capacidade funcional logo no incio. Desvantagem: necessidade de criao de pseudo-controlados.

b)

c)

Aula 16 - 14/05/2006

Correo da Prova
6. Sobre o fluxograma ao lado: a) Transforme o fluxograma em um grafo de fluxo.
A,B C E F H
Aula 16 - 14/05/2006 7

D G

Correo da Prova
b) Calcule a complexidade ciclomtica. V(G) = E N + 2 = 97+2=4
E A,B C R1 R2 F H D R3 R4 G

V(G) = 4 regies V(G) = P + 1 = 3 + 1 = 4


Aula 16 - 14/05/2006

Correo da Prova
c) D um conjunto-base de caminhos independentes para esse grafo de fluxo. A,B,C,E,H A,B,C,F,H A,B,D,H A,B,D,G,H
C E F H

A,B D G

Aula 16 - 14/05/2006

Correo da Prova
d) Prepare casos de teste para exercitar cada caminho independente, especificando o valor de x na entrada e na sada. A,B,C,E,H: entrada x=1, sada x=2 A,B,C,F,H: entrada x=3, sada x=4 A,B,D,H: entrada x=5, sada x=5 A,B,D,G,H: entrada x=7, sada x=9
Aula 16 - 14/05/2006 10

Correo da Prova
7. a) Sobre a anlise de valor limite (BVA): Qual o objetivo da BVA? O objetivo da BVA testar o funcionamento do programas nos valores limites das classes de equivalncia de entrada, onde normalmente ocorrem erros. Quando uma condio de entrada especifica um intervalo limitado pelos valores a e b, que casos de teste devem ser criados segundo a BVA? Casos de teste com valores a e b, e imediatamente acima e abaixo de a e de b (a-1, a+1, b-1 e b+1).
Aula 16 - 14/05/2006 11

b)

Correo da Prova
8. Que falhas so detectadas pelo teste de matriz ortogonal e no por testes de modo singular? D uma justificativa. Falhas de modo duplo, isto , falhas que involvem uma combinao de dois parmetros. O teste de modo singular testa cada parmetro independentemente, enquanto o teste de matriz ortogonal garante que cada combinao de dois parmetros testada.
Aula 16 - 14/05/2006 12

Correo da Prova
9. Na mtrica ponto por funo, qual a diferena entre uma entrada externa e uma consulta externa? A entrada externa geralmente modifica algum arquivo lgico interno e fornece informao de controle. A consulta externa resulta na gerao de uma sada imediata e no modifica nenhum arquivo.
Aula 16 - 14/05/2006 13

Correo da Prova
10. Explique como as seguintes mtricas CK so calculadas: a) Acoplamento entre as classes de objetos. calculada atravs das colaboraes listadas para cada classe. Soma-se o nmero de colaboraes para cada classe. a) Falta de coeso em mtodos. o nmero de mtodos que tm acesso a um ou mais dos mesmos atributos. Para cada atributo, verifica-se quantos mtodos lem ou modificam o atributo.
Aula 16 - 14/05/2006 14

Ementa
Processos de desenvolvimento de software (Caps. 2, 3 e 4 do Pressman) Estratgias e tcnicas de teste de software (Caps. 13 e 14 do Pressman) Mtricas para software (Cap. 15)
Mtricas para o modelo de anlise Mtricas para o modelo de projeto Mtricas de cdigo fonte Mtricas para teste

Gesto de projetos de software: conceitos, mtricas, estimativas, cronogramao, gesto de risco, gesto de qualidade e gesto de modificaes Reengenharia e engenharia reversa

Aula 16 - 14/05/2006

15

Mtricas para Projeto Orientada a Objeto


Mtricas orientadas a classe
Mtricas CK Mtricas MOOD Mtricas de Lorenz e Kidd

Mtricas orientadas a operao

Aula 16 - 14/05/2006

16

Mtricas MOOD
Fator de herana de mtodos (MIF)
Mede o grau em que a arquitetura de classes de um sistema OO faz uso de heranas. MIF = i Mh(Ci) / i Mt(Ci) onde Mh o nmero de mtodos herdados e Mt o nmero total de mtodos (herdados + definidos).

Fator de acoplamento (CF)


D uma indicao das conexes entre os elementos do projeto OO. CF = i j _cliente(Ci,Ci) / (n2-n) onde n o nmero de classes.
Aula 16 - 14/05/2006 17

Mtricas de Lorenz e Kidd


Em um livro sobre mtricas OO, Lorenz e Kidd dividem as mtricas baseadas em classe em quatro categorias amplas:
Tamanho: contagem de atributos e operaes para uma classe individual e valores mdios para o sistema. Herana: modo pelo qual as operaes so reusadas ao longo da hierarquia de classes. Estrutura interna: coeso e operao. Estrutura externa: acoplamento.
Aula 16 - 14/05/2006 18

Mtricas Orientadas a Operao


So mtricas para os mtodos (operaes) que residem dentro de uma classe. Exemplos:
Tamanho mdio da operao: o nmero de mensagens (chamadas de outros mtodos). Complexidade da operao: pode ser calculada usando qualquer das mtricas de complexidade propostas para software convencional (por exemplo, complexidade ciclomtica). Nmero mdio de parmetros por operao.
Aula 16 - 14/05/2006 19

Mtricas de Cdigo-Fonte
Halstead foi o primeiro cientista a propr leis quantitativas para o desenvolvimento de software em 1977. A utilidade dessas mtricas um assunto controverso na comunidade de engenharia de software. Elas so usadas principalmente para estimar o esforo de manuteno do cdigo.
Aula 16 - 14/05/2006 20

Mtricas de Halstead
Baseadas nas seguintes medidas:
n1: nmero de operadores (aritmticos e de fluxo de controle) distintos que aparece em um programa. n2: nmero de operandos (variveis e constantes) distintos que aparece em um programa. N1: nmero total de ocorrncias de operador. N2: nmero total de ocorrncias de operando. Tamanho: N = N1 + N2 Vocabulrio: n = n1 + n2 Volume: V = N log2n (informao em bits necessria para especificar o programa). Dificuldade: D = (n1/2)(N2/n2) Esforo: E = V*D
Aula 16 - 14/05/2006 21

A partir dessas medidas, cinco mtricas so derivadas:

Mtricas para Teste


As mtricas de complexidade podem ser utilizadas para estimar o esforo de teste.
Complexidade ciclomtica Coeso e acoplamento do projeto OO

O esforo de teste tambm pode ser estimado usando a mtrica de esforo de Halstead.
A porcentagem total de teste a ser alocada a um mdulo k pode ser estimada usando a seguinte relao:
% do esforo de teste (k) = e(k)/ie(i)
Aula 16 - 14/05/2006 22

Mtricas para Teste OO


As mtricas OO que tem influncia direta na testabilidade do sistema so:
Falta de coeso em mtodos Porcentagem pblica e protegida
% de atributos que so pblicos ou protegidos

Acesso pblico a dados


Nmero de classes que podem acessar atributos de outra classe.

Nmero de classes raiz Convergncia (fan-in)


Indica se uma classe herda de mais de uma classe raiz.

Nmero de filhos Profundidade da rvore de herana


Aula 16 - 14/05/2006 23

Mtricas de Manuteno
O ndice de maturidade de software (SMI) fornece uma indicao da estabilidade de um produto de software, com base nas modificaes. Sendo:
MT = nmero de mdulos na verso corrente Fc = nmero de mdulos na verso corrente que foram modificados Fa = nmero de mdulos na verso corrente que foram adicionados Fd = nmero de mdulos na verso anterior que foram descartados na verso corrente.

SMI = [MT (Fa + Fc + Fd)]/MT


Aula 16 - 14/05/2006 24

Você também pode gostar