Você está na página 1de 45

MTRICAS DE SOFTWARE

Antonio Carlos Tonini


Alexandre Vasconcelos
Pietro

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

Antonio Carlos Tonini


Fundamentao
MTRICAS
Processo de ADMINISTRAR
inferncias
Recursos

Deciso Ao Objetivo

Organizao

Planejamento Controle

Direo

Antonio Carlos Tonini


Objetivos
Entender porque medio importante para
avaliao e garantia da qualidade de
software
Entender as abordagens principais de
mtricas e como elas so utilizadas
Conhecer algumas mtricas e suas aplicaes
Entender o que um Plano de Mtricas e
como escrever um

4/57
Mtricas de Software
Motivao

Um dos objetivos bsicos da Engenharia de Software : a transformao da


criao de sistemas software de uma maneira artstica, indisciplinada e pouco
entendvel para uma forma devidamente controlada, quantificada e
previsvel

Mtricas de Software um assunto discutido h mais de 20 anos na engenharia de


software ... e no entanto no verificada sua utilizao, na prtica, pela grande maioria
dos projetos de construo de software

Pesquisas realizadas em empresas de software indicam que mais da metade


de grandes projetos de software se deparam com algum tipo de atraso,
excesso de custo ou prazo ou algum fracasso na execuo quando
implantado Falta de
controle dos projetos

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 ?

obter auto-conhecimento (interna)


atender a uma presso imediata (externa)
preparar-se para o futuro (tendncia)

Motivao

Antonio Carlos Tonini


Por que medir ?
Obter auto conhecimento ?

Se no sabemos onde estamos...


No conseguimos ...
... Saber para onde queremos ir
... Saber o que faremos

1. Saber o que temos, o que somos


Viso
e aonde estamos
Presente

Antonio Carlos Tonini


Por que medir ?
Imediato para atender uma presso de
momento
(por exemplo: ganhar uma concorrncia)

2. Saber o que fazer hoje


e
para onde caminhar

Se no ficaram as
raizes, como ser em
um prximo projeto ?
Antonio Carlos Tonini
Por que medir ?

Tendncia de futuro para se preparar


para atender melhor no futuro

2. Saber o que fazer hoje


e para onde caminhar e
como mudar de direo

Antonio Carlos Tonini


Por que medir ?

Risco

Se no conseguimos MEDIR...
No conseguimos ...
... CONTROLAR
... GERENCIAR
... MELHORAR
... TRABALHAR

Antonio Carlos Tonini


Por que medir software?
Entender e aperfeioar o processo de desenvolvimento
Melhorar a gerncia de projetos e o relacionamento com
clientes
Reduzir frustraes e presses de cronograma
Gerenciar contratos de software
Indicar a qualidade de um produto de software
Avaliar a produtividade do processo
Avaliar os benefcios (em termos de produtividade e
qualidade) de novos mtodos e ferramentas de
engenharia de software
Avaliar retorno de investimento

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 ?

Antonio Carlos Tonini


Propriedades desejveis de
uma mtrica
Facilmente calculada, entendida e testada
Passvel de estudos estatsticos
Expressa em alguma unidade
Obtida o mais cedo possvel no ciclo de vida
do software
Passvel de automao
Repetvel e independente do observador
Sugere uma estratgia de melhoria

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):

Apontamentos dos fatos (reais) MEDIDAS


Informaes objetivas da realidade
Exemplo: defeitos, horas trabalhadas, custo,
reclamaes, ...
Tendncia expresso numrica
O nmero, medida que quantifica, o princpio da ordem e da
harmonia. A realidade absolutamente objetiva e comensurvel e o uso
dos nmeros para explic-la evita o dissenso e a controvrsia.
(Pitgoras de Samos, 572?-510? a.c.)

Antonio Carlos Tonini


Tipos de mtricas

Mtricas Secundrias (2a. Ordem):

Indicadores (expressam um comportamento


alm dos nmeros)

Resultado de uma relao de:

Mtrica Fator

Exemplo: densidade de defeitos (defeitos por fase do projeto),


...

Antonio Carlos Tonini


Tipos de Mtricas
Riscos Mtricas primrias

processo de captura credibilidade


meio de captura facilidade, entendimento,
objetividade
independncia do apontador confiabilidade

Riscos Mtricas secundrias

processo de tabulao corretude


processo de uso utilidade, poder de explicao,
relevncia

Antonio Carlos Tonini


Tipos de Mtricas
CRITRIOS

Priorizao: grade de importncia


x urgncia
Caractersticas intrnsecas:
natureza, comportamento
Caractersticas extrnsecas:
relacionamento com o contexto da
medio

Antonio Carlos Tonini


Tipos de mtricas

Recursos Produtos Clientes Processo Gesto


(software)

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

Nome Caractersticas Exemplos


Nominal Smbolos no ordenados {verdadeiro, falso}

Ordinal Smbolos ordenados {simples, mdio,


complexo}
Intervalar Diferena entre qualquer par Celsius e Fahrenheit
consecutivo de valores
preservada
Ratio Diferena entre qualquer par Kelvin, tamanho, largura
(razo) consecutivo de valores
preservada. Possui 0 absoluto.

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

(Fenton e Pfleeger, 1997)


Resumo
Mtrica Valor coletado
Medida automaticamente ou
manualmente a partir da
Unidade de medida entidade que est sendo
Escala caracterizada
Medio
Resumo
Mtrica
Medida
Unidade de medida Agrega informao
medida.
Escala Ex.: cm, metros, minutos,
Medio
Resumo
Mtrica
Medida
Unidade de medida
Nominal
Escala Ordinal
Medio Intervalo
Racional
Resumo
Mtrica
Medida
Unidade de medida
Escala Ato de coletar e registrar
Medio medidas.
Ex.: Contagem e registro de
discrepncias encontradas em
um documento de requisitos;
Extrao do tempo total
investido em uma determinada
atividade, etc
Os Quatros papis de Medio

Segundo Humphrey, so quatro os principais papis de


Medies de Software:

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

Antonio Carlos Tonini


At onde medir ?

Alinhar os objetivos das inferncias


com os objetivos da empresa

Estabelecer um programa de
mtricas: adequado, plausvel,
factvel e gradual

No medir mais do que necessrio

Antonio Carlos Tonini


At onde medir ?

Vantagens

Defeitos Satisfao dos cliente


Prazo de Entrega Produtividade dos
Desperdcio recursos
Custo Visibilidade das aes
Gerenciabilidade

Antonio Carlos Tonini


Processos de medio
Produo dos Produo Produo das
tipos de mtricas das mtricas
mtricas secundrias
primrias
Definio

Coleta Ciclo peridico

Tabulao
GQM !!
Avaliao

Comparao
Validao e
verificao das Validao e verificao
mtricas em si das mtricas no
contexto
Antonio Carlos Tonini

Você também pode gostar