Upload
internet
View
108
Download
2
Embed Size (px)
Citation preview
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”
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
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
5
Métricas de processoProduto
Pessoas Tecnologia
Condições de negócios
Caracteristicasdo cliente
Ambiente dedesenvolvimento
Processo
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
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, …
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
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”
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
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
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?
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 ….
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
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
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
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”)
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
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)]
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
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)
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
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
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
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