Escolar Documentos
Profissional Documentos
Cultura Documentos
O Que São MÉTRICAS DE SOFTWARE
O Que São MÉTRICAS DE SOFTWARE
Maio / 2004
Antonio Carlos Tonini
AGENDA
PARTE I
Conceitos de mtricas
Contexto de aplicao
Por que medir ?
At onde medir ?
Tipos de mtricas
Processos de medio
Deciso Ao Objetivo
Organizao
Planejamento Controle
Direo
4/57
Mtricas de Software
Motivao
5/57
Mtricas de Software
Motivao
No se pode gerenciar o que no se pode
medir.
Tom De Marco
Se voc no sabe para onde voc quer ir,
qualquer caminho voc pode seguir. Se voc
no sabe onde voc est, um mapa no vai
ajudar!.
Roger Pressman
6/57
Mtricas de Software
O que so mtricas de
software?
Uma mtrica a medio de um atributo (propriedades ou
caractersticas ) de uma determinada entidade (produto,
processo ou recursos). Exemplos:
Tamanho do produto de software (ex: Nmero de Linhas de
cdigo)
Nmero de pessoas necessrias para implementar um caso de uso
Nmero de defeitos encontrados por fase de desenvolvimento
Esforo para a realizao de uma tarefa
Tempo para a realizao de uma tarefa
Custo para a realizao de uma tarefa
Grau de satisfao do cliente (ex: adequao do produto ao
propsito, conformidade do produto com a especificao)
7/57
Mtricas de Software
Por que medir ?
Motivao
Se no ficaram as
raizes, como ser em
um prximo projeto ?
Antonio Carlos Tonini
Por que medir ?
Risco
Se no conseguimos MEDIR...
No conseguimos ...
... CONTROLAR
... GERENCIAR
... MELHORAR
... TRABALHAR
13/57
Mtricas de Software
Por que medir software?
Identificar as melhores prticas de desenvolvimento de
software
Embasar solicitaes de novas ferramentas e treinamento
Avaliar o impacto da variao de um ou mais atributos do
produto ou do processo na qualidade e/ou produtividade
Formar uma baseline para estimativas
Melhorar a exatido das estimativas
Oferecer dados qualitativos e quantitativos ao
gerenciamento de desenvolvimento de software, de forma a
realizar melhorias em todo o processo de desenvolvimento
de software
14/57
Mtricas de Software
Por que medir ?
16/57
Mtricas de Software
Em resumo...
Uma mtrica deve ser:
Vlida: quantifica o que queremos medir
Confivel: produz os mesmos resultados dadas as
mesmas condies
Prtica: barata, fcil de computar e fcil de
interpretar
Dois contextos para medio de software
Processo: ex. produtividade
Produto: ex. qualidade
17/57
Mtricas de Software
Conceitos
Medida: fornece uma indicao quantitativa
da exteno, quantidade, dimeno,
capacidade ou tamanho de algum atributo de
um produto ou processo. Ex 5
Medio: ato de determinao de uma
medida. Ex procurei nos documentos do projeto
Mtrica: medida quantitativa do grau em que
um sistema se encontra em relao a um
determinado atributo. Ex 5 erros do programador P
Indicadores: mtrica ou combinao de
mtricas que fornece uma compreenso de
um processo, projeto, ou produto. 1
Tipos de mtricas
Mtricas Primrias (1a. Ordem):
Mtrica Fator
Quantitativa Qualitativa
Mtricas primrias Mtricas secundrias
Produtividade Qualidade
Direta Indireta
Antonio Carlos Tonini
Categorizao de Mtricas
Mtricas diretas (fundamentais ou bsicas)
Medida realizada em termos de atributos
observados (usualmente determinada pela
contagem)
Ex.: custo, esforo, no. linhas de cdigo,
capacidade de memria, no. pginas, no.
diagramas, etc.
Mtricas indiretas (derivadas)
Medidas obtidas a partir de outras mtricas
Ex.: complexidade, eficincia, confiabilidade,
facilidade de manuteno
24/57
Mtricas de Software
Categorizao de Mtricas
Mtricas orientadas a tamanho
So medidas diretas do tamanho dos artefatos de
software associados ao processo por meio do qual
o software desenvolvido.
Ex.: esforo, custo, no. KLOC, no. pginas de
documentao, no. erros
Mtricas orientadas por funo
Consiste em um mtodo para medio de software
do ponto de vista do usurio, determinando de
forma consistente o tamanho e a complexidade de
um software.
25/57
Mtricas de Software
Categorizao de Mtricas
Mtricas de produtividade
Concentram-se na sada do processo de engenharia de software.
Ex.: no. de casos de uso/iterao.
Mtricas de qualidade
Oferecem uma indicao de quanto o software se adeqa s
exigncias implcitas e explcitas do cliente.
Ex.: erros/fase
Mtricas tcnicas
Concentram-se nas caractersticas do software e no no processo
por meio do qual o software foi desenvolvido.
Ex.: complexidade lgica e grau de manutenibilidade
26/57
Mtricas de Software
Possveis problemas com
mtricas
Ex: Comparar a produtividade de engenheiros em termos de
linha de cdigo
Est sendo utilizado a mesma unidade de medida?
O que uma linha de cdigo vlida?
O contexto considerado o mesmo?
Todos os engenheiros so familiarizados com a linguagem de
programao?
O que se quer realmente o tamanho do cdigo?
E a qualidade do cdigo?
Como o resultado ser interpretado?
Produtividade mdia de um engenheiro?
O que se quer com o resultado?
Comparar a produtividade do processo de software?
27/57
Mtricas de Software
Teoria da Medio
Teoria sobre mtricas pode ajudar a resolver
estes problemas.
28/57
Mtricas de Software
Relaes Empricas
Ajudam a observar as relaes do tipo
verdadeiro/falso entre entidades do mundo
real
Ex. Relaes empricas entre o atributo altura
das pessoas
Binria: O Super-homem mais alto do que papai
Noel
Unria: O Super-homem alto
Ternria: O Super-homem mais alto do que
papai Noel e mame Noel
29/57
Mtricas de Software
Medida
Medida uma funo de mapeamento
Super-homem 2.10m
Papai Noel 1.65m
Mame Noel 1.50m
Atributos do Um smbolo
mundo real em um
(domnio) conjunto com
relaes
matmaticas
30/57
conhecidasMtricas de Software
Medio
a atribuio de uma medida (atravs de um
smbolo) a um atributo do mundo real
Propsito: manipular smbolos na faixa =>
determinar concluses sobre os atributos do
domnio
Para ser precisa, a medio deve especificar
Domnio: Ser medido a largura ou altura das
pessoas?
Faixa: A medida da altura foi feita em m ou cm?
Regras de mapeamento: Ser permitido medir
altura considerando pessoas caladas?
31/57
Mtricas de Software
Escala
Representa os smbolos na faixa de uma
medida mais as manipulaes permitidas
Ex. de manipulaes:
Mapeamento: transformar smbolos em um
conjunto em outros smbolos em outro conjunto.
{verdadeiro, falso} {1, 0}
32/57
Mtricas de Software
Tipos de Escala
33/57
Mtricas de Software
Resumo:
Mtrica Produtos
Medida Desempenho
Taxa de defeitos
Unidade de medida Processos
Tempo de execuo
Escala Nmero de inadequaes
Medio Recursos
Disponibilidade da
infraestrutura
Taxa de utilizao dos recursos
Experincia da equipe
Entender Controlar
Processos,
Produtos e
Servios de
Software
Avaliar Prever
39/57
Mtricas de Software
Os Quatros papis de Medio
Entender
Mtricas ajudam a entender o comportamento e funcionamento de
processos, produtos e servios de software
Avaliar
Mtricas podem ser utilizadas para tomar decises e determinar o
estabelecimento de padres, metas e critrios de aceitao
Controlar
Mtricas podem ser utilizadas para controlar processos, produtos e
servios de software
Prever
Mtricas podem ser utilizadas para prever valores de atributos
40/57
Mtricas de Software
Conceito
METRICAS inferncias sobre os processos
de trabalho que traduzem:
a priori
ESTIMATIVAS
expectativas
Prever o Futuro
METRICAS
a posteriori
DESEMPENHO eficincia
eficcia
Avaliar o Passado
Antonio Carlos Tonini
Possibilidades
Mtricas possveis no desenvolvimento
de sistemas
Recursos Produtos Clientes Processo Gesto
(software)
Como esto Quanto mede Como est Como esto Como est
sendo e como est a sendo recebido sendo sendo feio a
utilizados os qualidade dos e percebido os realizados os gesto do
recursos produtos de trabalhos e os trabalhos de contexto de TI
disponveis software produtos desenvolvimento
de software
Estabelecer um programa de
mtricas: adequado, plausvel,
factvel e gradual
Vantagens
Tabulao
GQM !!
Avaliao
Comparao
Validao e
verificao das Validao e verificao
mtricas em si das mtricas no
contexto
Antonio Carlos Tonini