Você está na página 1de 35

Introduo

Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Mtricas de Software
Plcido Antnio de Souza Neto1
1
Gerncia Educacional de Tecnologia da Informao
Centro Federal de Educao Tecnologia do Rio Grande do Norte

2006.1 - Planejamento e Gerncia de Projetos

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Introduo

Pergunta
Por que medir?
Obter auto conhecimento (interno);
Atender a uma presso imediata (externa);
Preparar-se para o futuro (tendncias).

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Introduo
Pergunta
Obter auto conhecimento?
Se no sabemos onde estamos. . .
No conseguimos. . .
. . . Saber para onde se quer ir.
. . . Saber o que ser feito.

importante ter saber o que se tem, o que se est produzindo e


aonde se quer chegar.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Introduo
Pergunta
Atender a uma presso imediata?
Saber o que fazer em uma necessidade a curto prazo.
Ex.: Ser aprovado na concorrncia de um projeto de
desenvolvimento de software.
importante saber o que se deve fazer HOJE.
. . . Saber para onde caminhar.

Se o ambiente de desenvolvimento no tiver uma estrutura


concreta de produo, como sero os prximos projetos?

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Introduo

Possveis Riscos . . .
Se no se consegue MEDIR . . . . . . No se consegue . . .
Controlar;
Gerenciar;
Melhorar;
Trabalhar.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Introduo
Pergunta
At onde medir?
Alinhar os objetivos dos projetos (necessidades) com os
objetivos da empresa.
Estabelecer um programa de mtricas:
Adequado;
Fundamentado;
Gradual.

No medir mais do que necessrio

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Introduo
Pergunta
Mas. . . Quais as vantagens de utilizar mtricas no desenvolvimento de
sistemas?
Diminuir:
Defeitos;
Prazo de entrega;
Disperdcio;
Custo;

Aumentar:
Satisfao do cliente;
Produtividade dos recursos;
Visibilidade das aes;
Qualidade do gerenciamento;
Qualidade
produto.
Plcidodo
Antnio
de Souza Neto
Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Tipos de Ambiente
Figura: Painel Comparativo.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Por que medir?


At onde medir?

Ambientes para Aplicaode Mtricas

Figura: Possibilidades de Mtricas.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Tipos de Mtricas

Pergunta
Como podemos classificas as mtricas em um projeto?
Mtricas Primrias (1a Ordem);
Mtricas Secundrias (2a Ordem);

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Mtricas Primrias (1a Ordem)

Apontamentos dos fatos (reais) -> MEDIDAS;


Informaes objetivas da realidade;
Exemplo: defeitos, horas trabalhadas, custo, reclamaes, . . . ;
Tendncia expresso numrica.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Riscos

Processo de captura -> credibilidade;


Meio de captura -> facilidade, entendimento, objetividade;
independncia da anlise -> confiabilidade.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Mtricas Secundrias (2a Ordem)

Indicadores (expressam um comportamento alm dos nmeros);


Resultado de uma relao de: Mtrica / Fator;
Informaes objetivas da realidade;
Exemplo: densidade de defeitos (defeitos por fase do projeto,
. . . ).

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Riscos

Processo de definio e anlise cos dados -> corretude;


Processo de uso -> utilidade, poder de explicao, relevncia.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Estruturas e Objetivos
Objetiva o Processo e suas atividades e os projetos e suas
atividades;
Medies Operacionais:
Processo;
Projeto;
Atividades;

Objetiva o ambiente de desenvolvimento, mudanas e


tendncias;
Medies tticas:
Tendncias;
Impactos (Tradeoffs);
Atributos;
Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Mtricas Primrias (1a Ordem)
Mtricas Secundrias (2a Ordem)
Estruturas

Estruturas e Objetivos

Objetiva comparaes com outras organizaes e melhorias


contnuas;
Medies estratgicas:
Benchmarking;
Melhoria Contnua;
Avaliao Econmica;

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Possibilidades de Mtricas em Software


Tamanho do software;
Quantidade de defeitos;
Complexidade do software;
Acesso e segurana;
Qualidade do produto;
Utilidade do produto;
Usabilidade do produto;
Estimativa de durabilidade;
Comportamento dos defeitos;
Taxa de inovao: novas funcionalidades (Entre verses);
Dentre outras . . . como . . .
Medir a quantidade de funcionalidades includas em um
software -> tamanho do produto
Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Mtodos para medir tamanho do produto

Linhas de cdigo - lines of code (Kloc);


Anlise de Pontos de funo (APF);
Constructive Cost Model (COCOMO);
Metodologias geis;
Pontos de casos de uso.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Mtodos para medir tamanho do produto


Mtricas para Planejamento e Gerenciamento

Dimenso dos produtos: Modelos, prottipos, documentos e


software;
Esforo de produo: Pessoas necessrias em um periodo de
tempo;
Produtividade: Quantidade produzida por esforo;
Defeitos: Nmero de erros encontrados;
Custo de produo: Valor do esforo de produo e correao de
erros.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Mtodos para medir tamanho do produto


LOC - Linha de Cdigo Fonte:
Mede todo o esforo necessrio para entregar um cdigo correto,
sem erro;
Depende da linguagem.

Funes:
Determinada pela funcionalidade do sistema;
Independe da linguagem.

Para qualquer abordagem importante:


Ter experincia;
Utilizar dados histricos.

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Mtodos para medir tamanho do produto

MTRICAS
Linhas de Cdigo (LOC)
Pontos por Funo (PF)
LOC/FP
Pessoa/Ms (PM)
Pessoa-Ms/LOC
Defeitos/LOC
Custo/LOC

OBJETIVOS
Dimenso do Produto
Dimenso do Produto
Dimenso do Produto
Esforo Humano
Produtividade Linear
Qualidade
Custo

Tabela: Outros tipos de mtricas

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Estimativa

Estimar a dimenso do programa;


Calcular o esfoo humano;
Aplicar penalidades de produtividade;
Realizar ajustes;
Calcular Reuso;
Identificar e corrigir defeitos.
OBS.: Muito importante ter base histrica de desenvolvimento

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Calculando Dimenso do programa


Linha de Cdigo

Definir funcionalidades bsicas (Use Cases) a partir dos


requisitos coletados;
Estimar LOC para cada caso de uso;
considervel dividir o sistema em partes:
Interface com usurio;
Lgica de Ngocio;
Base de dados.

importante fazer uma projeo do caso de uso implementado.


Exemplo mdia: Mdia = (melhor + pior + (4 * valor esperado))/6
Exemplo DP: (melhor - pior)/6
Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Exemplo LOC

Partes
Interface com o usurio
Lgica de negcio
Base de Dados

Melhor
1800
4500
1000

Pior
2650
5600
2000

Esperado
2400
5000
1500

Tabela: Exemplo

Plcido Antnio de Souza Neto

Mtricas de Software

Mdia
2341,67
5016,67
100

DP
141,76
183,33
166,67

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Calculando Dimenso do programa


Pontos por Funo

Depende da funcionalidade;
Baseado nos dados empricos e o software a ser desenvolvido;
definido a partir de:
No de entradas do usurio;
No de sadas do usurio;
No de consultas do usurio;
No de interfaces;
....

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Exemplo PF
Suponha que ser construido um sistema se submisso de
artigos:
Foram identificados dados de acordo com os requisitos coletados
inicialmente:
FP = (25*4)+(15*5)+(7*5)+(10*4) = 250FP
Entradas
Sadas
Consultas
Interfaces

Nmero
25
15
10
5

Fator de converso
4
5
4
7

Tabela: Exemplo
Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Calculando Dimenso do programa


Esforo Humano

Determina o nmero de pessoas para realizar uma atividade


num perodo de tempo;
Exemplo:
Construir um programa com 50 KLOC == 50.000 LOC;
Produtividade linear dos programadores: 2,4 Pessoa-ms/KLOC.

O esforo depende do tamanho do software;


A produtividade diminui em equipes maiores, principalmente
deviso necessidade de comunicao e interao.
Tamanho Equipe
1
10
100

Esforo
150 Pes.Mes
150 Pes.Mes
150 Pes.Mes

Prazo total
150 meses
15 meses
1,5 meses

MtricasRH
de Software
Tabela: Exemplo

Plcido Antnio de Souza Neto

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Variao entre as Linguagens


O nmero de linhas de cdigos e a produtividade variam de
acordo com a linguagem utilizada.
Linguagem de Programao
C++
Java
Delphi
VB
HTML

LOC por PF
53
46
18
24
14

Tabela: LOC por PF

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Exemplo
Calculando LOC e Esforo Humano

Suponha que o sistema de submisso de artigos est sendo


anlisado (Sistema feito em Java);
Com base na tabela de LOC-por-PF, tem-se 46 LOC por PF, para
programas feito em Java;
O Esforo humano tem como base PRODUTIVIDADE x No LOC;
Considerando que produtividade para o sistema de submisso
de artigos seja de 3,1 Pes.Mes/LOC e que existem 280 PF a
partir da anlise prvia.
Pergunta
Qual ser o esforo para produzir este sistema?
Qual quantidade de linhas de cdigo?
Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Exemplo
Calculando LOC e Esforo Humano

Resposta
LOC = FP*(LOCporFP)
LOC = 280*46
LOC = 12,88 KLOC (12.880 LOC)
Esforo = Produtividade*KLOC
Esforo = 3,1 * 12,88
Esforo = 39,928 PM

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Conceito
Tamanho do produto
Estimativa
Linha de Cdigo
Pontos por Funo
Esforo Humano
Linguagens
Exemplo

Exemplo
Calculando LOC e Esforo Humano

Resposta
Com 7 membros na equipe a quantidade de meses para construir o
sistema ?
QtdMES = Esforo / No Membros
QtdMES = 39,928 PM / 7
QtdMES = 5,7 Meses

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Aplicando Penalidades
Determinou-se empiricamente que a produtividade diminui com o
aumento do tamanho do software;
Esta produtividade depende do tipo de sistema de acordo com a
tabela abaixo;
Tipos de Sistema
Sistema Web
Sistema Militar
Sistema embutido

Fator de Penalidade
1,030
1,072
1,110

Tabela: Fator Exponencial de Penalidade

Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Exemplo
Calculando Fator de Penalidade

Resposta
Esforo = Produtividade*KLOC
Esforo = 3,1 * 12,88
Esforo = 39,928 PM

EsforoPEN = (Esforco)(fator )
EsforoPEN = (39, 928)(1,030)
EsforoPEN = 44,598 PM
QtdMES = 44,598 PM PM / 7
QtdMES = 6,37 Meses
Plcido Antnio de Souza Neto

Mtricas de Software

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Aplicando Penalidades
O custo e os prazos calculado em funo do esforo, da equipe
e do custo da mo de obra;
Custo de mo de obra (CM) dado em Valor/PM;
Exemplo:
Programa com 12,88 KLOC;
Esforo de 44,598 PM;
Com uma equipe de 7 programadores;
Salrio mensal R$ 1780,00.
Esforo
44,598
44,598

Custo MO
R$ 1780,00
R$ 450,00

Equipe
7
7

Prazo
6 Meses
6 Meses

Custo Mensal
R$ 12.460,00
R$ 3.150,00

Tabela: Exemplo Custo


Plcido Antnio de Souza Neto

Mtricas de Software

Custo Total
R$ 74.760,00
R$ 18.900,00

Introduo
Tipos de Mtricas
Mtricas de Software
Aplicando Penalidades
Custos e Prazos
Concluso

Concluso
importante ter saber o que se tem, o que se est produzindo e
aonde se quer chegar.
importante estabelecer um programa de mtricas;
Mtricas so classificadas em:
Mtricas Primrias (1a Ordem);
Mtricas Secundrias (2a Ordem);

As mtricas so utilizadas para:


Estimar a dimenso do programa;
Calcular o esfoo humano;
Aplicar penalidades de produtividade;
Realizar ajustes;
Calcular Reuso;
Identificar e corrigir defeitos.
Plcido Antnio de Souza Neto

Mtricas de Software

Você também pode gostar