Beruflich Dokumente
Kultur Dokumente
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
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
Introduo
Pergunta Por que medir? Obter auto conhecimento (interno); Atender a uma presso imediata (externa); Preparar-se para o futuro (tendncias).
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
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.
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
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?
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
Introduo
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
Introduo
Pergunta At onde medir? Alinhar os objetivos dos projetos (necessidades) com os objetivos da empresa. Estabelecer um programa de mtricas:
Adequado; Fundamentado; Gradual.
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
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
Tipos de Ambiente
Figura: Painel Comparativo.
Mtricas de Software
Introduo Tipos de Mtricas Mtricas de Software Aplicando Penalidades Custos e Prazos Concluso
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);
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
Apontamentos dos fatos (reais) -> MEDIDAS; Informaes objetivas da realidade; Exemplo: defeitos, horas trabalhadas, custo, reclamaes, . . . ; Tendncia expresso numrica.
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.
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
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, . . . ).
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.
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;
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
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
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
Linhas de cdigo - lines of code (Kloc); Anlise de Pontos de funo (APF); Constructive Cost Model (COCOMO); Metodologias geis; Pontos de casos de uso.
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
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.
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
Funes:
Determinada pela funcionalidade do sistema; Independe da linguagem.
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
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
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
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
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
Tabela: Exemplo
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
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; ....
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
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
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
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
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
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
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
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);