APF Dashboard

O Que é Análise de Pontos de Função (APF)?

A APF é um método padronizado para medir o tamanho funcional de um software a partir da perspectiva do usuário. Em vez de contar linhas de código (uma medida técnica), a APF quantifica o que o software faz, não como ele o faz. Isso fornece uma medida de "tamanho" independente de tecnologia, crucial para estimativas, gestão de contratos e medição de produtividade.

O Problema Histórico

Medir software por Linhas de Código (LOC) é falho. O mesmo recurso pode ter 50 ou 500 linhas dependendo da linguagem. LOC mede o "tamanho da solução", não o "tamanho do problema", tornando as comparações de produtividade e as estimativas iniciais imprecisas.

A Solução da APF

Criada por Allan J. Albrecht na IBM, a APF foca na funcionalidade entregue ao usuário. É como medir uma casa em metros quadrados, não importa se as paredes são de tijolo ou madeira. Essa visão de negócio cria uma linguagem comum entre gestores e equipes de TI.

Principais Benefícios

Estimativa de Projetos: Base para estimar custo, prazo e esforço.
Medição de Produtividade: Permite comparar o desempenho entre projetos e equipes.
Benchmarking: Compara o desempenho da organização com os padrões da indústria.
Gestão de Contratos: Base objetiva para contratação de software por "preço por ponto de função".
Análise de Portfólio: Ajuda em decisões estratégicas sobre o portfólio de aplicações.
Governança de TI: Padronizada pela ISO, garantindo consistência global.

Como Funciona o Processo de Contagem

O processo de contagem de Pontos de Função é sistemático e baseado em regras para garantir consistência. A Fiocruz, seguindo as melhores práticas do setor público, adota o padrão do IFPUG como base, mas o contextualiza através do seu próprio **Roteiro de Métricas de Software**.

O Roteiro da Fiocruz: Adaptando o Padrão Global

A Fiocruz utiliza o **Roteiro de Métricas de Software do SISP (v2.3)** como principal referência, que por sua vez é fundamentado no manual **CPM 4.3.1 do IFPUG**. Isso significa que os conceitos de ALI, AIE, EE, SE e CE são os mesmos. A importância do roteiro da Fiocruz está em estabelecer uma **ordem de precedência** clara e definir regras específicas para o contexto da instituição, como a não utilização do Fator de Ajuste (VAF=1) e a definição de métricas para itens não mensuráveis (manutenção cosmética, etc.). Em caso de dúvida, a ordem é: 1º Roteiro Fiocruz, 2º Roteiro SISP, 3º Manual do IFPUG.

Medindo Funções de Dados (ALI & AIE)

Representam os requisitos de armazenamento de dados do usuário. São agrupamentos lógicos de informação, não tabelas físicas.

ALI - Arquivo Lógico Interno

Dados mantidos dentro da aplicação. O sistema que está sendo medido é responsável por criar, alterar e excluir esses dados.

Exemplo: Um arquivo de "Clientes" em um sistema de CRM.

AIE - Arquivo de Interface Externa

Dados referenciados pela aplicação, mas mantidos fora dela (em outro sistema). A aplicação apenas lê esses dados.

Exemplo: Uma tabela de "Taxas de Câmbio" mantida por um sistema financeiro, mas lida por um app de vendas.

Dica Didática: A Regra do Carro (TR vs. ALI)

Para diferenciar um **Tipo de Registro (TR)** de um **Arquivo Lógico Interno (ALI)**, pense em um carro:

  • É um TR se for uma "característica" que só existe dentro de outra entidade (ex: o Ar Condicionado de um carro específico).
  • É um ALI separado se for uma "coisa" com vida própria que pode ser reutilizada (ex: o Modelo do Pneu, que serve para vários carros e existe independentemente de um carro específico).

Medindo Funções de Transação (EE, SE & CE)

Representam os requisitos de processamento de dados. São as menores atividades que têm significado para o usuário.

EE - Entrada Externa

Processa dados que entram na aplicação para manter um ALI ou alterar o comportamento do sistema.

Exemplo: Tela de "Cadastro de Novo Produto".

SE - Saída Externa

Envia dados para fora da aplicação, mas inclui alguma lógica de processamento (cálculos, dados derivados).

Exemplo: "Relatório de Vendas Mensais" com totais e médias.

CE - Consulta Externa

Envia dados para fora da aplicação, envolvendo apenas a recuperação e apresentação direta de informações.

Exemplo: Função "Buscar Detalhes do Cliente por CPF".

Analisador de Requisitos (Aprimorado)

Cole o texto de um requisito, selecione o contexto do projeto e obtenha uma classificação do tipo de demanda, uma estimativa de tamanho (PF) e uma projeção de esforço (horas).

Resultado da Análise

Aguardando análise...

Calculadora de Projeto

Utilize esta ferramenta para montar uma contagem detalhada de um projeto. Adicione funções transacionais, de dados e itens de sustentação para obter o tamanho funcional total.

Adicionar Função ao Projeto

Resumo do Projeto

Tamanho Total do Projeto

0 PF

Lista de Funções do Projeto

Função Tipo Complex. PF Ação

Simulador de Planejamento de Sprint

Use esta ferramenta em duas etapas: comece com uma análise rápida para ter uma ideia da viabilidade da sprint. Depois, detalhe o backlog item a item para obter uma distribuição precisa do esforço.

Tópico 1: Análise Rápida de Viabilidade da Sprint

Análise da Viabilidade

Esforço Total Estimado

0 Horas

Capacidade da Equipe na Sprint

0 Horas

Tópico 2: Construção do Backlog e Distribuição de Esforço (HH)

Parâmetros da Equipe (para cálculo de HH)

Resumo do Backlog

Tamanho Total Ponderado

0,00 PF

Esforço Total Estimado

0 Horas

Backlog da Sprint e Distribuição de Esforço (HH)

Tarefa Tipo PF Bruto Fator PF Ponderado Esforço (HH) Ação

Analisador de Fases do Projeto

Entenda como o esforço de um projeto é distribuído por suas diferentes fases. Insira o tamanho total do projeto em Pontos de Função para visualizar uma estimativa de horas e custos para cada etapa do ciclo de vida, com base na distribuição de esforço do Roteiro de Métricas (ANEXO E).

Parâmetros do Projeto

Distribuição de Esforço por Fase

Detalhamento por Fase

Fase do Projeto % Esforço Horas Estimadas Custo Estimado

Planejador de Portfólio de Projetos

Transforme a APF em uma ferramenta de gestão estratégica. Modele sua equipe, defina a produtividade e liste seus projetos futuros para obter uma visão clara da sua capacidade de entrega versus a demanda do seu portfólio. Use os dados do ANEXO C como base.

1. Capacidade da Equipe

2. Adicionar Projeto ao Portfólio

Capacidade vs. Demanda

Pipeline de Projetos

Projeto Tamanho (PF) Ação
Total Demandado: 0 PF

Métodos em Comparação

O IFPUG não é o único método. Outras metodologias como COSMIC e NESMA surgiram para atender a diferentes necessidades. Além disso, no mundo ágil, a comparação com Pontos de História é fundamental. O gráfico abaixo oferece uma comparação visual de alto nível, e o texto detalha as principais diferenças.

Análise Comparativa Detalhada

IFPUG é empírico e ideal para sistemas de negócio tradicionais. Sua avaliação de complexidade (baixa, média, alta) pode ser subjetiva. COSMIC é de "segunda geração", baseado em princípios de engenharia de software (movimentos de dados). Ele não tem avaliação de complexidade (cada movimento = 1 CFP), sendo mais simples e mais adequado para arquiteturas modernas como microsserviços e sistemas de tempo real.

Referências e Tabelas de Cálculo

Esta seção centraliza as tabelas e fórmulas utilizadas em todas as calculadoras e simuladores deste dashboard. Elas são a base para converter a contagem de componentes funcionais em um valor numérico de Pontos de Função e, subsequentemente, em esforço.

Fórmulas Essenciais de Estimativa

1. Cálculo do PF Ponderado

Ajusta o tamanho bruto da função com base no tipo de demanda.

$PF_{Ponderado} = PF_{Bruto} \times Fator_{Ponderação}$
  • Nova Funcionalidade (HU/TE): Fator = 100%
  • Melhoria (ME) na mesma Release: Fator = 50%
  • Melhoria (ME) em outra Release: Fator = 75%
  • Correção de Bug (DE) na mesma Release: Fator = 0%
  • Correção de Bug (DE) em outra Release: Fator = 25%

2. Cálculo do Esforço (HH)

Converte o tamanho ponderado em horas de trabalho.

$Esforço(HH) = PF_{Ponderado} \times Produtividade_{HH/PF}$

3. Cálculo da Produtividade da Equipe (Métrica Histórica)

Define a taxa de conversão de PF em horas, baseada no desempenho passado da equipe.

$Produtividade(HH/PF) = \frac{\sum Horas Trabalhadas}{\sum Pontos de Função Entregues}$

Tabela de Pontuação por Tipo de Função

Tipo de Função Complexidade Baixa Complexidade Média Complexidade Alta
Entradas Externas (EE)3 pontos4 pontos6 pontos
Saídas Externas (SE)4 pontos5 pontos7 pontos
Consultas Externas (CE)3 pontos4 pontos6 pontos
Arquivos Lógicos Internos (ALI)7 pontos10 pontos15 pontos
Arquivos de Interface Externa (AIE)5 pontos7 pontos10 pontos

Matriz de Complexidade – ALIs e AIEs

Tipos de Registro (TRs) Tipos de Dados Elementares (TDEs)
1 a 19 TDEs 20 a 50 TDEs 51+ TDEs
1 TRBaixaBaixaMédia
2 a 5 TRsBaixaMédiaAlta
6+ TRsMédiaAltaAlta

Matriz de Complexidade – Entradas Externas (EE)

Arquivos Referenciados (ARs) Tipos de Dados Elementares (TDEs)
1 a 4 TDEs 5 a 15 TDEs 16+ TDEs
0 ou 1 ARBaixaBaixaMédia
2 ARsBaixaMédiaAlta
3+ ARsMédiaAltaAlta

Matriz de Complexidade – Saídas (SE) e Consultas (CE)

Arquivos Referenciados (ARs) Tipos de Dados Elementares (TDEs)
1 a 5 TDEs 6 a 19 TDEs 20+ TDEs
0 ou 1 ARBaixaBaixaMédia
2 a 3 ARsBaixaMédiaAlta
4+ ARsMédiaAltaAlta