2. A associação
N E S M A
É uma associação de usuários de
métricas que tem proposto alternativas de
contagem, utilizando a Análise de Pontos
de Função, de forma a possibilitar medir
um produto de software no início do
processo, mesmo não possuindo todas as
informações sobre as funções de dados,
transações e características gerais do
sistema bem definidas.
3. A associação
N E S M A
•Associação fundada em 12 de maio de
1989 na Holanda
•Sob o nome de NEFPUG - Netherlands
Function Point Users Group
•Em 1995, tornou-se NESMA -
Netherlands Software Metrics Users
Association
4. A associação
N E S M A
•Em 1991, a NESMA formou o grupo de
trabalho “FPA para melhoramento
e Manutenção” para desenvolver e publicar as
orientações para a aplicação da melhoria e
manutenção do software de analise de ponto de
função.
•Após vários anos de pesquisa e
desenvolvimento, o grupo de trabalho publicou
seu manual de orientações em 1998.
•Sua tradução para o inglês foi publicada em
2001.
5. Objetivos
N E S M A
•Uso de Métricas de Software:
•Promover o uso responsável
•Promover e incentivar a padronização
•Incentivar o desenvolvimento e aplicação
•Reunir indivíduos e organizações para a
troca de conhecimentos e experiência no
desenvolvimento e aplicação de métricas de
software;
6. Método
N E S M A
•NESMA busca atingir esses objetivos através de:
•Atividades dos seus grupos de estudo e grupos de
trabalho;
•Investigação realizada por seus membros;
•Apresentações, treinamento, simpósios e similares;
•Recomendações sobre o uso de métricas de software;
•Pesquisa e publicação de literatura de métricas de software;
•Colaboração com as organizações com interesses
semelhantes, e com os outros grupos de usuários de métricas
de software e associações a nível mundial, incluindo IFPUG
(E.U.A.), ASMA (Austrália) e FESMA (Europa).
7. N E S M A
•Para se associar, a composição de custos varia em 250 € por ano.
A NESMA não tem fins lucrativos.
•Benefícios ASSOCIADOS NESMA:
•Têm acesso ilimitado ao site NESMA
•De cada novo produto NESMA uma cópia gratuita
•Podem participar nas comissões e conferências da NESMA
•Obter descontos em atividades (conferências, simpósios,
workshops, etc) e produtos (estudos, relatórios e manuais) do
NESMA
•São mais de 100 associados: ABN-AMRO Bank NV ; IBM
Nederland BV
Membros
9. IFPUG - International Function Point Users Group
N E S M A
•A NESMA é um dos maiores grupos de usuários de
pontos por função da Europa, utilizando filosofia,
conceitos, termos e regras bem parecidos com as do
IFPUG, mas com algumas diretrizes diferentes.
•Desde 1990, possui seu próprio manual de
contagem, atualmente na versão 2.2, sendo que sua
forma de contagem é bem próxima da do manual do
IFPUG.
•Usa a classificação de complexidades do IFPUG.
10. N E S M A
As métricas de tamanho de projeto de software
mais utilizadas pela indústria são as seguintes:
•Pontos de Função (PF);
•Linhas de Código (LOC - Line of Code);
•Pontos por Casos de Uso (PCU).
Métricas
11. N E S M A
O principal benefício da métrica PF sobre a LOC é
que os Pontos de Função podem ser obtidos no
início do ciclo de vida, diretamente das
especificações de requisitos do projeto.
Além disso, os PFs são úteis para a geração das
estimativas de tamanho do projeto,
independentemente da metodologia e linguagem
de programação utilizada no desenvolvimento.
Métricas
12. N E S M A
Um dos maiores problemas associados à
Análise de Pontos de Função é que os
dados necessários para essa análise são
bastante imprecisos no início de um projeto.
Métricas
13. N E S M A
A abordagem da NESMA, não leva em
conta qualquer característica especial do
projeto, necessitando apenas de uma
classificação dos objetos obtidos através de
uma pesquisa no escopo do projeto para a
execução de uma função e geração da
quantidade de pontos de função, agilizando
o processo de estimativa de tamanho.
Métricas
14. Análise de Pontos de Função
N E S M A
A Análise por Pontos de Função (FPA) é
um técnica de medição do tamanho de
softwares que tenta relacionar a
complexidade inerente ao
processamento com as funcionalidades
solicitadas/oferecidas ao usuário através
do software.
15. N E S M A
• Objetivos
Análise de Pontos de Função
•Medir a funcionalidade que o usuário solicita e recebe;
•Medir o desenvolvimento e manutenção de software
de forma independente da tecnologia utilizada na
implementação.
•Simples o suficiente para minimizar o trabalho
adicional envolvido no processo de medição;
•Uma medida consistente entre vários projetos e
organizações.
16. N E S M A
• Uso pelas organizações
•Como ferramenta para determinar o tamanho de pacotes de software
adquiridos;
•Como ferramenta para apoiar a análise da qualidade e da
produtividade;
•Como um mecanismo para estimar custos e recursos envolvidos em
projetos de desenvolvimento e manutenção de software;
•Como um fator de normalização para comparação de software;
•Como uma ferramenta para fundamentar a negociação de contratos.
Análise de Pontos de Função
17. N E S M A
• Etapas da Análise de Pontos de Função
•Identificação do Tipo de Contagem a ser Utilizado
•Definição da Fronteira da Aplicação
•Contagem de Pontos de Função não Ajustados
•Cálculo do Fator de Ajuste
•Contagem de Pontos de Função Ajustados
Análise de Pontos de Função
18. N E S M A
• Identificação do Tipo de Contagem a ser Utilizado
O que vou medir?
Análise de Pontos de Função
Consiste na identificação do objeto a ser medido, como
sendo um projeto de desenvolvimento, manutenção ou
produção.
19. N E S M A
• Definição da Fronteira da Aplicação
Quais os limites do que vou medir?
Esta é a etapa em que é estabelecido o escopo do
sistema objeto da avaliação, sob a visão do usuário.
Análise de Pontos de Função
20. N E S M A
• Contagem de Pontos de Função não Ajustados
Análise de Pontos de Função
Arquivo Lógico Interno (ALI)
Arquivo de Interface Externa (AIE)
Entradas Externas (EE)
Saídas Externas (SE)
Consultas Externas (CE)
21. N E S M A
Análise de Pontos de Função
• Cálculo do Fator de Ajuste
Características gerais do sistema:
1. Comunicação de dados 8. Atualizações on-line
2. Funções distribuídas 9. Processamento complexo
3. Desempenho 10. Reusabilidade
4. Utilização do equipamento 11. Facilidade de implantação
5. Volume de transações 12. Facilidade operacional
6. Entrada de dados on-line 13. Múltiplos locais
7. Interface com o usuário 14. Facilidade de mudanças
22. N E S M A
• Contagem de Pontos de Função Ajustados
Análise de Pontos de Função
Processo que realiza a correção das possíveis distorções
ocorridas durante o cálculo dos pontos de função não
ajustados, aproximando as medidas à situação real.
Cálculo de PFs ajustados de um projeto de desenvolvimento
Cálculo de PFs ajustados de um projeto de manutenção
Cálculo de PFs ajustados de uma aplicação (sistemas em produção)
Formas de cálculo:
23. Abordagem NESMA
N E S M A
• Tipos de Contagem
contagem indicativa de pontos de função
contagem estimada de pontos de função
contagem detalhada de pontos de função
24. N E S M A
A contagem Indicativa fornece um valor indicativo da
quantidade de pontos de função do sistema proposto
sem conhecer detalhes do modelo nem do processo,
possibilitando medir um produto de software no início
do processo, mesmo não possuindo todas
as informações sobre as funções de dados, transações
e características gerais de sistema definidas.
Contagem Indicativa
25. N E S M A
Pode ser usada na fase inicial da proposta de
desenvolvimento.
É importante ressaltar que o método Contagem
Indicativa foi reconhecido pelo IFPUG em Junho de
2003, como um método potencialmente valioso para a
estimativa do tamanho funcional.
Contagem Indicativa
26. N E S M A
No entanto, isto não significa que o IFPUG
endosse o método como válido, acurado ou
preferível em relação a quaisquer outros
métodos.
Contagem Indicativa
27. N E S M A
A contagem indicativa é realizada da seguinte forma:
Determina-se a quantidade das funções do tipo dado (ALIs
e AIEs).
O tamanho é dado contando 35 PFs para cada ALI
identificado e 15 PFs para cada AIE identificado.
Contagem Indicativa
28. N E S M A
Esta estimativa é baseada somente na quantidade de
arquivos lógicos existentes (ALIs e AIEs).
Calcula-se o total de pontos de função não ajustados
da aplicação da seguinte forma:
tamanho indicativo (pf) = 35 x número de ALIs + 15 x
número de AIEs.
Contagem Indicativa
29. N E S M A
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
• ALI – Arquivos Lógicos Internos
• AIE – Arquivos de Interface Externas
• (pf) = 35 x número de ALIs + 15 x número de AIEs
35 x 2 + 15 x 1 =
70 + 15 = 85 pf
Contagem Indicativa
• EXEMPLO
30. Contagem Estimada
N E S M A
• QUANDO USAR?
É utilizada na fase inicial da proposta de desenvolvimento, quando se
possuem dados detalhados do processo, apenas informações preliminares
sobre os processos e o modelo de dados.
São necessárias informações um pouco mais detalhadas sobre a
funcionalidade da aplicação, levantadas a partir das exigências do usuário
31. Contagem Estimada
N E S M A
• COMO USAR?
1º PASSO
Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE).
Não é necessário a identificação dos elementos de dados de cada função.
32. Contagem Estimada
N E S M A
• COMO USAR?
2º PASSO
Toda função do tipo ALI e AIE tem sua complexidade funcional avaliada
como baixa.
Toda função transacional EE, SE, CE é avaliada como de complexidade
funcional média.
33. Contagem Estimada
N E S M A
• COMO USAR?
3º PASSO
Calcula-se o total de pontos de função não ajustados, utilizando a
classificação de complexidade do IFPUG.
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.
34. Contagem Estimada
N E S M A
• COMO USAR?
TABELA DE COMPLEXIDADE IFPUG
Nível de complexidade
Tipo de Função Baixo Médio Alto
ALI 7 10 15
AIE 5 7 10
EE 13 4 6
SE 4 5 7
CE 3 4 6
35. Contagem Estimada
N E S M A
• EXEMPLO 1
Requisitos do usuário:
O usuário deseja adicionar, alterar, excluir e consultar dados de
Clientes. Também necessita de 4 diferentes tipos de relatórios contendo
dados calculados.
O usuário deseja adicionar, alterar, excluir e consultar dados de
Produtos. Também necessita de um relatório de produtos.
O usuário deseja consultar o Fornecedor através de seu número e um
relatório sobre Fornecedor com totalização de resultados.
36. Contagem Estimada
N E S M A
• EXEMPLO 1
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
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
37. Contagem Estimada
N E S M A
• EXEMPLO 1
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
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
Consultar Fornecedor CE Média 4
Relatório de Fornecedor SE Média 5
Estimativa do tamanho
funcional
85 fp
38. Contagem Estimada
N E S M A
• EXEMPLO 2: Health-Watcher
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
Unidades de saúde ALI Baixa 7
Especialidade ALI Baixa 7
Funcionário ALI Baixa 7
Queixa ALI Baixa 7
Doença ALI Baixa 7
Sintoma ALI Baixa 7
Consultar guia de saúde CE Média 4
Consultar queixa CE Média 4
Consultar doença CE Média 4
39. Contagem Estimada
N E S M A
• EXEMPLO 2: Health-Watcher
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
Inserir unid. de saúde EE Média 4
Alterar unid. de saúde EE Média 4
Consultar unid. de saúde CE Média 4
Excluir unid. de saúde EE Média 4
Imprimir unid. de saúde SE Média 5
Inserir especialidade EE Média 4
Alterar especialidade EE Média 4
Consultar especialidade CE Média 4
Excluir especialidade EE Média 4
Imprimir especialidade SE Média 5
40. Contagem Estimada
N E S M A
• EXEMPLO 2: Health-Watcher
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
Inserir doença EE Média 4
Alterar doença EE Média 4
Consultar doença CE Média 4
Excluir doença EE Média 4
Imprimir doença SE Média 5
Inserir sintoma EE Média 4
Alterar sintoma EE Média 4
Consultar sintoma CE Média 4
Excluir sintoma EE Média 4
Imprimir sintoma SE Média 5
41. Contagem Estimada
N E S M A
• EXEMPLO 2: Health-Watcher
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
Inserir funcionário EE Média 4
Alterar funcionário EE Média 4
Consultar funcionário CE Média 4
Excluir funcionário EE Média 4
Imprimir funcionário SE Média 5
Inserir queixa EE Média 4
Atualizar queixa EE Média 4
Consultar queixa CE Média 4
Imprimir queixa SE Média 5
Estimativa do tamanho
funcional
176 fp
42. Comparativo Exemplo 2
N E S M A
• EXEMPLO 2: Health-Watcher
Contagem Indicativa Método
Pontos de Função
(não ajustados)
Estimativa do
tamanho funcional
(35 x nº de ALIs) + (15 x nº AIEs)
Nº de ALIs = 6
Nº de AIEs = 0
210 fp
Contagem Estimativa Método
Pontos de Função
(não ajustados)
Estimativa do
tamanho funcional
Utilização da tabela de
complexidade funcional com
dados pré-definidos
176 fp
43. Contagem Detalhada
N E S M A
• QUANDO USAR?
É utilizada na fase onde se possui um grande conhecimento da proposta de
desenvolvimento (dados detalhados do processo), 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.
Os requisitos dos usuários precisam ser analisados com mais detalhes:
quais elementos de dados e arquivos lógicos são usados por cada função
transacional, e quais os grupo lógicos e elementos de dados compõem
cada função.
44. N E S M A
• COMO USAR?
1º PASSO
Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE).
2º PASSO
Determina-se a complexidade de cada função (Baixa, Média, Alta)
Contagem Detalhada
3º PASSO
Calcula-se o total de pontos de função não ajustados.
45. N E S M A
• EM QUE FASE UTILIZAR?
As contagens indicativa e estimada foram idealizadas pelo NESMA para
serem utilizadas em etapas iniciais do ciclo de vida de desenvolvimento do
sistema, onde ainda não existem definições detalhadas dos requisitos da
aplicação, isto é, em momentos bem cedo no processo de estimativa de
tamanho.
Contagem Detalhada
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.
46. N E S M A
Cabe ao gerente do projeto e à fase do ciclo de vida em que se encontra o
sistema, decidir qual tipo de contagem de pontos de função pode ser
usada.
Geralmente os resultados não são exatamente os mesmos, mas ainda
assim são próximos entre si.
Contagem Detalhada
47. N E S M A
Tomando como base isoladamente a contagem estimada do projeto
Health-Watcher (176 fp), nada significa, ou seja, precisamos identificar
quanto tempo, esforço, custo, pessoas envolvidas, etc; foi necessário para
desenvolver o projeto.
Quando podemos comparar medidas feitas em APF é que as coisas
começam a fazer sentido. Assim se temos dois projetos, um com 176 fp e
outro com 352 fp, podemos concluir que o segundo tem o dobro do
tamanho do primeiro.
Quanto vale o software?
48. N E S M A
Após a coleta das métricas, é possível determinar indicadores para
avaliação de novos projetos.
Levando em consideração:
Quanto vale o software?
1. que uma produtividade média de 5 hs / fp;
2. que a média de jornada de trabalho é de 6 horas;
3. que a equipe possui 3 pessoas;
4. que o valor de uma hora de trabalho é de R$ 25,00.
• Esforço = 5hs / fp = 5 x 176 fp = 880 horas
• Prazo = 880 h / ( 6h x 3 pessoas) = 49 dias
• Custo = 880 h x R$ 25,00 = R$ 22.000,00