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
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 |
|---|
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 pontos | 4 pontos | 6 pontos |
| Saídas Externas (SE) | 4 pontos | 5 pontos | 7 pontos |
| Consultas Externas (CE) | 3 pontos | 4 pontos | 6 pontos |
| Arquivos Lógicos Internos (ALI) | 7 pontos | 10 pontos | 15 pontos |
| Arquivos de Interface Externa (AIE) | 5 pontos | 7 pontos | 10 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 TR | Baixa | Baixa | Média |
| 2 a 5 TRs | Baixa | Média | Alta |
| 6+ TRs | Média | Alta | Alta |
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 AR | Baixa | Baixa | Média |
| 2 ARs | Baixa | Média | Alta |
| 3+ ARs | Média | Alta | Alta |
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 AR | Baixa | Baixa | Média |
| 2 a 3 ARs | Baixa | Média | Alta |
| 4+ ARs | Média | Alta | Alta |