Buscar

Pontos de Função: Métrica de Gerenciamento

Prévia do material em texto

Pontos de FunçãoPontos de Função
Não se pode gerenciar o que não se pode medir.
IntroduçãoIntrodução
O gerenciamento de projetos deve ser auxiliado 
pela utilização de uma métrica que permita a 
mensuração de um projeto e 
conseqüentemente a geração de sua estimativa 
de prazo, custo e recursos.de prazo, custo e recursos.
Produtividade no Produtividade no 
Desenvolvimento Desenvolvimento de Sistemasde Sistemas
Produtividade = Medida do Produto do Trabalho
Esforço para Produzi-lo
Para minimizar distorções é importante que a
medida do produto do trabalho seja padronizadamedida do produto do trabalho seja padronizada
e uniforme para tarefas iguais ou similares e é
preferível que o esforço seja medido em termos
de dedicação exclusiva ao trabalho em questão.
Medida do Produto do TrabalhoMedida do Produto do Trabalho
Este é o grande problema com que nos 
defrontamos nos projetos de desenvolvimento, 
manutenção e expansão de sistemas. 
Que unidade de medida padronizada e uniforme 
deve ser adotada para mensurar o tamanho de um deve ser adotada para mensurar o tamanho de um 
projeto ?
EscolhaEscolha dede umauma medidamedida
padronizadapadronizada parapara sistemassistemas
Linhas de código ?
Módulos Implantados ?
Pontos de Função podem ser utilizados para 
medir sistemas em várias fases do ciclo de vida de 
desenvolvimento, inclusive para manutenção. 
Técnica de Pontos de FunçõesTécnica de Pontos de Funções
Principal mérito:
Abordagem das funções e 
características de um sistema sob o 
ponto de vista do que ele faz para o ponto de vista do que ele faz para o 
usuário, num enfoque empresarial e 
não técnico.
ObjetivosObjetivos
� Medição de Funcionalidade de Sistemas
de acordo com a perspectiva do usuário
� Comparação da produtividade entre
ambientes de desenvolvimento
� Criação de uma unidade padrão de
medida de software
� Melhoria de estimativas de projetos de
desenvolvimento de sistemas
VantagensVantagens
� Transparência para o usuário final
� Permite estimativas de tempo, recursos e
custos desde o início do ciclo de
desenvolvimento, mesmo sem ter todas asdesenvolvimento, mesmo sem ter todas as
informações necessárias sobre o sistema.
� Melhorar a qualidade dos contratos de
terceirização
Etapas do ProcessoEtapas do Processo
Parte I:
1. Identificação das funções do sistema.
2. Classificação de cada função quanto à
complexidade funcional 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 a tabela
específica
Parte 2:
4. Avaliação das 14 características gerais do sistema
5. Determinação do Fator de Ajuste
6. Cálculo dos pontos de função ajustados.
Etapas da Parte 1 Etapas da Parte 1 -- Levantamento dos pontos Levantamento dos pontos 
de função brutos.de função brutos.
 
Parte I 
Identificar 
Funções 
Etapa 1 
Contar 
Elementos 
 
PESOS 
Pontos de 
Função 
Não 
Etapa 2 Etapa 3 
Não 
Ajustados 
Etapas da Parte 2 Etapas da Parte 2 -- Levantamento dos pontos Levantamento dos pontos 
de função ajustados.de função ajustados.
 Parte II 
Pontuar 
Ítens de 
Influência 
Etapa 4 
Determinar 
Fator de 
Ajuste 
Pontos de 
Função 
Não 
Pontos de 
Função 
 
Etapa 5 Etapa 6 
Influência Ajuste Não 
Ajustados 
 
 
(Ajustados) 
Contagem Contagem Indicativa Indicativa de de 
Pontos de FunçãoPontos de Função
O que você obterá utilizando esta forma de cálculo?
- Você obterá um valor indicativo da quantidade de
pontos de função do sistema proposto sem conhecer
detalhes do modelo nem do processo.
Quando utilizar esta forma de cálculo ?Quando utilizar esta forma de cálculo ?
- Esta forma de cálculo poderá ser utilizada na fase
inicial da proposta de desenvolvimento, quando não
se possua dados detalhados do processo, mas sim um
modelo de dados preliminar.
Contagem Contagem Indicativa de Indicativa de 
Pontos de FunçãoPontos de Função
Como funciona este tipo de cálculo ?
- A partir das informações obtidas do modelo de
dados este cálculo indicativo derivará uma
quantidade de processos referente aos arquivos
lógicos e de interface e um grau de complexidadelógicos e de interface e um grau de complexidade
que permitirá calcular o total de pontos de função
sem ter os detalhes dos arquivos ou dos
processos.
Tipos de FunçõesTipos de Funções
1. Entradas
2. Saídas
3. Arquivo Lógico Interno3. Arquivo Lógico Interno
4. Arquivo de Interface Externo
5. Consulta
Como Utilizar a MetodologiaComo Utilizar a Metodologia
Usuário Final
Aplicação ou Módulo
Entrada
Saída
Consulta
Arquivos
Transações
Arquivos
Outra Aplicação ou Módulo
Transações
 C S E
Arquivo Lógico InternoArquivo Lógico Interno
� Um grupo de dados ou informações
de controle;
Identificável pelo usuário;� Identificável pelo usuário;
� Logicamente relacionado;
� Mantido na fronteira da aplicação.
Regras de Identificação dos Regras de Identificação dos 
Arquivos Lógicos InternosArquivos Lógicos Internos
� Grupo Lógico de Dados que satisfaz os
requerimentos do usuário
� É mantido dentro da aplicação através de
processo elementarprocesso elementar
CASOS TÍPICOSCASOS TÍPICOS
� Banco de Dados (cada arquivo lógico
segundo cada visão do usuário)
� Tabelas do usuário
Arquivos de dados extra BD� Arquivos de dados extra BD
� Arquivos de Mensagens
� Arquivos de documentação On-line (Help)
� Arquivos de Controle / Parâmetros
Não ConsiderarNão Considerar
� Os arquivos Lógicos internos a que o usuário não
tenha acesso
� Arquivos internos do sistema (temporários ou de
trabalho)
� Mais de uma vez o mesmo arquivo classificado em� Mais de uma vez o mesmo arquivo classificado em
seqüência(s) diferente(s)
� Arquivos criados por Imposição de tecnologia
(JCL,BAT, ...)
Exemplos de ALIExemplos de ALI
� Cadastro de Produtos
� Cadastro de Funcionários
� Cadastro de Cliente
� Arquivo de controle de acesso à aplicação� Arquivo de controle de acesso à aplicação
� Arquivo de dependente
Nível de Complexidade do ArquivoNível de Complexidade do Arquivo
Tipos de
Registro Lógico
1 - 19 20 - 50 51 +
Campos de Dados
 1 S S M
 2 - 5 S M C
 6 + M C C
Arquivo de Interface ExternoArquivo de Interface Externo
� Grupo Lógico de dados ou parâmetros que é 
transferido de uma aplicação para outra, ou seja:
Um grupo de dados ou informações de controle;
Identificável pelo usuário;
Logicamente relacionado;Logicamente relacionado;
Referenciado (lido) pela aplicação.
CASOS TÍPICOS:
� Banco de Dados compartilhado
� Arquivo de parâmetros compartilhado
� ALI de outra aplicação acessado somente para leitura
pela aplicação medida.
EntradaEntrada
Um processo elementar;
Faz o processamento de dados ou informações de 
controle recebido de fora da fronteira da aplicação;
Tem como objetivo manter (incluir, alterar ou Tem como objetivo manter (incluir, alterar ou 
excluir dados de) um ou até mais ALIs e ou 
modificar o comportamento do sistema.
Manutenção de Arquivo Lógico Interno 
inclusão
exclusão
alteração
CASOS TÍPICOSCASOS TÍPICOS
� Tela de entrada de dados (operações de
inclusão, exclusão, alteração de registros)
� Menus;
� Telas de login;� Telas de login;
� Telas de filtro de relatório e consultas.
� Entrada em Modo Batch (uma para cada função
de manutenção)
Não Considerar :Não Considerar :
� Entradas necessárias apenas em função
da tecnologia empregada e que não
afetam nem beneficiam diretamente o
usuáriousuário
� A parte da entrada das consultas que
servem apenas para direcionar a
recuperação de dados.
Nível de Complexidade da EntradaNível de Complexidade da Entrada
Arquivos
Referenciados
1 - 4 5 - 15 16 +
Campos de Dados
 0 - 1 S S M
 2 S M C
 3 + M C C
SaídaSaída
Um processo elementar;
Enviam dados ou informações de controle para fora 
da fronteira da aplicação;
Tem como principal intenção por meiode lógica de 
processamento apresentar ao usuário informação. processamento apresentar ao usuário informação. 
Essa lógica de processamento deve conter 
obrigatoriamente pelo menos uma fórmula 
matemática ou cálculo.
Exemplo de SaídaExemplo de Saída
� Arquivos que também são atualizados por 
relatórios;
� Informações em formato geográfico;
� Tela de login (com criptografia);
� Gerado para outra aplicação arquivo de movimento � Gerado para outra aplicação arquivo de movimento 
(ex: arquivo de retorno ou remessa);
� Relatório com totalização de dados;
� Apresentação de dados derivados ou consultas 
com cálculos;
Nível de Complexidade da SaídaNível de Complexidade da Saída
Arquivos
Referenciados
1 - 5 6 - 19 20 +
Campos de Dados
 0 - 1 S S M
 2 - 3 S M C
 4 + M C C
ConsultaConsulta
� Um processo elementar;
� Envia dado ou informação de controle para fora da 
fronteira da aplicação;
� Tem como principal objetivo mostrar informações ao 
usuário através de uma recuperação de dados ou usuário através de uma recuperação de dados ou 
informações de controles de ALIs e ou AIE. Sua lógica 
de processamento não deve haver nenhuma fórmula 
ou cálculo matemático.
Exemplo de ConsultasExemplo de Consultas
� Consulta ao cadastro de clientes;
� Telas de logon com funções de segurança;
� Telas de menu se solicitado ao usuário;
� Tela de menu que só provê seleção de tela e 
consulta de dados. consulta de dados. 
Nível de Complexidade da ConsultaNível de Complexidade da Consulta
 
 
1 - 5 6 - 19 20 + 
Arquivos 
Referenciados 
6 - 19 
 0 - 1 S S M 
 2 - 3 S M C 
 4 + M C C 
Cálculo dos Pontos de Funções BrutosCálculo dos Pontos de Funções Brutos
Tipos de
Funções
S M C
 ENTRADA 3 4 6
PESOS
 SAÍDA 4 5 7
 ARQ. LOG.INT. 7 10 15
 INTERFACE 5 7 10
 CONSULTA 3 4 6
Forma de Cálculo :Forma de Cálculo :
◦ A tabela anterior quando aplicada para o
cálculo da quantidade de pontos de função dos
arquivos lógicos internos apresentará o seguinte
resultado:resultado:
(Quantidade de ALI’s Simples) X 7
+(Quantidade de ALI’s Médios) X 10 
+(Quantidade de ALI’s Complexos) X 15.
Ajuste dos Pontos de Função BrutosAjuste dos Pontos de Função Brutos
Avaliação das 14 características
“NI” Indiviual
“NI” Total
Fator de Ajuste
Pontos de Função
(Ajustados)
Pontos de
Função Brutos
Etapas da Parte II Etapas da Parte II -- Levantamento Levantamento 
dos pontos de função ajustados.dos pontos de função ajustados.
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.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.
Características gerais do sistemaCaracterísticas gerais do sistema
� Cada característica está associada a 
descrições que auxiliam a determinar o 
nível de influência de cada uma no sistema 
que está sendo medido. que está sendo medido. 
� As características gerais do sistema 
podem influir no seu tamanho de -35% a 
+35%.
Critério de Avaliação das Critério de Avaliação das 
Características Gerais e seu NICaracterí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
Características Gerais da AplicaçãoCaracterísticas Gerais da Aplicação
� 1. TELEPROCESSAMENTO
� 2. PROCESSAMENTO DISTRIBUÍDO
� 3. PERFORMANCE
� 4. CARGA DE MÁQUINA
� 5. VOLUME DE TRANSAÇÕES
� 6. ENTRADA DE DADOS ON-LINE� 6. ENTRADA DE DADOS ON-LINE
� 7. ATUALIZAÇÕES ON-LINE
� 8. EFICIÊNCIA DO USUÁRIO FINAL
� 9. COMPLEXIDADE DE PROCESSAMENTO
� 10. REUTILIZAÇÃO DE CÓDIGO
� 11. FACILIDADE DE IMPLANTAÇÃO
� 12. FACILIDADE DE OPERAÇÃO
� 13. FACILIDADE DE MANUTENÇÃO / ALTERAÇÕES
� 14. OPERAÇÃO EM MÚLTIPLOS LOCAIS 
8. Eficiência do Usuário Final8. Eficiência do Usuário Final
Mede o nível de “amigabilidade”
da aplicação, isto é, a preocupação
em aumentar a facilidade e eficiência
do usuário na manipulação do sistema.do usuário na manipulação do sistema.
Eficiência do UsuárioEficiência do Usuário
--Itens ConsideradosItens Considerados
� Auxílio à navegação (teclas de função, acesso direto)
� Menus
� Documentação e telas para ajuda on-line
� Movimento automático do cursor
� scrolling vertical e horizontal
� Impressão remota através de transação on-line� Impressão remota através de transação on-line
� Teclas de função preestabelecidas (padrão da empresa)
� Processos batch submetidos a partir de transação on-line
� Seleção de cursor em campos da tela
� Utilização de campo com vídeo reverso/intensificado
� Impressão da documentação via “hard copy”
� Utilização de mouse
� Menus pop-up (Janelas para seleção em lista)
� Suporte Bilingue (conta como quatro itens)
� Suporte a mais de duas línguas (conta como seis itens) 
Eficiência do UsuárioEficiência do Usuário
--Nível de InfluênciaNível de Influência
� 0 - Nenhum dos itens descritos
� 1 - De 1 a 3 dos itens descritos
� 2 - De 4 a 5 dos itens
� 3 - Mais de 5 itens, mas sem haver requerimentos do usuário � 3 - Mais de 5 itens, mas sem haver requerimentos do usuário 
quanto à amigabilidade do sistema.
� 4 - Mais de 5 itens e há requerimentos do usuário quanto à 
amigabilidade do sistema que implicam em atividades, como 
otimização da digitação (valores default de inicialização).
� 5 - Mais de 5 itens e há requerimentos do usuário quanto à 
amigabilidade do sistema que implicam no uso de ferramen-tas e 
processos especiais para demonstrar o alcance dos objetivos 
pretendidos.
Ajuste dos Pontos de Função BrutosAjuste dos Pontos de Função Brutos
A va lia ç ão d a s 1 4 c a ra c te rís tic a s
“N I” Ind iviua l
“N I” To ta l
F a to r d e A jus te
P o nto s d e F unç ão
(A jus tad o s)
P o nto s d e
F unção B ruto s
Ajuste dos Pontos de Função BrutosAjuste dos Pontos de Função Brutos
Fórmula de Cálculo:
NI(total) = NI 
14
i=1 iNI(total) = NI 
FA = 0,65 + ( 0,01 X NI) 
(0,65 <= Fa <= 1,35)
PF = FA X PFB
i=1 i
Exemplo do Cálculo doExemplo do Cálculo do
Fator de Ajuste:Fator de Ajuste:
Se a soma for pesos das quatorze 
características for 61:
Fator de Ajuste = (61 * 0,01) + 0,65 
= 1,26= 1,26
Se o total de Pontos de função brutos for 
1000:
Pontos de função = Pontos de função 
brutos X Fator de Ajuste = 1000 * 1,26 = 
1260.
Criação de Banco de Dados de Histórico dos Criação de Banco de Dados de Histórico dos 
ProjetosProjetos
Capa / Sumário
do 
Projeto Planilhas Projeto Planilhas 
de
Cálculo
Banco de 
Histórico
da TPF
OBJETIVOS DO HISTÓRICOOBJETIVOS DO HISTÓRICO
� Monitorar os indicadores de produtividade baseados
em Pontos de função
� Viabilizar avaliação de índices de qualidade nos projetos
em função de seu tamanho medido em pontos de
funçãofunção
� Transparência dos custos dos projetos referentes ao
total de pontos de função
� Comparação entre projetos a partir de índices de
similaridade
Quando Atualizar o Banco de Dados Quando Atualizar o Banco de Dados 
de Histórico dos Projetos ?de Histórico dos Projetos ?
� Uma vez terminada a fase de cálculo de pontos
de função para um novo projeto, os dados
históricos devem ser atualizados.
� Ao término de cada etapa realizada para� Ao término de cada etapa realizada para
comparar a produtividade esperada e a
efetivamente obtida.
Definição dos Dados Definição dos Dados 
HistóricosHistóricos
� Projeto
� Plataforma� Tipo de processamento predominante
� Tipo de linguagem
� Estágio de desenvolvimento
� Processamento distribuído
� Demais características
� Pontos de função ajustados
� Produtividade estimada
� Produtividade realizada
Produtividade da EquipeProdutividade da Equipe
� Pode ser medida pela quantidade de
horas que é gasta para disponibilizar
uma certa quantidade de pontos deuma certa quantidade de pontos de
função.
� Por exemplo: 160 Hs / 10 Pfs ou 16
Hs / PF
Etapas para cálculo da produtividade:Etapas para cálculo da produtividade:
� Utilizamos TPF para medir seu tamanho ( em PF )
� Recorremos a registros históricos para determinar o
esforço despendido (em horas - pessoa)
� Calculamos a produtividade obtida (em Hora / PF )� Calculamos a produtividade obtida (em Hora / PF )
� Estabelecemos as produtividades médias obtidas para os
diversos ambientes de desenvolvimento (equipe,
recursos de apoio, linguagem, etc.), que serão adotadas
como padrão para as estimativas de sistemas a
desenvolver.
Principais Fatores Que Influenciam A Principais Fatores Que Influenciam A 
Produtividade de Um ProjetoProdutividade de Um Projeto
◦ Inexperiência da equipe
◦ Gerenciamento ineficiente do projeto
◦ Requerimentos instáveis◦ Requerimentos instáveis
◦ Falta de metodologia de desenvolvimento
◦ Tamanho do Projeto
Características do Projeto que Características do Projeto que 
influenciam na Produtividadeinfluenciam na Produtividade
� Ao cadastrar cada novo projeto, as
características informadas no seu
registro, deverão ser utilizadas pararegistro, deverão ser utilizadas para
auxiliar a seleção da produtividade
esperada.
TPF - Cálculo de EstimativasTPF - Cálculo de Estimativas
Pontos de
Função
Brutos
Input
Output
Interface
Consultas
Arquivos
BrutosOutput Consultas
Pontos
 de
Função
Avaliação
das
características
Nível
de
Influência
Fator
de
Ajuste
Produtividade
Recurso
Prazo
Custo
Sistema
Planejado
Produtividade da EquipeProdutividade da Equipe
 Taxas de Produtividade Para Fase de Análise
 Recurso Horas / P.F. Custo H.H.
( R$ )
01- Líder de Projeto 4 42,00 
02- Analista Sist. SR 4 35,00 
03- Analista Sist, PL 4 30,00 03- Analista Sist, PL 4 30,00 
04- Adm Dados 4 37,00 
05- Consultor 4 40,00 
 
06- Perfil 1 4 35,00 
07- Perfil 2 6 30,00 
08- Perfil 3 8 25,00 
Pag. 1 / 2
Qual Produtividade adotar ?Qual Produtividade adotar ?
� Base histórica da empresa
� Média de outras empresas no mesmo 
ambiente do projeto ambiente do projeto 
� Micro / grande porte
� Delphi
� Java
� Lotus Notes
� Visual Basic
ProdutividadeProdutividade
Delphi – 7,5h/PF com variação entre -1,5h e +2,5h
Java – 10h/PF com variação entre -3h e +4,5h
Lotus Notes - 4h/PF com variação entre -0,5h e +3hLotus Notes - 4h/PF com variação entre -0,5h e +3h
Natural - 9h/PF com variação entre -3h e +5h
PHP - 5h/PF com variação entre -1h e +7h
SQL - 6h/PF com variação entre -1,5h e +3h
VBA - 8h/PF com variação entre -2,5h e +2h
Visual Basic - 8h/PF com variação entre -2h e +3h
Fonte: http://www.blogcmmi.com.br/engenharia/produtividade-das-linguagens-em-pontos-por-funcao-apf

Continue navegando