Upload
nguyentruc
View
216
Download
0
Embed Size (px)
Citation preview
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métricas de Software
Plácido Antônio de Souza Neto1
1Gerência Educacional de Tecnologia da InformaçãoCentro Federal de Educação Tecnologia do Rio Grande do Norte
2006.1 - Planejamento e Gerência de Projetos
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Introdução
PerguntaPor que medir?
Obter auto conhecimento (interno);
Atender a uma pressão imediata (externa);
Preparar-se para o futuro (tendências).
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Introdução
PerguntaObter auto conhecimento?
Se não sabemos onde estamos. . .Não conseguimos. . .
. . . Saber para onde se quer ir.
. . . Saber o que será feito.
É importante ter saber o que se tem, o que se está produzindo eaonde se quer chegar.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Introdução
PerguntaAtender a uma pressão imediata?
Saber o que fazer em uma necessidade a curto prazo.Ex.: Ser aprovado na concorrência de um projeto dedesenvolvimento de software.
É importante saber o que se deve fazer HOJE.. . . Saber para onde caminhar.
Se o ambiente de desenvolvimento não tiver uma estruturaconcreta de produção, como serão os próximos projetos?
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Introdução
Possíveis Riscos . . .
Se não se consegue MEDIR . . . . . . Não se consegue . . .
Controlar;Gerenciar;Melhorar;Trabalhar.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Introdução
PerguntaAté onde medir?
Alinhar os objetivos dos projetos (necessidades) com osobjetivos da empresa.Estabelecer um programa de métricas:
Adequado;Fundamentado;Gradual.
Não medir mais do que é necessário
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Introdução
PerguntaMas. . . Quais as vantagens de utilizar métricas no desenvolvimento desistemas?
Diminuir:Defeitos;Prazo de entrega;Disperdício;Custo;
Aumentar:Satisfação do cliente;Produtividade dos recursos;Visibilidade das ações;Qualidade do gerenciamento;Qualidade do produto.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Tipos de Ambiente
Figura: Painel Comparativo.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Ambientes para Aplicaçãode Métricas
Figura: Possibilidades de Métricas.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Tipos de Métricas
PerguntaComo podemos classificas as métricas em um projeto?
Métricas Primárias (1a Ordem);
Métricas Secundárias (2a Ordem);
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métricas Primárias (1a Ordem)
Apontamentos dos fatos (reais) -> MEDIDAS;
Informações objetivas da realidade;
Exemplo: defeitos, horas trabalhadas, custo, reclamações, . . . ;
Tendência à expressão numérica.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Riscos
Processo de captura -> credibilidade;
Meio de captura -> facilidade, entendimento, objetividade;
independência da análise -> confiabilidade.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métricas Secundárias (2a Ordem)
Indicadores (expressam um comportamento além dos números);
Resultado de uma relação de: Métrica / Fator;
Informações objetivas da realidade;
Exemplo: densidade de defeitos (defeitos por fase do projeto,. . . ).
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Riscos
Processo de definição e análise cos dados -> corretude;
Processo de uso -> utilidade, poder de explicação, relevância.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Estruturas e Objetivos
Objetiva o Processo e suas atividades e os projetos e suasatividades;Medições Operacionais:
Processo;Projeto;Atividades;
Objetiva o ambiente de desenvolvimento, mudanças etendências;Medições táticas:
Tendências;Impactos (Tradeoffs);Atributos;
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Estruturas e Objetivos
Objetiva comparações com outras organizações e melhoriascontínuas;Medições estratégicas:
Benchmarking;Melhoria Contínua;Avaliação Econômica;
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Possibilidades de Métricas em Software
Tamanho do software;
Quantidade de defeitos;
Complexidade do software;
Acesso e segurança;
Qualidade do produto;
Utilidade do produto;
Usabilidade do produto;
Estimativa de durabilidade;
Comportamento dos defeitos;
Taxa de inovação: novas funcionalidades (Entre versões);
Dentre outras . . . como . . .
Medir a quantidade de funcionalidades incluídas em umsoftware -> tamanho do produto
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métodos para medir tamanho do produto
Linhas de código - lines of code (Kloc);
Análise de Pontos de função (APF);
Constructive Cost Model (COCOMO);
Metodologias ágeis;
Pontos de casos de uso.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métodos para medir tamanho do produtoMétricas para Planejamento e Gerenciamento
Dimensão dos produtos: Modelos, protótipos, documentos esoftware;
Esforço de produção: Pessoas necessárias em um periodo detempo;
Produtividade: Quantidade produzida por esforço;
Defeitos: Número de erros encontrados;
Custo de produção: Valor do esforço de produção e correçao deerros.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métodos para medir tamanho do produto
LOC - Linha de Código Fonte:Mede todo o esforço necessário para entregar um código correto,sem erro;Depende da linguagem.
Funções:Determinada pela funcionalidade do sistema;Independe da linguagem.
Para qualquer abordagem é importante:Ter experiência;Utilizar dados históricos.
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Métodos para medir tamanho do produto
MÉTRICAS OBJETIVOSLinhas de Código (LOC) Dimensão do ProdutoPontos por Função (PF) Dimensão do ProdutoLOC/FP Dimensão do ProdutoPessoa/Mês (PM) Esforço HumanoPessoa-Mês/LOC Produtividade LinearDefeitos/LOC QualidadeCusto/LOC Custo
Tabela: Outros tipos de métricas
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Estimativa
Estimar a dimensão do programa;
Calcular o esfoço humano;
Aplicar penalidades de produtividade;
Realizar ajustes;
Calcular Reuso;
Identificar e corrigir defeitos.
OBS.: Muito importante ter base histórica de desenvolvimento
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Calculando Dimensão do programaPontos por Função
Depende da funcionalidade;
Baseado nos dados empíricos e o software a ser desenvolvido;É definido a partir de:
No de entradas do usuário;No de saídas do usuário;No de consultas do usuário;No de interfaces;. . . .
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Exemplo PF
Suponha que será construido um sistema se submissão deartigos:
Foram identificados dados de acordo com os requisitos coletadosinicialmente:
FP = (25*4)+(15*5)+(7*5)+(10*4) = 250FP
Número Fator de conversãoEntradas 25 4Saídas 15 5Consultas 10 4Interfaces 5 7
Tabela: Exemplo
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Calculando Dimensão do programaEsforço Humano
Determina o número de pessoas para realizar uma atividadenum período de tempo;Exemplo:
Construir um programa com 50 KLOC == 50.000 LOC;Produtividade linear dos programadores: 2,4 Pessoa-mês/KLOC.
O esforço depende do tamanho do software;
A produtividade diminui em equipes maiores, principalmentedeviso à necessidade de comunicação e interação.
Tamanho Equipe Esforço Prazo total1 150 Pes.Mes 150 meses10 150 Pes.Mes 15 meses100 150 Pes.Mes 1,5 meses
Tabela: Exemplo RH
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Variação entre as Linguagens
O número de linhas de códigos e a produtividade variam deacordo com a linguagem utilizada.
Linguagem de Programação LOC por PFC++ 53Java 46Delphi 18VB 24HTML 14
Tabela: LOC por PF
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
ExemploCalculando LOC e Esforço Humano
Suponha que o sistema de submissão de artigos está sendoanálisado (Sistema feito em Java);
Com base na tabela de LOC-por-PF, tem-se 46 LOC por PF, paraprogramas feito em Java;
O Esforço humano tem como base PRODUTIVIDADE x No LOC;
Considerando que é produtividade para o sistema de submissãode artigos seja de 3,1 Pes.Mes/LOC e que existem 280 PF apartir da análise prévia.
PerguntaQual será o esforço para produzir este sistema?Qual quantidade de linhas de código?
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
ExemploCalculando LOC e Esforço Humano
RespostaLOC = FP*(LOCporFP)LOC = 280*46LOC = 12,88 KLOC (12.880 LOC)————————-Esforço = Produtividade*KLOCEsforço = 3,1 * 12,88Esforço = 39,928 PM
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
ExemploCalculando LOC e Esforço Humano
RespostaCom 7 membros na equipe a quantidade de meses para construir osistema é?QtdMES = Esforço / No MembrosQtdMES = 39,928 PM / 7QtdMES = 5,7 Meses
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Aplicando Penalidades
Determinou-se empiricamente que a produtividade diminui com oaumento do tamanho do software;
Esta produtividade depende do tipo de sistema de acordo com atabela abaixo;
Tipos de Sistema Fator de PenalidadeSistema Web 1,030Sistema Militar 1,072Sistema embutido 1,110
Tabela: Fator Exponencial de Penalidade
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
ExemploCalculando Fator de Penalidade
RespostaEsforço = Produtividade*KLOCEsforço = 3,1 * 12,88Esforço = 39,928 PM—————————EsforçoPEN = (Esforco)(fator)
EsforçoPEN = (39,928)(1,030)
EsforçoPEN = 44,598 PM——————————-QtdMES = 44,598 PM PM / 7QtdMES = 6,37 Meses
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Aplicando Penalidades
O custo e os prazos é calculado em função do esforço, da equipee do custo da mão de obra;
Custo de mão de obra (CM) é dado em Valor/PM;Exemplo:
Programa com 12,88 KLOC;Esforço de 44,598 PM;Com uma equipe de 7 programadores;Salário mensal é R$ 1780,00.
Esforço Custo MO Equipe Prazo Custo Mensal Custo Total44,598 R$ 1780,00 7 6 Meses R$ 12.460,00 R$ 74.760,0044,598 R$ 450,00 7 6 Meses R$ 3.150,00 R$ 18.900,00
Tabela: Exemplo Custo
Introdução Tipos de Métricas Métricas de Software Aplicando Penalidades Custos e Prazos Conclusão
Conclusão
É importante ter saber o que se tem, o que se está produzindo eaonde se quer chegar.
É importante estabelecer um programa de métricas;Métricas são classificadas em:
Métricas Primárias (1a Ordem);Métricas Secundárias (2a Ordem);
As métricas são utilizadas para:Estimar a dimensão do programa;Calcular o esfoço humano;Aplicar penalidades de produtividade;Realizar ajustes;Calcular Reuso;Identificar e corrigir defeitos.