aula 05 - medições e métricas de software · 2016. 9. 17. · aula 04 medições e métricas de...

27
Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0

Upload: others

Post on 09-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Aula 04

Medições e Métricas de Software

Professor: José Alexandre Macedo

versão: 1.0

Page 2: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Medição de Software

•Derivar valor numérico para algum

atributo do produto (ou processo) de

software

Page 3: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Medição de Software

•Comparando esses valores é possível

tirar conclusões sobre a qualidade de

software (ou do processo)

Page 4: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Medição de Software

•Exemplo:• A empresa deseja utilizar uma nova ferramenta para

testar software• Antes de adotar a ferramenta você registra o número

de defeitos descobertos em um dado tempo• Depois de introduzir a ferramenta você repete o

processo• Se forem encontrados mais defeitos no mesmo

intervalo de tempo a ferramenta pode ter sido útil

Page 5: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Medição de Software

•Duas maneiras de utilizar medições de software•Para fazer previsões gerais sobre um sistema•Para identificar componentes anômalos

Page 6: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Medição de SoftwarePara fazer previsões gerais sobre um sistema

•Medindo as características dos componentes do sistema (e agregando as medições) é possível obter uma estimativa geral de um atributo de sistema (ex.:número de defeitos no sistema)

Page 7: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Medição de SoftwarePara identificar componentes anômalos

•Podem identificar componentes individuais com características que desviem de alguma regra•Exemplo: Medir os componentes para descobrir os que possuem maior complexidade, supondo que esses terão mais erros e focar neles no processo de revisão

Page 8: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Software

•É qualquer tipo de medição que se referia a•Um sistema de software•Processo•Documentação

Page 9: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Software

•Exemplos•medidas de tamanho de um produto em linhas de

código• índice de Fog (facilidade de leitura)•Número de defeitos relatados em produto entregue•Número de pessoa-dia necessário para

desenvolver

Page 10: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Software

•Grandes empresas usam métricas para apoiar o processo de gerenciamento de qualidade

Page 11: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Software

• Podem ser métricas de• Controle• Associadas ao processo de software• Ex.:esforço médio e tempo necessário para reparar os defeitos

reportados• Predição• Associadas com produtos de software• Complexidade de um módulo, extensão média de

identificadores, numero de atributos e métodos associados com um objeto

• Influenciam na tomada de decisão de gerenciamento

Page 12: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Software

•Métricas de Controle e de Predição

Influenciam na tomada de decisão de gerenciamento

Page 13: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Predição

•Geralmente não é possível medir os atributos de qualidade de software diretamente• facilidade de: manutenção, compreensão, uso• perspectiva sobre o software• Ao invés, medimos atributos internos do software e

buscamos relações

Page 14: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Predição

•Geralmente não é possível medir os atributos de qualidade de software diretamente

Page 15: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Predição

•Três condições devem ser mantidas neste caso:•Medir atributo interno com precisão•Deve existir um relacionamento entre o atributo

externo e o atributo interno•O relacionamento deve ser validado e expresso

por formula ou modelo

Page 16: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métrica de Predição

•O relacionamento deve ser validado e expresso por formula ou modelo• Identificação do formato funcional do modelo pela

análise de dados coletados• Identificação de parâmetros que devem ser

incluídos no modelo• Ajuste dos parâmetros usando dados existentes

Page 17: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Parte do processo de controle de qualidade

Page 18: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Escolher medições a serem realizadas

•O que as medições devem responder?

•Quais medições usar?

Page 19: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Selecionar componentes a serem

avaliados• Selecionar um conjunto representativo de

componentes para medição•Ou, componentes críticos

Page 20: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Medir características de componentes

•Componentes selecionados são medidos

•Valores de métricas calculados

•Pode-se usar ferramentas aqui

Page 21: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Identificar medições anômalos

•Comparar as medições dos componentes

•Procurar valores incomuns

• Indicio de problemas

Page 22: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Analisar componentes anômalos

• Examinar e decidir se os valores anômalos

comprometem a qualidade

Page 23: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Processo de Medição

•Acumular e registrar as medições em

um banco de dados é impotante...

Page 24: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métricas de Produto

•Relacionadas as características do

software

•Se dividem em duas classes•Métricas dinâmicas

•Métricas Estáticas

Page 25: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métricas de Produto

•Métricas dinâmicas (eficiência e confiabilidade)• Coletadas em medições quando o programa está em execução

•Métricas estáticas (complexidade, facilidade

compreensão e manutenção)• Coletadas em medições realizadas em representações do sistema

(projeto, documentação)

Page 26: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Métricas de Produto

•Métricas Estáticas• Fan in/Fan out (número de funções que chamam alguma outra

função/número de funções chamadas pela função X)

• Extenção de código (métrica muito confiável)

• Complexidade ciclomática (complexidade de controle de um programa)

• Extensão de identificadores (quanto maior melhor)

• Profundidade de aninhamentos (difícil compreender, propensa a erros)

• Índice de Fog (extensão média das palavras e sentenças em documentos)

Page 27: Aula 05 - Medições e Métricas de Software · 2016. 9. 17. · Aula 04 Medições e Métricas de Software Professor: José Alexandre Macedo versão: 1.0. Medição de Software •Derivar

Fim