25
1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

Embed Size (px)

Citation preview

Page 1: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

1

Cap 4 – Métricas do Processo e Projeto de Software

Ricardo L Schneider

FES

Page 2: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

2

Medidas, métricas e indicadores

“… provêem uma indicação quantitativa de uma extensão, quantia, dimensão, capacidade, ou tamanho de um produto ou processo”

Ex: “número de erros encontrados em uma revisão de código”

Page 3: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

3

Medidas, métricas e indicadores

“… são medidas quantitativas do grau em que um sistema, componente ou processo possui um determinado atributo”

Ex: a média do número de erros encontrados por revisão

Page 4: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

4

Medidas, métricas e indicadores

“… são métricas ou combinação de métricas que provêem uma percepção interna do processo, projeto ou produto de software. Permite que o técnico ou gerente tome decisões apropriadas”

Ex: Seleção do método de teste, com base no resultado da experimentação de dois métodos diferentes

Page 5: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

5

Métricas de processoProduto

Pessoas Tecnologia

Condições de negócios

Caracteristicasdo cliente

Ambiente dedesenvolvimento

Processo

Page 6: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

6

Métricas de Projeto Métricas de processo são usadas com

objetivos estratégicos Métricas de projeto são usadas com

objetivos objetivos táticos: Estimativas de tempo e esforço com base em

experiências anteriores Aumento da qualidade e redução de defeitos Redução dos custos

Page 7: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

7

Medidas de software Medidas diretas:

LOC (Lines Of Code) Velocidade de execução Tamanho de memória utilizada, …

Medidas indiretas Funcionalidade Qualidade Complexidade Confiabilidade, …

Page 8: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

8

Métricas orientadas ao tamanho Número de linhas de código (LOC/KLOC) Erros por KLOC Defeitos por KLOC $ por KLOC Páginas de documentação por KLOC Erros por HM (homem.mês) KLOC / HM

Page 9: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

9

Métricas orientadas a funções Pontos de Função [Albrecht 1979]

“relação empírica entre medidas diretas de informações do domínio do software e a complexidade do desenvolvimento do software”

Page 10: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

10

Cálculo dos “Pontos de Função”

Pesos

Medidas Contagem Simples Médio Complexo Total

Entradas 20 16 15 3 4 6 214

Saídas 12 25 18 4 5 7 299

Consultas 25 15 12 3 4 6 207

Arquivos 5 12 8 7 10 15 275

Interfaces 3 2 0 5 7 10 29

ContTotal 1024

Page 11: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

11

Ajuste dos FPs

FP = ContTotal x [0,65 + 0,01 x (Fi)]

Fi (i = 1 a 14) >> (0 .. 5)

Fatores de complexidade

FP >> 65% a 135% de ContTotal

Page 12: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

12

Fatores de ajuste:1. Sistema precisa backup?

2. Comunicação de dados?

3. Processamento distribuido?

4. Performance é crítica?

5. Compartilha SO c/outros sistemas?

6. Precisa entrada on-line?

7. Usa múltiplas telas para cada entrada de dados?

8. Os arquivos mestres são atualizados on-line?

9. As entradas, saidas, arquivos ou consultas são complexas?

10. Processamento interno complexo?

11. Código reutilizável?12. Conversão/instalação

incluidas no projeto?13. Instalações múltiplas?14. Facilidade de mudanças?

Page 13: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

13

Métricas relacionadas a FP

Erros por FP Defeitos por FP $ por FP Páginas de documentação por FP FP por homem x mês ….

Page 14: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

14

Extensões dos FPs Pontos de Características (Feature Points)

Aplicados em sistemas e engenharia Contabiliza “algorítmos”

Pontos de Função 3D (Boeing) Sistemas de tempo real e engenharia Dados, Funções e Controle

Page 15: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

15

Reconciliação das métricas:Linguagem LOC/FP (média)- Assembler 320- C 128- COBOL 106- FORTRAN 106- Pascal 90- C++ 64- ADA95 53- Visual Basic 32- Smalltalk 22- Powerbuilder 16

Page 16: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

16

Métricas de qualidade de software Qualidade em “tempo real”! Medidas técnicas para avaliar a qualidade

de forma objetiva Força propulsora é medir erros e defeitos:

Erros por FP Erros descobertos por hora de revisão Erros descobertos por hora de teste

Page 17: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

17

Fatores que afetam a qualidade [McCall & Cavano – 1978] Operação do produto (usando-o)

Revisão do produto (modificando-o)

Transição do produto (modificando-o para trabalhar em outro ambiente – “portando-o”)

Page 18: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

18

Medindo a qualidade

Correção – defeitos por KLOC

– defeito == verificação de falta de conformidade com a especificação

Manutenibilidade – facilidade com que um programa pode ser corrigido, se um erro for encontrado – medidas indiretas: MTTC (mean time to change) ou Estrago – custo para corrigir defeito depois do software entregue

Page 19: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

19

Integridade – habilidade do sistema em resistir a ataques intencionais ou acidentais – ameaça >> probabilidade de ocorrência de um ataque num determinado tempo;– segurança >> probabilidade que um ataque seja repelido

integridade = [(1–ameaça)x(1–segurança)]

Page 20: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

20

Usabilidade amigabilidade1. Habilidade física ou intelectual necessária

para entender o sistema

2. Tempo necessário para se tornar eficiente no uso do sistema

3. O aumento líquido de produtividade obtido por quem domina o sistema

4. Avaliação subjetiva das atitudes dos usuários

Page 21: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

21

DRE (defect removal efficiency)DRE = E / (E + D)

E > erros encontrados antes da entrega

D > erros encontrados depois da entrega

do produto

DREi = Ei / (Ei + Di+1)

Page 22: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

22

Métricas integradas com o processo de software

ProcessoProcesso

ProjetoProjeto

ProdutoProduto

Coleta dedados

Coleta dedados

Computação das métricas

Computação das métricas

Avaliação das métricas

Avaliação das métricas

Medidas

Métricas

Indicadores

Page 23: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

23

Controle estatístico do processoErros / hora de revisão

+1dp

-1dp

15

12

9

6

3

0

Projetos1 3 5 7 9 11 13 15 17 19 21 23

Page 24: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

24

Programa de métricas de software

1. Identificar os objetivos do negócio

2. Identificar o que é necessário saber

3. Identificar os sub-objetivos

4. Identificar as entidades e atributos relacionados com os sub-objetivos

5. Formalizar os objetivos de medições

Page 25: 1 Cap 4 – Métricas do Processo e Projeto de Software Ricardo L Schneider FES

25

6. Identificar questões quantificáveis e indicadores relacionados para atender aos objetivos

7. Identificar os elementos de dados para atender os indicadores

8. Definir as medidas a serem usadas

9. Identificar as ações para implementar as medidas

10. Preparar o plano para implementar as medidas