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 ? Que métrica utilizamos ? 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 Pontos por Função 1. Independência de tecnologia Não Sim 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
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 Completos Termos do Negócio Entendimento Mútuo Suposições Documentadas Tamanho
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 Projeto Detalhado Requisitos 100 PFs 120 PFs 130 PFs 135 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) Nova tabela legal acrescentada (10 PFs) Relatório resumo incluído (5 PFs) Impacto Esforço Cronograma Custo + 1 mês + 2 semanas + $5000 + 0.5 meses + $2500 + 0.25 meses + 2.5 dias + $1250
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 Relatório Resumo Semanal ALI Arquivo Produzir Relatório Semanal Mestre Fronteira do Sistema Chave P3 Arquivo Referência Detalhes Arquivo em AIE Detalhes Mestre Outro Sistema CE
Armazenamento de Dados Arquivo Lógico Interno (ALI) Grupo lógico de dados mantido pelo aplicativo (por exemplo, Cadastro de Empregados) Arquivo Interface Externa (AIE) Grupo lógico de dados referenciado mas não mantido (p.ex., tabela de estados)
Transações Entrada Externa (EE) Saída Externa (SE) Mantém ALI ou passa dados de controle para o aplicativo Saída Externa (SE) Dados formatados enviados para fora do aplicativo, com valor adicionado (p.ex., totais calculados) Consulta Externa (CE) Dados formatados enviados para fora do aplicativo, sem valor adicionado.
Tamanho Funcional (Não Ajustado) Tipo de Função Baixa Média Alta EE x 3 x 4 x 6 SE x 4 x 5 x 7 CE x 3 x 4 x 6 ALI x 7 x 10 x 15 AIE x 5 x 7 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 1998 Fundação – Chapter Brasileiro do IFPUG Presidente – Mauricio Aguiar
Resumo Importância da utilização de Métrica em TI Introdução em APF Utilizar métricas ou não ??
Maurício Aguiar - Presidente do BFPUG e Diretor do IFPUG Alfredo Q. M. Costa alfredo@ctis.com.br www.bfpug.com.br www.ifpug.org Agradecimentos Maurício Aguiar - Presidente do BFPUG e Diretor do IFPUG