SlideShare uma empresa Scribd logo
1 de 37
Prof.: George Hamilton
Universidade Estácio de Sá
Medidas do Esforço no
Desenvolvimento de Software
Pontos de Função
Medem a funcionalidade entregue ao
usuário.
Independem de:
– plataforma ou linguagem de programação;
– estilo de programação utilizado.
Permitem comparações entre
empresas, linguagens, etc.
Pontos de Função
Histórico
– Foram propostos por Allan Albrecht em
1979.
– A formalização das regras de contagem
teve início em 1984, pela IBM.
– Em 1986 foi criado o IFPUG:
 International Function Points Users Group.
– Atualmente, o manual de contagem
encontra-se na versão 4.1.1.
Pontos de Função
Objetivos
– Mensurar a funcionalidade que o software
oferece a seus usuários.
 Independentemente da tecnologia utilizada
para implementação.
– Oferecer uma forma de contagem:
 simples o suficiente para minimizar o overhead
gerado pela medição; e,
 consistente entre diferentes projetos e
organizações.
Pontos de Função
A Análise de Pontos de Função (APF)
permite:
– determinar o tamanho de uma aplicação a
partir da funcionalidade nela contida;
– mensurar o desenvolvimento de software
para analisar qualidade e produtividade;
– estimar custo e recursos necessários ao
desenvolvimento ou manutenção;
– normalizar dados para comparação.
Pontos de Função
Principais vantagens:
– Transparência para o usuário final.
– Apoio à estimativa de tempo, recursos e
custos:
 desde o início do ciclo de desenvolvimento
mesmo sem ter todas as informações
necessárias sobre o sistema.
– Melhora na qualidade dos contratos de
terceirização.
ETAPAS DO PROCESSO
1. Identificação das funções do sistema1. Identificação das funções do sistema
2. Classificação de cada função quanto à complexidade2. Classificação de cada função quanto à complexidade
funcional relativa como: simples, média ou complexafuncional relativa como: simples, média ou complexa
3. Cálculo dos pontos de função brutos através da3. Cálculo dos pontos de função brutos através da
aplicação dos pesos de acordo com uma tabelaaplicação dos pesos de acordo com uma tabela
específicaespecífica
4. Avaliação de 14 características gerais do sistema4. Avaliação de 14 características gerais do sistema
5. Determinação do Fator de Ajuste5. Determinação do Fator de Ajuste
6. Cálculo dos pontos de função ajustados6. Cálculo dos pontos de função ajustados
Contagem de Pontos de Função
Tipos de Pontos de Função:
Entradas externas:
 Processo elementar no qual dados cruzam a
fronteira da aplicação de fora para dentro com
o objetivo de alterar o comportamento da
aplicação ou dados.
Consultas externas:
 Processo elementar no qual dados cruzam a
fronteira da aplicação de fora para dentro sem
envolver cálculos ou alteraçào de dados.
Contagem de Pontos de Função
Tipos de Pontos de Função
Saídas externas:
Processo elementar no qual dados
cruzam a fronteira da aplicação de
dentro para fora.
Arquivos lógicos internos:
Grupo de dados logicamente correlatos,
identificável pelo usuário, mantido
dentro da fronteira da aplicação.
Contagem de Pontos de Função
Tipos de Pontos de Função
Arquivos de interface externa:
Grupo de dados logicamente correlatos,
identificável pelo usuário, mantido por
outra aplicação.
Sistema de
Informação
Arquivos
Lógicos
Internos
Consultas
Outro
Sistema
Entradas
Saídas
A complexidade de cada elemento é
classificada como simples, média,
ou complexa com base em tabelas
fixas.
Arquivos
Interface
Externa
Contagem de Pontos de Função
Contagem de Pontos de Função
Identificação de funções de transação
Exemplo – em um sistema de biblioteca
 Incluir Obra
 Alterar dados existente
 Consultar lista de títulos
 Registrar empréstimo
 Emitir relatório de empréstimos por período
 ...
Contagem de Pontos de Função
 Contagem de elementos:
 Para cada função de dados:
 Contar os Tipos de registros e os Campos de
dados.
 Para cada função de transação:
 Contar os Arquivos referenciados e os Campos
de dados.
 Classificar cada tipo de função quanto à
complexidade: Baixa, Média ou Alta.
Contagem de Pontos de Função
 Atribuição de pesos:
 Cada tipo de função possui um peso, de
acordo com sua complexidade.
 O peso corresponde à quantidade de PF
não ajustados que a função agrega à
aplicação.
 Somando-se os pesos de todas as
funções, obtém-se o total de PF não
ajustados.
Contagem de Pontos de Função
Atribuição de pesos – tabela de referência
Função C. Baixa C. Média C. Alta
ALI 7 10 15
AIE 5 7 10
EE 3 4 6
SE 4 5 7
CE 3 4 6
PONTOS DE FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
entradas de usuário (formulários)
que forneçam dados estáticos
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
saídas de usuário que forneçam
informações (cada página de um website)
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
entrada on-line de formulários que
resulte em saída on-line
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
cada arquivo lógico
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
todas as interfaces usadas para transmitir
informação para outro sistema
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
CÁLCULO DE PONTOS DE FUNÇÃO
SIMPLES
MÉDIA
COMPLEXA
SIMPLES
MÉDIA
COMPLEXA
SIMPLES
MÉDIO
COMPLEXO
99
52
12
163
32
30
28
90
91
20
15
126
054
433433
ENTRADAS
TOTAL
SAÍDAS
TOTAL
ARQUIVOS
TOTAL
---
33
13
2
48
8
6
4
18
13
2
1
16
--
3
4
6
4
5
7
7
10
15
--
--
---»»
TOTAL BRUTO DE PONTOS DE FUNÇÃO = 433TOTAL BRUTO DE PONTOS DE FUNÇÃO = 433
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
Passos para calcular o fator de ajuste:
Avaliar o impacto de cada uma das
quatorze características atribuindo para cada
característica um peso de 0 a 5.
Calcular o nível de influência através da
soma dos pesos de cada uma das
características.
Calcular o fator de ajuste a partir da
equação Fator = (NI * 0,01) + 0,65.
Contagem de Pontos de Função
Critério de Avaliação das
Características Gerais e seu NI
Cada uma das 14 características gerais deve ser avaliada e
a ela atribuído um nível de influência que varia de 0 a 5.
Nível de Influência Descrição %
0 Não existe ou não exerce
1 Pouca Influência 1 - 20
2 Influência Moderada 21 - 40
3 Influência Média 41 - 60
4 Influência Significativa 61 - 80
5 Influência Total 81 - 100
2) Responder as questões 1-14, considerando a escala de 0 a 5:
influência 0 1 2 3 4 5
nenhuma pouca moderada média significante essencial
1. É requerida comunicação de dados?
2. Existem funções de processamento
distribuído?
3. O desempenho é crítico?
4. A conversão e a instalação estão incluídas no
projeto?
5. O sistema exige backup e recuperação
confiáveis?
6. São requeridas entrada de dados on-line?
7. Entradas, saídas, arquivos e consultas são
complexos?
8. Os arquivos são atualizados on-line?
9. O processamento interno é complexo?
10. O código é projetado para ser reusával?
11. As entradas on-line requerem que as
transações de entrada sejam construídas
com várias telas e operações?
12. O sistema funcionará num sistema
operacional existente e intensamente
utilizado?
13. O sistema é projetado para múltiplas
instalações em diferentes organizações?
14. A aplicação é projetada de forma a
facilitar mudanças e o uso pelo usuário?
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
NÍVEIS DE INFLUÊNCIA
FATOR DE AJUSTE
0,65 + (0,01 * NI) = FA
0,65 + (0,01 * 42) = 1,07
PONTOS DE FUNÇÃOPONTOS DE FUNÇÃO
AJUSTADOAJUSTADO
PF * FA = PFPF * FA = PFajustadoajustado
433 * 1,07 = 463433 * 1,07 = 463
CARACTERÍSTICAS
1. COMUNICAÇÃO DE DADOS 3
2. FUNÇÕES DISTRÍBUIDAS 0
3. DESEMPENHO 4
4. CARGA DE CONFIGURAÇÃO 4
5. VOLUME DE TRANSAÇÕES 5
6. ENTRADA DE DADOS ON-LINE 5
7. EFICIÊNCIA DO USUÁRIO FINAL 4
8. ATUALIZAÇÃO ON-LINE 1
9. PROCESSAMENTO COMPLEXO 3
10. REUTILIZAÇÃO 0
11. FACILIDADE DE IMPLEMENTAÇÃO 4
12. FACILIDADE DE OPERAÇÃO 5
13. MÚLTIPLOS LOCAIS 0
14. FACILIDADE DE MUDANÇA 4
NÍVEL DE INFLUÊNCIA TOTAL (NI) 42
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
3) Ajustar os Pontos por Função de acordo com a complexidade
do sistema, através da seguinte fórmula:
PF = Contagem-Total x 0,65 + 0,01 x (Fi)
14
i = 1
Fi = valores de ajuste da complexidade
das perguntas 1-14
MÉTRICAS
DERIVADAS
PRODUTIVIDADE =
QUALIDADE =
CUSTO =
DOCUMENTAÇÃO =
PF / pessoas-mês
erros / PF
$ / PF
pags.docum. / PF
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
PONTUAÇÃO
OO tamanhotamanho de uma sistema independe do ambientede uma sistema independe do ambiente
tecnológico ou metodologias utilizadas no seutecnológico ou metodologias utilizadas no seu
desenvolvimentodesenvolvimento
Um sistema de 500 PF terá o mesmo tamanhoUm sistema de 500 PF terá o mesmo tamanho
independente do ambienteindependente do ambiente
– Ex: Cliente-servidor, mainframe, orientação a objeto, etcEx: Cliente-servidor, mainframe, orientação a objeto, etc
OO esforçoesforço para desenvolver um sistema depende dapara desenvolver um sistema depende da
produtividade do ambiente tecnológico selecionadoprodutividade do ambiente tecnológico selecionado
ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
Tamanho do sistema: 500 PF
Produtividade
• Ambiente A: 2,0 horas/PF
• Ambiente B: 5,0 horas/PF
Tempo de Desenvolvimento
• Ambiente A: 1.000 horas/homem
• Ambiente B: 2.500 horas/homem
PRODUTIVIDADE - ExemploPRODUTIVIDADE - Exemplo
Solicitação de melhoria de um sistemaSolicitação de melhoria de um sistema
Cliente requer a mudança em 6 mesesCliente requer a mudança em 6 meses
Acredita-se que a modificação pode ser feitaAcredita-se que a modificação pode ser feita
com uma equipe de 3 técnicos no prazocom uma equipe de 3 técnicos no prazo
solicitadosolicitado
O gerente de projetos é chamado a opinar ...O gerente de projetos é chamado a opinar ...
EXEMPLO DE UTILIZAÇÃO DA APFEXEMPLO DE UTILIZAÇÃO DA APF
As implementações solicitadas foram dimensionadasAs implementações solicitadas foram dimensionadas
pela APF em 750 PFpela APF em 750 PF
Modificações neste sistema registraram no passadoModificações neste sistema registraram no passado
produtividade de 25 PF/homem mêsprodutividade de 25 PF/homem mês
O gerente de projetos pode assumir o compromissoO gerente de projetos pode assumir o compromisso
ou negociar:ou negociar:
– mais pessoasmais pessoas - quantas ?- quantas ?
– maior prazomaior prazo - quando ?- quando ?
– menos modificaçõesmenos modificações - quanto ?- quanto ?
ANÁLISE DA SITUAÇÃOANÁLISE DA SITUAÇÃO
Alocar mais 2 técnicos qualificadosAlocar mais 2 técnicos qualificados
• 750 PF / (6 meses * 25 PF/hm) = 5 homens750 PF / (6 meses * 25 PF/hm) = 5 homens
Aumentar o prazo em 4 mesesAumentar o prazo em 4 meses
• 750 PF / (3 homens * 25 PF/hm) = 10 meses750 PF / (3 homens * 25 PF/hm) = 10 meses
Reduzir o volume de modificações em 40%Reduzir o volume de modificações em 40%
• 3 homens * 6 meses * 25 PF/hm = 450 PF3 homens * 6 meses * 25 PF/hm = 450 PF
OPÇÕES PARA O GERENTEOPÇÕES PARA O GERENTE
A indústria considera aplicações com mais de 500A indústria considera aplicações com mais de 500
Pontos de Função como complexas.Pontos de Função como complexas.
A produtividade média da linguagem JAVA fica em torno de 15 a 20A produtividade média da linguagem JAVA fica em torno de 15 a 20
horas/PFhoras/PF
Considerando a produtividade de 15 horas/PF e um produto a serConsiderando a produtividade de 15 horas/PF e um produto a ser
desenvolvido em JAVA com 671 PFdesenvolvido em JAVA com 671 PF
Conclui-se que o desenvolvimento das funcionalidades do produtoConclui-se que o desenvolvimento das funcionalidades do produto
levariam em média 10.065 horas (671 * 15) para serem implementadas.levariam em média 10.065 horas (671 * 15) para serem implementadas.
Ou seja, seriam necessários 76,3 homem-meses para desenvolver oOu seja, seriam necessários 76,3 homem-meses para desenvolver o
software considerando um mês com 22 úteis e um dia com 6 horas desoftware considerando um mês com 22 úteis e um dia com 6 horas de
produtividade efetiva (10.065 / (22*6)).produtividade efetiva (10.065 / (22*6)).
CONSIDERAÇÕESCONSIDERAÇÕES
VANTAGENS:VANTAGENS:
DESVANTAGENS:DESVANTAGENS:
•• Independentes da linguagemIndependentes da linguagem
•• Ideal para aplicações que usamIdeal para aplicações que usam
linguagem não procedimentallinguagem não procedimental
•• Baseados em dados mais fáceis deBaseados em dados mais fáceis de
serem conhecidos durante a evoluçãoserem conhecidos durante a evolução
do projetodo projeto
•• Cálculo baseado em dados subjetivosCálculo baseado em dados subjetivos
•• Não é uma medida direta; é apenas umNão é uma medida direta; é apenas um
númeronúmero
MÉTRICAS ORIENTADAS A FUNÇÃOMÉTRICAS ORIENTADAS A FUNÇÃO
Coletar dados, calcular e analisarColetar dados, calcular e analisar
métricas são passos que devem sermétricas são passos que devem ser
implementados para iniciar um programaimplementados para iniciar um programa
de métricasde métricas
CONSIDERAÇÕESCONSIDERAÇÕES
Contagem de Pontos de Função
Contagem de Pontos de Função
Funções de transação
Funcionalidade Tipo Complexidade Pontos de Função
Consultar dados de
mercadoria
Consulta Externa Média 4
Incluir mercadoria Entrada Externa Média 4
Alterar mercadoria Entrada Externa Média 4
Excluir mercadoria Entrada Externa Média 4
Funções de dados
Arquivo Tipo Complexidade Pontos de Função
Mercadoria Arquivo Lógico
Interno
Simples 7
Fornecedor Arquivo Lógico
Interno
Simples 7
Total de pontos de função
Total de pontos de função não ajustados 4 + 4 + 4 + 4 + 7 + 7 = 30
Fator de ajuste 0,89
Total de pontos de função ajustados 30 x 0,89 = 26,7

Mais conteúdo relacionado

Semelhante a Análise de Pontos de Função para medição de software

Análise de Pontos de Função
Análise de Pontos de FunçãoAnálise de Pontos de Função
Análise de Pontos de FunçãoCristhiano Garcia
 
Testes nao funcionais 1
Testes nao funcionais 1Testes nao funcionais 1
Testes nao funcionais 1Nauber Gois
 
Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforçoelliando dias
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Estimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoEstimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoE-NOVAR Solutions
 
A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...
A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...
A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...Joao Galdino Mello de Souza
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4spawally
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eAlan Correa Morais
 
Projetode redes
Projetode redesProjetode redes
Projetode redeswab030
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareSaulo Arruda
 

Semelhante a Análise de Pontos de Função para medição de software (20)

Análise de Pontos de Função
Análise de Pontos de FunçãoAnálise de Pontos de Função
Análise de Pontos de Função
 
Apf
ApfApf
Apf
 
APF
APFAPF
APF
 
Testes nao funcionais 1
Testes nao funcionais 1Testes nao funcionais 1
Testes nao funcionais 1
 
Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforço
 
SIC_201_VRSJ
SIC_201_VRSJSIC_201_VRSJ
SIC_201_VRSJ
 
Apf
ApfApf
Apf
 
Lab view(cap.2)
Lab view(cap.2)Lab view(cap.2)
Lab view(cap.2)
 
Mainframe Performance Review
Mainframe Performance ReviewMainframe Performance Review
Mainframe Performance Review
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Estimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoEstimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de Uso
 
[Parfor] esw aula 04
[Parfor] esw   aula 04[Parfor] esw   aula 04
[Parfor] esw aula 04
 
Nesma
NesmaNesma
Nesma
 
Kafer2014.pdf
Kafer2014.pdfKafer2014.pdf
Kafer2014.pdf
 
A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...
A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...
A Automação dos Processos na Gestão de Performance das Aplicações por Gilbert...
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf e
 
Projetode redes
Projetode redesProjetode redes
Projetode redes
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Síntese do Fórum do livro-apf Outubro
Síntese do Fórum do livro-apf  OutubroSíntese do Fórum do livro-apf  Outubro
Síntese do Fórum do livro-apf Outubro
 

Análise de Pontos de Função para medição de software

  • 1. Prof.: George Hamilton Universidade Estácio de Sá Medidas do Esforço no Desenvolvimento de Software
  • 2. Pontos de Função Medem a funcionalidade entregue ao usuário. Independem de: – plataforma ou linguagem de programação; – estilo de programação utilizado. Permitem comparações entre empresas, linguagens, etc.
  • 3. Pontos de Função Histórico – Foram propostos por Allan Albrecht em 1979. – A formalização das regras de contagem teve início em 1984, pela IBM. – Em 1986 foi criado o IFPUG:  International Function Points Users Group. – Atualmente, o manual de contagem encontra-se na versão 4.1.1.
  • 4. Pontos de Função Objetivos – Mensurar a funcionalidade que o software oferece a seus usuários.  Independentemente da tecnologia utilizada para implementação. – Oferecer uma forma de contagem:  simples o suficiente para minimizar o overhead gerado pela medição; e,  consistente entre diferentes projetos e organizações.
  • 5. Pontos de Função A Análise de Pontos de Função (APF) permite: – determinar o tamanho de uma aplicação a partir da funcionalidade nela contida; – mensurar o desenvolvimento de software para analisar qualidade e produtividade; – estimar custo e recursos necessários ao desenvolvimento ou manutenção; – normalizar dados para comparação.
  • 6. Pontos de Função Principais vantagens: – Transparência para o usuário final. – Apoio à estimativa de tempo, recursos e custos:  desde o início do ciclo de desenvolvimento mesmo sem ter todas as informações necessárias sobre o sistema. – Melhora na qualidade dos contratos de terceirização.
  • 7. ETAPAS DO PROCESSO 1. Identificação das funções do sistema1. Identificação das funções do sistema 2. Classificação de cada função quanto à complexidade2. Classificação de cada função quanto à complexidade funcional relativa como: simples, média ou complexafuncional relativa como: simples, média ou complexa 3. Cálculo dos pontos de função brutos através da3. Cálculo dos pontos de função brutos através da aplicação dos pesos de acordo com uma tabelaaplicação dos pesos de acordo com uma tabela específicaespecífica 4. Avaliação de 14 características gerais do sistema4. Avaliação de 14 características gerais do sistema 5. Determinação do Fator de Ajuste5. Determinação do Fator de Ajuste 6. Cálculo dos pontos de função ajustados6. Cálculo dos pontos de função ajustados
  • 8. Contagem de Pontos de Função Tipos de Pontos de Função: Entradas externas:  Processo elementar no qual dados cruzam a fronteira da aplicação de fora para dentro com o objetivo de alterar o comportamento da aplicação ou dados. Consultas externas:  Processo elementar no qual dados cruzam a fronteira da aplicação de fora para dentro sem envolver cálculos ou alteraçào de dados.
  • 9. Contagem de Pontos de Função Tipos de Pontos de Função Saídas externas: Processo elementar no qual dados cruzam a fronteira da aplicação de dentro para fora. Arquivos lógicos internos: Grupo de dados logicamente correlatos, identificável pelo usuário, mantido dentro da fronteira da aplicação.
  • 10. Contagem de Pontos de Função Tipos de Pontos de Função Arquivos de interface externa: Grupo de dados logicamente correlatos, identificável pelo usuário, mantido por outra aplicação.
  • 11. Sistema de Informação Arquivos Lógicos Internos Consultas Outro Sistema Entradas Saídas A complexidade de cada elemento é classificada como simples, média, ou complexa com base em tabelas fixas. Arquivos Interface Externa Contagem de Pontos de Função
  • 12. Contagem de Pontos de Função Identificação de funções de transação Exemplo – em um sistema de biblioteca  Incluir Obra  Alterar dados existente  Consultar lista de títulos  Registrar empréstimo  Emitir relatório de empréstimos por período  ...
  • 13. Contagem de Pontos de Função  Contagem de elementos:  Para cada função de dados:  Contar os Tipos de registros e os Campos de dados.  Para cada função de transação:  Contar os Arquivos referenciados e os Campos de dados.  Classificar cada tipo de função quanto à complexidade: Baixa, Média ou Alta.
  • 14. Contagem de Pontos de Função  Atribuição de pesos:  Cada tipo de função possui um peso, de acordo com sua complexidade.  O peso corresponde à quantidade de PF não ajustados que a função agrega à aplicação.  Somando-se os pesos de todas as funções, obtém-se o total de PF não ajustados.
  • 15. Contagem de Pontos de Função Atribuição de pesos – tabela de referência Função C. Baixa C. Média C. Alta ALI 7 10 15 AIE 5 7 10 EE 3 4 6 SE 4 5 7 CE 3 4 6
  • 16. PONTOS DE FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS: 1) Completar a seguinte tabela: Fator de Ponderação Parâmetro Contagem Simples Médio Complexo No. de entradas x 3 4 6 do usuário No. de saídas x 4 5 7 do usuário No. de consultas x 3 4 6 do usuário No. de arquivos x 7 10 15 No. de interfaces x 5 7 10 externas Contagem-Total ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 17. PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS: 1) Completar a seguinte tabela: Fator de Ponderação Parâmetro Contagem Simples Médio Complexo No. de entradas x 3 4 6 do usuário No. de saídas x 4 5 7 do usuário No. de consultas x 3 4 6 do usuário No. de arquivos x 7 10 15 No. de interfaces x 5 7 10 externas Contagem-Total entradas de usuário (formulários) que forneçam dados estáticos ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 18. PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS: 1) Completar a seguinte tabela: Fator de Ponderação Parâmetro Contagem Simples Médio Complexo No. de entradas x 3 4 6 do usuário No. de saídas x 4 5 7 do usuário No. de consultas x 3 4 6 do usuário No. de arquivos x 7 10 15 No. de interfaces x 5 7 10 externas Contagem-Total saídas de usuário que forneçam informações (cada página de um website) ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 19. PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS: 1) Completar a seguinte tabela: Fator de Ponderação Parâmetro Contagem Simples Médio Complexo No. de entradas x 3 4 6 do usuário No. de saídas x 4 5 7 do usuário No. de consultas x 3 4 6 do usuário No. de arquivos x 7 10 15 No. de interfaces x 5 7 10 externas Contagem-Total entrada on-line de formulários que resulte em saída on-line ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 20. PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS: 1) Completar a seguinte tabela: Fator de Ponderação Parâmetro Contagem Simples Médio Complexo No. de entradas x 3 4 6 do usuário No. de saídas x 4 5 7 do usuário No. de consultas x 3 4 6 do usuário No. de arquivos x 7 10 15 No. de interfaces x 5 7 10 externas Contagem-Total cada arquivo lógico ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 21. PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS: 1) Completar a seguinte tabela: Fator de Ponderação Parâmetro Contagem Simples Médio Complexo No. de entradas x 3 4 6 do usuário No. de saídas x 4 5 7 do usuário No. de consultas x 3 4 6 do usuário No. de arquivos x 7 10 15 No. de interfaces x 5 7 10 externas Contagem-Total todas as interfaces usadas para transmitir informação para outro sistema ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 22. CÁLCULO DE PONTOS DE FUNÇÃO SIMPLES MÉDIA COMPLEXA SIMPLES MÉDIA COMPLEXA SIMPLES MÉDIO COMPLEXO 99 52 12 163 32 30 28 90 91 20 15 126 054 433433 ENTRADAS TOTAL SAÍDAS TOTAL ARQUIVOS TOTAL --- 33 13 2 48 8 6 4 18 13 2 1 16 -- 3 4 6 4 5 7 7 10 15 -- -- ---»» TOTAL BRUTO DE PONTOS DE FUNÇÃO = 433TOTAL BRUTO DE PONTOS DE FUNÇÃO = 433 ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 23. Passos para calcular o fator de ajuste: Avaliar o impacto de cada uma das quatorze características atribuindo para cada característica um peso de 0 a 5. Calcular o nível de influência através da soma dos pesos de cada uma das características. Calcular o fator de ajuste a partir da equação Fator = (NI * 0,01) + 0,65. Contagem de Pontos de Função
  • 24. Critério de Avaliação das Características Gerais e seu NI Cada uma das 14 características gerais deve ser avaliada e a ela atribuído um nível de influência que varia de 0 a 5. Nível de Influência Descrição % 0 Não existe ou não exerce 1 Pouca Influência 1 - 20 2 Influência Moderada 21 - 40 3 Influência Média 41 - 60 4 Influência Significativa 61 - 80 5 Influência Total 81 - 100
  • 25. 2) Responder as questões 1-14, considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca moderada média significante essencial 1. É requerida comunicação de dados? 2. Existem funções de processamento distribuído? 3. O desempenho é crítico? 4. A conversão e a instalação estão incluídas no projeto? 5. O sistema exige backup e recuperação confiáveis? 6. São requeridas entrada de dados on-line? 7. Entradas, saídas, arquivos e consultas são complexos? 8. Os arquivos são atualizados on-line? 9. O processamento interno é complexo? 10. O código é projetado para ser reusával? 11. As entradas on-line requerem que as transações de entrada sejam construídas com várias telas e operações? 12. O sistema funcionará num sistema operacional existente e intensamente utilizado? 13. O sistema é projetado para múltiplas instalações em diferentes organizações? 14. A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário? ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 26. NÍVEIS DE INFLUÊNCIA FATOR DE AJUSTE 0,65 + (0,01 * NI) = FA 0,65 + (0,01 * 42) = 1,07 PONTOS DE FUNÇÃOPONTOS DE FUNÇÃO AJUSTADOAJUSTADO PF * FA = PFPF * FA = PFajustadoajustado 433 * 1,07 = 463433 * 1,07 = 463 CARACTERÍSTICAS 1. COMUNICAÇÃO DE DADOS 3 2. FUNÇÕES DISTRÍBUIDAS 0 3. DESEMPENHO 4 4. CARGA DE CONFIGURAÇÃO 4 5. VOLUME DE TRANSAÇÕES 5 6. ENTRADA DE DADOS ON-LINE 5 7. EFICIÊNCIA DO USUÁRIO FINAL 4 8. ATUALIZAÇÃO ON-LINE 1 9. PROCESSAMENTO COMPLEXO 3 10. REUTILIZAÇÃO 0 11. FACILIDADE DE IMPLEMENTAÇÃO 4 12. FACILIDADE DE OPERAÇÃO 5 13. MÚLTIPLOS LOCAIS 0 14. FACILIDADE DE MUDANÇA 4 NÍVEL DE INFLUÊNCIA TOTAL (NI) 42 ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 27. 3) Ajustar os Pontos por Função de acordo com a complexidade do sistema, através da seguinte fórmula: PF = Contagem-Total x 0,65 + 0,01 x (Fi) 14 i = 1 Fi = valores de ajuste da complexidade das perguntas 1-14 MÉTRICAS DERIVADAS PRODUTIVIDADE = QUALIDADE = CUSTO = DOCUMENTAÇÃO = PF / pessoas-mês erros / PF $ / PF pags.docum. / PF ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 28. PONTUAÇÃO OO tamanhotamanho de uma sistema independe do ambientede uma sistema independe do ambiente tecnológico ou metodologias utilizadas no seutecnológico ou metodologias utilizadas no seu desenvolvimentodesenvolvimento Um sistema de 500 PF terá o mesmo tamanhoUm sistema de 500 PF terá o mesmo tamanho independente do ambienteindependente do ambiente – Ex: Cliente-servidor, mainframe, orientação a objeto, etcEx: Cliente-servidor, mainframe, orientação a objeto, etc OO esforçoesforço para desenvolver um sistema depende dapara desenvolver um sistema depende da produtividade do ambiente tecnológico selecionadoprodutividade do ambiente tecnológico selecionado ANÁLISE DE PONTOS DE FUNÇÃOANÁLISE DE PONTOS DE FUNÇÃO
  • 29. Tamanho do sistema: 500 PF Produtividade • Ambiente A: 2,0 horas/PF • Ambiente B: 5,0 horas/PF Tempo de Desenvolvimento • Ambiente A: 1.000 horas/homem • Ambiente B: 2.500 horas/homem PRODUTIVIDADE - ExemploPRODUTIVIDADE - Exemplo
  • 30. Solicitação de melhoria de um sistemaSolicitação de melhoria de um sistema Cliente requer a mudança em 6 mesesCliente requer a mudança em 6 meses Acredita-se que a modificação pode ser feitaAcredita-se que a modificação pode ser feita com uma equipe de 3 técnicos no prazocom uma equipe de 3 técnicos no prazo solicitadosolicitado O gerente de projetos é chamado a opinar ...O gerente de projetos é chamado a opinar ... EXEMPLO DE UTILIZAÇÃO DA APFEXEMPLO DE UTILIZAÇÃO DA APF
  • 31. As implementações solicitadas foram dimensionadasAs implementações solicitadas foram dimensionadas pela APF em 750 PFpela APF em 750 PF Modificações neste sistema registraram no passadoModificações neste sistema registraram no passado produtividade de 25 PF/homem mêsprodutividade de 25 PF/homem mês O gerente de projetos pode assumir o compromissoO gerente de projetos pode assumir o compromisso ou negociar:ou negociar: – mais pessoasmais pessoas - quantas ?- quantas ? – maior prazomaior prazo - quando ?- quando ? – menos modificaçõesmenos modificações - quanto ?- quanto ? ANÁLISE DA SITUAÇÃOANÁLISE DA SITUAÇÃO
  • 32. Alocar mais 2 técnicos qualificadosAlocar mais 2 técnicos qualificados • 750 PF / (6 meses * 25 PF/hm) = 5 homens750 PF / (6 meses * 25 PF/hm) = 5 homens Aumentar o prazo em 4 mesesAumentar o prazo em 4 meses • 750 PF / (3 homens * 25 PF/hm) = 10 meses750 PF / (3 homens * 25 PF/hm) = 10 meses Reduzir o volume de modificações em 40%Reduzir o volume de modificações em 40% • 3 homens * 6 meses * 25 PF/hm = 450 PF3 homens * 6 meses * 25 PF/hm = 450 PF OPÇÕES PARA O GERENTEOPÇÕES PARA O GERENTE
  • 33. A indústria considera aplicações com mais de 500A indústria considera aplicações com mais de 500 Pontos de Função como complexas.Pontos de Função como complexas. A produtividade média da linguagem JAVA fica em torno de 15 a 20A produtividade média da linguagem JAVA fica em torno de 15 a 20 horas/PFhoras/PF Considerando a produtividade de 15 horas/PF e um produto a serConsiderando a produtividade de 15 horas/PF e um produto a ser desenvolvido em JAVA com 671 PFdesenvolvido em JAVA com 671 PF Conclui-se que o desenvolvimento das funcionalidades do produtoConclui-se que o desenvolvimento das funcionalidades do produto levariam em média 10.065 horas (671 * 15) para serem implementadas.levariam em média 10.065 horas (671 * 15) para serem implementadas. Ou seja, seriam necessários 76,3 homem-meses para desenvolver oOu seja, seriam necessários 76,3 homem-meses para desenvolver o software considerando um mês com 22 úteis e um dia com 6 horas desoftware considerando um mês com 22 úteis e um dia com 6 horas de produtividade efetiva (10.065 / (22*6)).produtividade efetiva (10.065 / (22*6)). CONSIDERAÇÕESCONSIDERAÇÕES
  • 34. VANTAGENS:VANTAGENS: DESVANTAGENS:DESVANTAGENS: •• Independentes da linguagemIndependentes da linguagem •• Ideal para aplicações que usamIdeal para aplicações que usam linguagem não procedimentallinguagem não procedimental •• Baseados em dados mais fáceis deBaseados em dados mais fáceis de serem conhecidos durante a evoluçãoserem conhecidos durante a evolução do projetodo projeto •• Cálculo baseado em dados subjetivosCálculo baseado em dados subjetivos •• Não é uma medida direta; é apenas umNão é uma medida direta; é apenas um númeronúmero MÉTRICAS ORIENTADAS A FUNÇÃOMÉTRICAS ORIENTADAS A FUNÇÃO
  • 35. Coletar dados, calcular e analisarColetar dados, calcular e analisar métricas são passos que devem sermétricas são passos que devem ser implementados para iniciar um programaimplementados para iniciar um programa de métricasde métricas CONSIDERAÇÕESCONSIDERAÇÕES
  • 36. Contagem de Pontos de Função
  • 37. Contagem de Pontos de Função Funções de transação Funcionalidade Tipo Complexidade Pontos de Função Consultar dados de mercadoria Consulta Externa Média 4 Incluir mercadoria Entrada Externa Média 4 Alterar mercadoria Entrada Externa Média 4 Excluir mercadoria Entrada Externa Média 4 Funções de dados Arquivo Tipo Complexidade Pontos de Função Mercadoria Arquivo Lógico Interno Simples 7 Fornecedor Arquivo Lógico Interno Simples 7 Total de pontos de função Total de pontos de função não ajustados 4 + 4 + 4 + 4 + 7 + 7 = 30 Fator de ajuste 0,89 Total de pontos de função ajustados 30 x 0,89 = 26,7