Felipe Ribeiro
Katia Barros
Katya Lyra
Luanna Brito
Luis Augusto Guimarães
NESMA
A associação
É 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.
NESMA
A associação
• 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
NESMA
A associação
• 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.
NESMA
Objetivos
• 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;
NESMA
Método
• 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).
NESMA
Membros
• 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
NESMA
IFPUG - International Function Point Users Group
http://www.ifpug.org/
NESMA
IFPUG - International Function Point Users Group
• 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.
NESMA
Métricas
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).
NESMA
Métricas
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.
NESMA
Métricas
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.
NESMA
Métricas
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.
NESMA
Análise de Pontos de Função
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.
NESMA
Análise de Pontos de Função
• Objetivos
• 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.
NESMA
Análise de Pontos de Função
• 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.
NESMA
Análise de Pontos de Função
• 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
NESMA
Análise de Pontos de Função
• Identificação do Tipo de Contagem a ser Utilizado
O que vou medir?
Consiste na identificação do objeto a ser medido, como
sendo um projeto de desenvolvimento, manutenção ou
produção.
NESMA
Análise de Pontos de Função
• 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.
NESMA
Análise de Pontos de Função
• Contagem
de Pontos de Função não Ajustados
 Arquivo Lógico Interno (ALI)
 Arquivo de Interface Externa (AIE)
 Entradas Externas (EE)
 Saídas Externas (SE)
 Consultas Externas (CE)
NESMA
Análise de Pontos de Função
• Cálculo do Fator de Ajuste
Características gerais do sistema:
1.
2.
3.
4.
5.
6.
7.
Comunicação de dados
Funções distribuídas
Desempenho
Utilização do equipamento
Volume de transações
Entrada de dados on-line
Interface com o usuário
8.
9.
10.
11.
12.
13.
14.
Atualizações on-line
Processamento complexo
Reusabilidade
Facilidade de implantação
Facilidade operacional
Múltiplos locais
Facilidade de mudanças
NESMA
Análise de Pontos de Função
• Contagem
de Pontos de Função Ajustados
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.
Formas de cálculo:
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)
NESMA
Abordagem NESMA
• Tipos de Contagem
 contagem indicativa de pontos de função
 contagem estimada de pontos de função
 contagem detalhada de pontos de função
NESMA
Contagem Indicativa
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.
NESMA
Contagem Indicativa
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.
NESMA
Contagem Indicativa
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.
NESMA
Contagem Indicativa
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.
NESMA
Contagem Indicativa
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.
NESMA
Contagem Indicativa
• EXEMPLO
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
•
•
•
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
85 pf
NESMA
Contagem Estimada
• 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
NESMA
Contagem Estimada
• 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.
NESMA
Contagem Estimada
• 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.
NESMA
Contagem Estimada
• 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.
NESMA
Contagem Estimada
• COMO USAR?
TABELA DE COMPLEXIDADE IFPUG
Tipo de Função
ALI
AIE
EE
SE
CE
Nível de complexidade
Baixo
Médio
7
10
5
7
13
4
4
5
3
4
Alto
15
10
6
7
6
NESMA
Contagem Estimada
• 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.
NESMA
Contagem Estimada
• EXEMPLO 1
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
Cliente
Produto
Fornecedor
ALI
ALI
AIE
Baixa
Baixa
Baixa
7
7
5
Incluir Cliente
Alterar Cliente
Excluir Cliente
Consultar Cliente
Relatório 1 de Cliente
Relatório 2 de Cliente
Relatório 3 de Cliente
Relatório 4 de Cliente
EE
EE
EE
CE
SE
SE
SE
SE
Média
Média
Média
Média
Média
Média
Média
Média
4
4
4
4
5
5
5
5
NESMA
Contagem Estimada
• EXEMPLO 1
Função do tipo Dado ou
Transação
Tipo de
Função
Complexidade
Pontos de Função
(não ajustados)
Incluir Produto
Alterar Produto
Excluir Produto
Consultar Produto
Relatório de Produto
EE
EE
EE
CE
SE
Média
Média
Média
Média
Média
4
4
4
4
5
Consultar Fornecedor
Relatório de Fornecedor
CE
SE
Média
Média
4
5
Estimativa do tamanho
funcional
85 fp
NESMA
Contagem Estimada
• 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
Especialidade
Funcionário
Queixa
Doença
Sintoma
ALI
ALI
ALI
ALI
ALI
ALI
Baixa
Baixa
Baixa
Baixa
Baixa
Baixa
7
7
7
7
7
7
Consultar guia de saúde
Consultar queixa
Consultar doença
CE
CE
CE
Média
Média
Média
4
4
4
NESMA
Contagem Estimada
• 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
Alterar unid. de saúde
Consultar unid. de saúde
Excluir unid. de saúde
Imprimir unid. de saúde
EE
EE
CE
EE
SE
Média
Média
Média
Média
Média
4
4
4
4
5
Inserir especialidade
Alterar especialidade
Consultar especialidade
Excluir especialidade
Imprimir especialidade
EE
EE
CE
EE
SE
Média
Média
Média
Média
Média
4
4
4
4
5
NESMA
Contagem Estimada
• 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
Alterar doença
Consultar doença
Excluir doença
Imprimir doença
EE
EE
CE
EE
SE
Média
Média
Média
Média
Média
4
4
4
4
5
Inserir sintoma
Alterar sintoma
Consultar sintoma
Excluir sintoma
Imprimir sintoma
EE
EE
CE
EE
SE
Média
Média
Média
Média
Média
4
4
4
4
5
NESMA
Contagem Estimada
• 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
Alterar funcionário
Consultar funcionário
Excluir funcionário
Imprimir funcionário
EE
EE
CE
EE
SE
Média
Média
Média
Média
Média
4
4
4
4
5
Inserir queixa
Atualizar queixa
Consultar queixa
Imprimir queixa
EE
EE
CE
SE
Média
Média
Média
Média
4
4
4
5
Estimativa do tamanho
funcional
176 fp
NESMA
Comparativo Exemplo 2
• EXEMPLO 2: Health-Watcher
Contagem Indicativa
Estimativa do
tamanho funcional
Contagem Estimativa
Estimativa do
tamanho funcional
Método
Pontos de Função
(não ajustados)
(35 x nº de ALIs) + (15 x nº AIEs)
Nº de ALIs = 6
Nº de AIEs = 0
210 fp
Método
Pontos de Função
(não ajustados)
Utilização da tabela de
complexidade funcional com
dados pré-definidos
176 fp
NESMA
Contagem Detalhada
• 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.
NESMA
Contagem Detalhada
• 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)
3º PASSO
Calcula-se o total de pontos de função não ajustados.
NESMA
Contagem Detalhada
• 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.
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.
NESMA
Contagem Detalhada
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.
NESMA
Quanto vale o software?
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.
NESMA
Quanto vale o software?
Após a coleta das métricas, é possível determinar indicadores para
avaliação de novos projetos.
Levando em consideração:
1.
2.
3.
4.
que uma produtividade média de 5 hs / fp;
que a média de jornada de trabalho é de 6 horas;
que a equipe possui 3 pessoas;
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
Download

NESMA