You are on page 1of 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 do produto. Neto Plcido Antnio de Souza 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 classicas 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 -> conabilidade.

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 denio 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; Identicar 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

Denir 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

Mdia 2341,67 5016,67 100

DP 141,76 183,33 166,67

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


Pontos por Funo

Depende da funcionalidade; Baseado nos dados empricos e o software a ser desenvolvido; denido 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 identicados 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

Plcido Antnio de Souza Neto

Mtricas de Software Tabela: Exemplo RH

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 Custo Total R$ 74.760,00 R$ 18.900,00

Tabela: Exemplo Custo


Plcido Antnio de Souza Neto Mtricas de Software

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 classicadas 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; Identicar e corrigir defeitos.
Plcido Antnio de Souza Neto Mtricas de Software

You might also like