Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Pontos de Função Especialização em Gerenciamento de Projetos de Tecnologia Métricas e Técnicas de Estimativas de Projetos Pontos de Função Sérgio Soares [email protected] • O referido manual é editado pelo IFPUG – International Function Point Users Group; Adaptado a partir de material de Gibeon Aquino Objetivos da Análise de Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 2 Capacidade da Análise de Pontos de Função Medir o software através da quantificação das funcionalidades solicitadas pelo usuário, com base no projeto lógico Pode ser aplicado para projetos de manutenção ou desenvolvimento • Independentemente da tecnologia usada Métricas e Técnicas de Estimativas de Projetos - Pontos de Função É uma medida funcional de tamanho de software, introduzida por Alan Albrecht da IBM (1979). Oficializado pelo padrão internacional ISO/IEC 20926 de 2002 O Function Point Counting Practices Manual contém as especificações 3 Mensurar um produto ou pacote de software Ajudar a Medir a Produtividade Estimar o desenvolvimento e a manutenção Monitorar acordos de terceirização Normalizar outras medidas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 4 Procedimento de Contagem Procedimento de Contagem de Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 5 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 6 1 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Passo 1 – Determinar o Tipo de Contagem Procedimento de Contagem Contagem de projeto de desenvolvimento • Projetos novos ou inacabados, com o objetivo de estimar o tamanho final — considerar as funções destinadas à conversão ou migração de dados Contagem de projetos de melhoria • Manutenção sobre sistemas existentes — corretivas, evolutivas, adaptativas ou preventivas Contagem de aplicação • Determinar tamanho de aplicações em produção Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 7 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 8 Passo 2 – Definição da fronteira da aplicação Procedimento de Contagem As fronteiras do sistema são determinadas para direcionar a contagem As fronteiras do sistema são definidas a partir da percepção do usuário • Pode apresentar incertezas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 9 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 10 Passo 3 e 4 – Contagem das Funções de Dados e Transação Procedimento de Contagem Identificação das funções do sistema • Funções de Dados — Arquivos Lógicos Internos (ALI) — Arquivos de Interface Externa (AIE) • Funções de Transação — Entradas Externas (EE) — Saídas Externas (SE) — Consultas Externas (CE) Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 11 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 12 2 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Passo 5 – Determinar os PFs Não-ajustados Procedimento de Contagem Classificação das funções, individualmente, quanto à complexidade funcional • Baixa • Médio • Alta Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 13 Cálculo através da aplicação de pesos de acordo com as tabelas específicas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 14 Passo 6 – Cálculo do fator de ajuste Procedimento de Contagem O PF não ajustado leva em consideração fatores que irão influenciar a dificuldade e, conseqüentemente, o tempo de desenvolvimento do sistema. • Características de ambiente • Questões de qualidade • Particularidades na arquitetura do sistema • Experiência da equipe Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 15 Passo 6 – Cálculo do fator de ajuste Tais características podem exercer um impacto entre -35% e +35% Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 16 Procedimento de Contagem 14 itens são pontuados de acordo com a sua importância (entre 0 e 5). Para a obtenção do fator de ajuste, a soma das pontuações (NI) é colocado na seguinte fórmula: • FA = (NI * 0,01) + 0,65 • Onde: — FA = Fator de ajuste; — NI = soma da pontuação obtida. Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 17 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 18 3 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Passo 6 – Cálculo do PF Ajustado O TCF (Fator de Complexidade Técnica) varia de 0,65 (se todos os Fi tiverem valor 0) a 1,35 (se todos os Fi tiverem valor 5). O cálculo final de pontos de função é realizado com a seguinte fórmula: FP = UFP * TCF Onde Funções da Análise de Pontos de Função TCF = 0,65 + 0,01 * (SUM( Fi )) Exemplo: TCF = (61 * 0,01) + 0,65 = 1,26 FP = 200 * 1,26 FP = 252 Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 19 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 20 Tipos de Funções Funções de Dados • Funcionalidades solicitadas pelo usuário referentes à requisitos de dados Funções de Dados — Arquivos Lógicos Internos — Arquivos de Interface Externa Funções de Transação • Funcionalidades solicitadas pelo usuário referentes à processamento — Entrada Externas — Saídas Externas — Consultas Externas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 21 Funções de Dados A contagem é feita através da análise do: • Modelo de dados • Indicação, por um especialista, de quais são as principais categorias de dados da aplicação A idéia das funções de dados é identificar as Entidades manipuladas pelas funcionalidades do sistema Podem ser de dois tipos Arquivo Lógico Interno (ALI) São grupos de dados ou informações de controle, internos à aplicação, identificáveis pelo usuário Um ALI armazena dados que são mantidos (através de alteração, inclusão ou exclusão) por um ou mais processos elementares da aplicação • Arquivos Lógicos Internos • Arquivos de Interface Externa Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 23 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 24 4 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Exemplo de ALIs Características de um ALI A manutenção dos dados é feita diretamente pelo usuário através de rotinas do sistema Os dados são requisitados pelo usuário, de acordo com a sua necessidade de informação Os dados são armazenados internamente, dentro das fronteiras da aplicação Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Arquivos (grupos de tabelas) de • Informações da Folha de Pagamento • Transação de cartão de crédito • Vendas de Produtos Não são exemplos de ALIs: • Arquivos criados e mantidos por outras aplicações • Arquivos temporários ou cópias do mesmo arquivo • Arquivos criados em função da tecnologia • Arquivos de backup ou restore • Tabelas de Código-Descrição — Dados com o objetivo de melhorar a usabilidade 25 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Arquivo de Interface Externa - AIE Características de um AIE Um Arquivo de interface externa é um grupo de dados inter-relacionados, necessários para a aplicação, mantidos e armazenados fora do sistema A intenção primária de um AIE é armazenar dados referenciados por um ou mais processos elementares que fazem parte (estão dentro da fronteira) da aplicação sendo contada Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 27 Dados • Extraídos e lidos de outras aplicações (Mantidos somente pela outra aplicação) • Compartilhados não mantidos pela aplicação Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Não são exemplos de AIE: • Arquivos compartilhados que também são mantidos pela aplicação sendo contada • Arquivos temporários ou cópias do mesmo arquivo • Arquivos criados em função da tecnologia • Arquivos de backup ou restore • Tabelas de Código-Descrição — Dados com o objetivo de melhorar a usabilidade Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Grupo de dados armazenados fora das fronteiras da aplicação Grupo de dados que não são mantidos por rotinas da aplicação Grupo de dados que são necessários para o usuário e referenciados pela aplicação 28 Classificando as Funções de Dados Exemplos de AIE 26 29 Após a identificação dos ALIs e AIEs é necessário que se identifique suas complexidades Para a identificação das complexidades, será necessária a identificação de dois outros elementos: • RLR – Registro Lógico Relacionado • DER – Dado Elementar Relacionado Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 30 5 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP RLR – Registros lógicos relacionados DER – Dado Elementar Relacionado • Contar um DER para cada campo único, não repetitivo, reconhecido pelo usuário e mantido em um ALI/AIE, ou recuperado de um ALI/ AIE, através de um processo elementar • Quando um mesmo ALI/AIE for compartilhado por mais de uma aplicação, contar somente os DERs usados por cada aplicação, independentemente do tamanho do ALI/AIE • Contar um DER para cada pedaço de dado requerido pelo usuário para estabelecer um relacionamento com um outro ALI, isto é: uma chave estrangeira ou uma associação entre classes de objetos Subgrupo de elementos de dados, reconhecidos pelos usuários • Será contado 1 (um) RLR para cada grupo opcional ou mandatório de dados de um ALI ou AIE • Será contado 1(um) RLR para cada ALI ou AIE que não possuam subgrupos de dados 31 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Tabela de Identificação da Complexidade das Funções de Dados É um campo único, reconhecido pelo usuário Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 32 Exemplo Considere um sistema de RH que mantém as seguintes informações • Dados do Empregado — Empregados CLT — Consultores • Dados dos Dependentes • Dados da Função • Histórico das Ocupações dos Empregados • Local de Trabalho — Mantido por outro sistema Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 33 ALI (EMPREGADO) • Nome, CPF, RG, Número Dependentes, Data Nascimento, Data Admissão, Telefone Residencial e Celular, Ramal, Email e Local de Trabalho. Empregado CLT Empregado Consultor 34 ALI (FUNÇÃO) Empregado Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Função • Nome, ID, Remuneração Base, Data Criação, Ativo, Data de Suspensão • CTPS, Remuneração, Período Férias. • Valor da Hora de Trabalho, Mínimo e Máximo de Horas por mês, Período da consultoria. Dependente • Sequencial, Nome, Data de Nascimento, Parentesco Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 35 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 36 6 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP ALI (OCUPAÇÃO) AIE (LOCAL) Ocupação • Data de Início, Salário, Ativo, Data Término, Local de Trabalho Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Local • Sigla, Nome, Endereço, Cidade, Estado, CEP e País 37 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 38 Complexidade dos ALIs e AIEs Funções de Transação Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 39 Funções de transação Funções de Transação As funções transacionais capturam a complexidade do sistema a partir da complexidade do processamento e movimentação dos dados As funções transacionais são: • Menor unidade de atividade que tem significado para o usuário • Deve ser auto-contido e manter a aplicação em um estado consistente • Entradas Externas – EE • Consulta Externa – CE • Saída Externa – SE Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Processo Elementar 41 Diferença entre as funções de transação está na intenção primária das mesmas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 42 7 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Entradas Externas Exemplos de Entrada Externas Processo elementar da aplicação que processa dados ou informações de controle procedentes de fora da fronteira da aplicação A intenção primária de uma EE é • Funcionalidades de Manutenção — Inclusão, Remoção, Alteração, etc. • Mensagens vindas de outras aplicações e que requerem algum processamento • Manter um ou mais ALIs • Alterar o comportamento da aplicação através de sua lógica de processamento Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 43 Processo elementar que resulta na recuperação de dados ou informações de controle enviados para fora da fronteira do sistema. A intenção primária de uma CE é: • Apresentar informações para um usuário através da recuperação de dados ou informações de controle de um ALI ou AIE. 45 Saídas Externas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Não são CEs • Menu de opções estáticos • Mensagens de Erros ou Confirmação • Ordenação ou reorganização dos dados apresentados Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 46 Exemplo de Saída Externa Processo elementar que gera dados ou informações de controle que saem da fronteira da aplicação A intenção primária de uma SE é: Exemplos de SEs • Relatórios com cálculos matemáticos ou processamento de dados • Envio de dados para outras aplicações, com o processamento de cálculos matemáticos e/ou atualização de ALIs A lógica de processamento precisa conter pelo menos um fórmula matemática ou cálculo, criar dados derivados, manter um ou mais ALIs, e/ou alterar o comportamento do sistema. Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Exemplos de CEs • Consulta com resposta na tela • Relatórios sem cálculos matemáticos • Menu de opções dinâmicos • Apresentar informações para um usuário através de lógica de processamento que não envolva apenas a recuperação de dados ou informações de controle. 44 Exemplo de Consultas Externas As CEs não possuem cálculos matemáticos e não efetuam manutenções nos dados de ALIs e nem alteram o comportamento do sistema Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Não são Entradas Externas • Tela de login • Entradas não reconhecidas pelo usuário (exigidas somente pela tecnologia) • Manutenção de Tabelas Código-Descrição Consultas Externas São exemplos de Entradas Externas 47 Não são SEs • Relatórios idênticos somente com os dados diferentes • Mensagens Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 48 8 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Exemplo Exemplo Para o sistema de recursos humanos visto anteriormente, considere as seguintes funcionalidades: • Listagem, Consulta, Inserção, Alteração e Exclusão das Funções • Manutenção de Empregados — Listagem, Consulta, Inserção, Alteração e Exclusão de Empregado — Listagem, Consulta, Inserção, Alteração de Dependente — Promoção (Alteração Salarial) — Alteração Funcional Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 49 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 50 Contabilizando Entradas Externas Após a identificação das EE, CE e SE é necessário que se identifique suas complexidades, para que elas sejam pontuados Para a identificação das complexidades, será necessária a contabilização dos • Arquivos Referenciados durante a execução do processo elementar • Itens de Dados referenciados durante a execução do processo elementar Relatórios • Total de Funcionários por Local • Folha de Pagamento do Mês • Lista dos Nomes e Qtde de Dependentes dos Empregados Classificando as Funções de Transações Manutenção das Funções Arquivos Referenciados • Contabilizar cada ALI mantido e/ou lido durante a execução do processo elementar 51 Itens de Dados Referenciados • Contar um item para cada campo que entra e/ou sai da fronteira da aplicação; • Contar um item para a capacidade de enviar mensagens (Erros, confirmação ou solicitação de continuação); • Contar um item para a capacidade de especificar uma ação a ser tomada (Botão OK, clique mouse, teclas, etc.). Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 52 Contabilizando Consultas Externas Complexidade de uma EE Arquivos Referenciados • Contabilizar cada ALI ou AIE lido durante a execução do processo elementar Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 53 Itens de Dados Referenciados • Contar um item para cada campo que entra e/ou sai da fronteira da aplicação; • Contar um item para a capacidade de enviar mensagens (Erros, confirmação ou solicitação de continuação); • Contar um item para a capacidade de especificar uma ação a ser tomada (Botão OK, clique mouse, teclas, etc.). Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 54 9 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Complexidade de Consultas Externas Contabilizando Saídas Externas Arquivos Referenciados • Contabilizar cada ALI ou AIE lido/mantido durante a execução do processo elementar Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 55 Complexidade de Saídas Externas Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 57 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 56 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 58 Exercício 2 Complete o exemplo anterior com as informações das outras funções de transações do sistema de recursos humanos Métricas e Técnicas de Estimativas de Projetos - Pontos de Função • Contar um item para cada campo que entra e/ou sai da fronteira da aplicação; • Contar um item para a capacidade de enviar mensagens (Erros, confirmação ou solicitação de continuação); • Contar um item para a capacidade de especificar uma ação a ser tomada (Botão OK, clique mouse, teclas, etc.). Exemplo Exercício 1 Itens de Dados Referenciados 59 Atribua complexidade às funções de transações especificadas no exemplo anterior Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 60 10 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Contagem dos Pontos de Função Não Ajustados Contagem dos Pontos de Função Não Ajustados Cada função de dados e transação contribuem para a quantidade de pontos de função de acordo com a tabela abaixo Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 62 Cálculo do fator de ajuste Cálculo do Fator de Ajuste Considerar fatores que irão influenciar a dificuldade e, conseqüentemente, o tempo de desenvolvimento do sistema • Características de ambiente • Questões de qualidade • Arquitetura do sistema • Experiência da equipe • etc. Refletir tal influência na contagem de PF Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 14 Itens para cálculo do Fator de Ajuste Cálculo do fator de ajuste Tais características podem exercer um impacto entre -35% e +35% 14 itens são pontuados de acordo com a sua importância (entre 0 e 5). A soma das pontuações (NI) é colocada na seguinte fórmula: • FA = (NI * 0,01) + 0,65 — FA = Fator de ajuste — NI = soma da pontuação obtida Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 64 65 Comunicação de dados Processamento de dados distribuído Performance Configuração intensamente utilizada Volume de Transação Entrada de Dados online Eficiência do usuário Atualização on-line Processamento complexo Reusabilidade Facilidade de Instalação Facilidade de Operação Múltiplos sites Facilidade de Mudança Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 66 11 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Processamento de dados distribuído Comunicação de Dados Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 67 69 Volume de Transações Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 68 Configuração intensamente utilizada Performance Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 70 Entrada de Dados on-line 71 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 72 12 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Eficiência do Usuário Final Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Atualização on-line 73 Processamento complexo Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 74 Reusabilidade 75 Facilidade de Implantação Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 76 Facilidade Operacional 77 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 78 13 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Múltiplos Sites Facilidade de Mudança Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 79 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Pontos de Função – Calculando FP F1 Comunicação de Dados F8 Atualização on-line F2 F3 Funções distribuídas F9 Processamento complexo Performance F10 Reusabilidade F4 Configuração do equipamento F11 Facilidade de implantação F5 Volume de transações F12 Facilidade Operacional F6 Entrada de dados on-line F13 Múltiplos locais F7 Interface com o usuário F14 Facilidades de mudanças (Flexibilidade) Referências adicionais FP = UFP * TCF 81 http://www.baixaki.com.br/download/ APF-Analise-de-Pontos-deFuncao.htm Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Discussão Brazilian Function Point Users’ Group (BFPUG) • http://www.ifpug.org/ O fator varia de 0,65 (se todos os Fi tiverem valor 0) a 1,35 (se todos os Fi tiverem valor 5). O cálculo final de pontos de função é realizado com a seguinte fórmula: The International Function Point Users’ Group (IFPUG) • http://www.bfpug.com.br/ Cada componente é classificado de 0 a 5, onde 0 significa que o componente não têm influência no sistema e 5 significa que o componente é essencial . TCF = 0,65 + 0,01 * (SUM( Fi )) Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 80 82 Prova Quão precisa é a contagem de pontos de função? Há espaço na prática para a mesma? Quem já usou na prática? Considere o sistema HealthWatcher • Identifique as funções de dados (ALIs e AIEs) e suas complexidades SURPRESA — contabilize o número de RLR e DER (slide 39) • Identifique as funções de transações (EE, CE e SE) e suas complexidades — detalhe o cálculo numa tabela (slide 58) • Calcule o fator de ajuste — detalhe cada item • Calcule o número de pontos de função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 83 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 84 14 Especialização em Gerenciamento de Projetos de Tecnologia - UNICAP Especialização em Gerenciamento de Projetos de Tecnologia Métricas e Técnicas de Estimativas de Projetos Pontos de Função Sérgio Soares [email protected] Adaptado a partir de material de Gibeon Aquino Métricas e Técnicas de Estimativas de Projetos - Pontos de Função 15