TI - Sistemática de Métricas “Não se consegue controlar o que não se consegue medir” Tom DeMarco Introdução Uma das maiores dificuldades no gerenciamento de projetos de informática é saber a dimensão do que esta sendo gerenciado Muitas aplicações que parecem pequenas, quando em desenvolvimento, mostram-se muitas vezes maiores do que o previsto inicialmente. Programação Porque métricas ? Tipos de métricas Análise de Pontos por Função IFPUG e BFPUG Porque Métricas ? Vamos fazer uma analogia com outra Engenharia Engenharia Civil Como se contrata a construção de uma casa ? OU Como se compra uma casa ? Já imaginaram fazer isto sem a unidade m ou m2 Porque Métricas ? Vamos ver como funciona com Software Como se contrata a construção de um aplicativo ? OU Como se compra um aplicativo ? Que métrica utilizamos ? Qual métrica utilizamos ? Tipos de Métricas Contagem de Linhas de Código Fonte (LOCs) Halstead (operandos e operadores) Análise de Pontos por Função Outras Técnicas .... Tipos de Métricas Características Linha de Código Sistema Halstead 1. Independência de tecnologia 2. Produção de resultados consistentes 3. Avaliação por usuários sem conhecimento de PD 4. Significância para o usuário final 5. Utilizado em estimativas Não Sim Pontos por Função Sim Sim Sim Sim Não Não Sim Não Não Sim Não Não Sim Análise de Pontos por Função Objetivos da Análise de Pontos de Função Medir o software através da quantificação da funcionalidade solicitada e adquirida pelo cliente, tendo como base primária o projeto lógico Medir o desenvolvimento e manutenção de software independentemente da tecnologia utilizada na implementação Medir o desenvolvimento e manutenção de software consistentemente em todos os projetos e organizações Por Que Usar Pontos de Função Desafios do Desenvolvimento de Software Tamanho dos Requisitos Mudanças nos Requisitos Estimativas Baseadas nos Requisitos Medir e Melhorar a Produtividade e a Qualidade Tamanho dos Requisitos Requisitos – Completos – Termos do Negócio – Entendimento Mútuo – Suposições Documentadas – Tamanho Mudanças nos Requisitos Mudanças nos Requisitos – Mudança Inevitável – Trade-offs – Definição de Qualidade do Cliente – Tamanho Mudanças nos Requisitos Aplicativo Entregue Projeto Funcional Requisitos 100 PFs 120 PFs Tela de entrada do código do estado alterada (3 PFs) Acrescentada interface arquivo N&A (10 PFs) Consulta N&A e ao código do estado acrescentadas (7 PFs) Projeto Detalhado 130 PFs • Nova tabela legal acrescentada (10 PFs) 135 PFs • Relatório resumo incluído (5 PFs) Impacto Esforço Cronograma Custo + 1 mês + 2 semanas + $5000 + 0.5 meses + 2 semanas + $2500 + 0.25 meses + 2.5 dias + $1250 Estimativas Baseadas nos Requisitos Estimativas Baseadas nos Requisitos – Modelos Múltiplos – Entradas Ponderadas: Linguagem Conhecimento Metodologia Factores de Risco Tamanho – Base Histórica Melhorando a Relação com o Cliente Cronogramas Previsíveis Custos Previsíveis Funcionalidade Previsível Melhoria Organizacional Mensuração do Processo Métricas Para Gerenciamento de Projetos – – – – Estimativas Produtividade Densidade de Defeitos etc. Benchmarking Como Contar Pontos de Função Telas Relatórios Arquivos Mestres Tamanho Arquivos de Controle Arquivos de Referência Sinais Passos na Contagem de PF Determine o Tipo de Contagem Identifique o Escopo da Contagem e a Fronteira da Aplicação Conte as Funções de Dados Conte as Funções Transacionais Determine os Pontos de Função Não Ajustados Determine o Fator de Ajuste Calcule os Pontos de Função Ajustados Visão Geral da APF: O Que é Contado EE P1 Atualizar Arquivo Mestre P2 SE Arquivo ALI Produzir Relatório Mestre Relatório Resumo Semanal Semanal Fronteira Chave Detalhes P3 Detalhes Arquivo Mestre Arquivo Referência em Outro Sistema CE do AIE Sistema Tamanho Funcional (Não Ajustado) Tipo de Função Baixa Média Alta EE x3 x4 x6 SE x4 x5 x7 CE x3 x4 x6 ALI x7 x 10 x 15 AIE x5 x7 x 10 Fator de Ajuste Baseado nas 14 Características Gerais do Sistema (restrições do negócio do usuário, independentes da tecnologia) – Exemplos: comunicação de dados, tempos de resposta, eficiência do usuário final, múltiplos sites e flexibilidade Ajusta os PF em até + / - 35% IFPUG e BFPUG BFPUG IFPUG – International Funtion Point User Group História 1979 PF introduzidos por Alan Albrecht 1984 Primeiro guia formal sobre PF 1986 IFPUG elege primeira Diretoria 1990 Manual “Pontos de Função Como Ativo” 1991 Certificação de materiais de treinamento Criação da IFPUG Hotline 1993 Praticantes Certificados Participação na ISO/IEC BFPUG – Brazilian Funtion Point User Group História Fundação – Chapter Brasileiro do IFPUG Presidente – Mauricio Aguiar 1998 Resumo Importância da utilização de Métrica em TI Introdução em APF Utilizar métricas ou não ?? Alfredo Q. M. Costa [email protected] www.bfpug.com.br www.ifpug.org Agradecimentos Maurício Aguiar - Presidente do BFPUG e Diretor do IFPUG