A Contagem Estimativa e a Contagem Indicativa da NESMA

© NESMA. Esta publicação é tradução do conteúdo “Early Function Point Analysis” publicado pela NESMA. Ela foi feita com permissão da NESMA.

O uso da Contagem Estimativa da NESMA é previsto no Roteiro de Métricas de Software do SISP, que pode ser consultado a partir do link a seguir:

Também é válido ver o Ponto de Função Simples ou Simple Function Point como uma evolução da contagem estimativa da NESMA, agora não mais como uma aproximação de tamanho em pontos de função, mas como um método próprio de medição e aderente ao ISO 14143.

Vamos às Contagens Antecipadas da NESMA!

Solicite à NESMA o documento em PDF a partir do qual esta tradução foi elaborada

A NESMA reconhece três tipos de contagem de pontos de função:

  • Contagem de pontos de função detalhada;
  • Contagem de pontos de função estimativa;
  • Contagem de pontos de função indicativa.

A Contagem Estimativa e a Contagem Indicativa para a contagem de pontos de função foram desenvolvidos pela NESMA para permitir que uma contagem de pontos de função seja feita nos momentos iniciais do ciclo de vida de um sistema. A contagem indicativa da NESMA é também conhecida no mundo como “método holandês”.

Esta página discute os diferentes métodos para a contagem de pontos de função, sua aplicabilidade e resultados da pesquisa para determinação da exatidão de cada um dos métodos.

Você encontrará nesta página:

  • A contagem (detalhada) de pontos de função;
  • A contagem estimativa de pontos de função;
  • A contagem indicativa de pontos de função;
  • Exemplo das contagens detalhada, estimativa e indicativa;
  • Quando usar cada método para a contagem de pontos de função;
  • Resultados da pesquisa.

A contagem (detalhada) de pontos de função

A contagem detalhada é a contagem usual de pontos de função e é realizada da seguinte forma:

  • Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE);
  • Determina-se a complexidade de cada função (Baixa, Média, Alta);
  • Calcula-se o total de pontos de função não ajustados.

A Contagem Estimativa de pontos de função

A contagem estimativa é realizada da seguinte forma:

  • Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE);
  • Toda função do tipo dado (ALI, AIE) tem sua complexidade funcional avaliada como Baixa, e toda função transacional (EE, SE, CE) é avaliada como de complexidade Média;
  • Calcula-se o total de pontos de função não ajustados.

Logo, a única diferença em relação à contagem usual de pontos de função é que a complexidade funcional não é determinada individualmente para cada função, mas pré-definida para todas elas.

A contagem indicativa de pontos de função

A contagem indicativa é realizada da seguinte forma:

  • Determina-se a quantidade das funções do tipo dado (ALIs e AIEs);
  • Calcula-se o total total de pontos de função não ajustados da aplicação da seguinte forma:

Tamanho Indicativo (PF) = 35 x # ALI + 15 x # AIE

Portanto, esta estimativa é baseada somente na quantidade de arquivos lógicos existentes (ALI e AIE).

A contagem indicativa é baseada na premissa de que existem aproximadamente três EEs (para adicionar, alterar, e excluir dados do ALI), duas SEs, e uma CE na média para cada ALI, e aproximadamente uma SE e uma CE para cada AIE.

Exemplo das contagens detalhada, estimativa e indicativa

Esta seção ilustra esses três tipos de contagem de pontos de função para um estudo de caso pequeno e simples: uma aplicação que mantém dados de Cliente e Produto, e referencia dados de Fornecedor.

Quanto mais exata se quer uma contagem de pontos de função, mais detalhados devem ser os requisitos do usuário. Esta é a razão pela qual esse estudo de caso apresenta os três métodos de contagem em ordem crescente de exatidão:

  • Contagem indicativa de pontos de função;
  • Contagem estimativa de pontos de função
  • Contagem (detalhada) de pontos de função.

Contagem indicativa de pontos de função

Requisitos do usuário:

  • O usuário deseja manter dados de Cliente e Produto e referenciar dados de Fornecedor.

Esta especificação (superficial) é o suficiente para uma contagem indicativa de pontos de função:

  • ALI: Cliente e Produto;
  • AIE: Fornecedor.
Função do Tipo Dado Tipo de Função Pontos de Função
(pré-definido)
Cliente ALI 35
Produto ALI 35
Fornecedor AIE 15
Indicativo do tamanho funcional 85 PF

Contagem estimativa de pontos de função

Para realizar uma contagem estimativa de pontos de função também são necessárias informações a respeito das funções transacionais, assim requisitos do usuário mais detalhados são necessários.

Requisitos do Usuário:

  • O usuário deseja adicionar, alterar, excluir e consultar dados de Cliente, e também necessita quatro diferentes tipos de relatórios sobre Cliente contendo dados calculados.
  • O usuário deseja adicionar, alterar, excluir e consultar dados de Produto, e também necessita de consultar o Fornecedor através de seu número e um relatório sobre Fornecedor com totalização de resultados.

Essa especificação mais detalhada dos requisitos do usuário mostra a real quantidade de funções do tipo transação, e torna possível uma contagem estimativa de pontos de função.

Função do tipo Dado ou Transação Tipo de Função Complexidade (pré-definida) Pontos de Função (não ajustados)
Cliente ALI Baixa 7
Produto ALI Baixa 7
Fornecedor AIE Baixa 5
Incluir Cliente EE Média 4
Alterar Cliente EE Média 4
Excluir Cliente EE Média 4
Consultar Cliente CE Média 4
Relatório 1 de Cliente SE Média 5
Relatório 2 de Cliente SE Média 5
Relatório 3 de Cliente SE Média 5
Relatório 4 de Cliente SE Média 5
Incluir Produto EE Média 4
Alterar Produto EE Média 4
Excluir Produto EE Média 4
Consultar Produto CE Média 4
Relatório de Produto SE Média 5
Consulta de Fornecedor CE Média 4
Relatório de Fornecedor SE Média 5
 Estimativa do tamanho funcional 85 PF

Contagem detalhada de pontos de função

Para se realizar uma contagem detalhada de pontos de função, somente o número de funções de cada tipo (EE, SE, CE, ALI, AIE) não é suficiente, também é necessário determinar a complexidade funcional (Baixa, Média, Alta) de cada função individualmente.

Na APF, a complexidade funcional de uma função (do tipo dado e do tipo transação) é determinada com base na quantidade do número de tipos de dados, tipos de registro e arquivos referenciados que são relevantes para a função.

Esta é a razão pela qual os requisitos do usuário (como apresentados antes quando discutimos a contagem estimativa de pontos de função) precisam ser analisados com mais detalhes: quais elementos de dados (DET) e arquivos lógicos (FTR) são usados por cada função transacional (EE, SE, CE), e quais os grupo lógicos de dados (RET) e elementos de dados (DET) compõem a função do tipo dado (ALI, AIE).

Essa análise detalhada dos requisitos do usuário pode resultar na seguinte contagem de pontos de função:

Função do tipo Dado ou Transação Tipo de função Complexidade Pontos de Função (não ajustados)
Cliente ALI Média 10
Produto ALI Baixa 7
Fornecedor AIE Baixa 5
Incluir Cliente EE Alta 6
Alterar Cliente EE Média 4
Excluir Cliente EE Baixa 3
Consultar Cliente CE Baixa 3
Relatório 1 de Cliente SE Baixa 4
Relatório 2 de Cliente SE Média 5
Relatório 3 de Cliente SE Baixa 4
Relatório 4 de Cliente SE Alta 7
Incluir Produto EE Média 4
Alterar Produto EE Baixa 3
Excluir Produto EE Baixa 3
Consultar Produto CE Média 4
Relatório de Produto SE Média 5
Consulta de Fornecedor CE Baixa 3
Relatório de Fornecedor SE Média 5
Tamanho Funcional 85 PF

Conclusão

Neste estudo de caso em particular todos os três métodos apresentaram o mesmo resultado de 85 pontos de função para o tamanho funcional. Geralmente os resultados não são exatamente os mesmos, mas ainda assim são próximos entre si. Posteriormente nesta página serão apresentados os resultados da pesquisa da exatidão das contagens de pontos de função estimativa e indicativa.

Quando usar cada método para a contagem de pontos de função

A contagem detalhada de pontos de função é, obviamente, mais exata que a contagem estimativa e indicativa; mas em contrapartida, consome mais tempo e necessita de especificações mais detalhadas. Cabe ao gerente do projeto e à fase do ciclo de vida em que se encontra o sistema para se decidir qual tipo de contagem de pontos de função pode ser usada.

Em muitas aplicações uma contagem indicativa de pontos de função fornece surpreendentemente uma boa estimativa do tamanho da aplicação. Em muitas situações é relativamente fácil realizar uma contagem indicativa de pontos de função, pois o modelo de dados está disponível ou pode ser elaborado com pouco esforço.

Resultados da pesquisa feita com mais de 100 projetos

Usando um banco de dados com aproximadamente 100 aplicações desenvolvidas e implementadas, a NESMA pesquisou a exatidão da Contagem Estimativa e Contagem Indicativa. A aplicações implementadas foram medidas usando os três tipos de contagem de pontos de função. Os resultados são apresentados em dois gráficos:

  • O tamanho calculado via contagem estimativa, versus o tamanho medido via contagem detalhada dos pontos de função:
Resultados da Contagem Estimativa da NESMA em comparação com a medição pela medição detalhada usando a Análise de Pontos de Função do IFPUG.
  • O tamanho calculado via contagem indicativa, versus o tamanho medido via contagem detalhada dos pontos de função:
Resultados da Contagem Indicativa da NESMA em comparação com a medição pela medição detalhada usando a Análise de Pontos de Função do IFPUG.

Observa-se uma boa correlação (linha reta) em ambos os casos. No gráfico da contagem indicativa, contudo, observa-se que há desvios consideráveis (em até 50%) em alguns casos. Isto mostra que deve-se usar a contagem indicativa com o devido cuidado. O ponto forte deste tipo de contagem é que é possível obter facilmente uma estimativa aproximada do tamanho de uma aplicação rapidamente.

Em uma aplicação com maior (ou com menor) número de saídas, talvez seja necessário alterar os multiplicadores de 35 e 15; mas a filosofia usada nessa abordagem pode ser usada de maneira geral.

O resultado da contagem estimativa e da contagem detalhada de pontos de função é muito próximo.