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:
- O tamanho calculado via contagem indicativa, versus o tamanho medido via contagem detalhada dos pontos de função:
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.