Escolar Documentos
Profissional Documentos
Cultura Documentos
Este artigo descreve os conceitos gerais relacionados a tcnica de Anlise por Pontos de Funo
(FPA - Function Point Analysis), suas definies, identificaes, exemplos e classificaes,
auxiliando ao Engenheiro de Software estimar custos e prazos com maior preciso dimensionando
uma aplicao na perspectiva do usurio final, ou seja, considera como unidade de medida os
aspectos externos do software ao invs das caractersticas tcnicas da linguagem utilizada.
1. Introduo
De acordo com [GON95] FPA uma Tcnica de dimensionamento de projetos de software,
que considera como unidade de medida os aspectos externos do software, requisitados e visveis ao
usurio.
A FPA utilizada para estimar: o nvel de produtividade da equipe; o esforo de
desenvolvimento de software; o custo de software; a taxa de produo e de manuteno de software.
Este artigo tem por objetivo mostrar como realizado o clculo de pontos por funo.
O processo de contagem de Pontos por Funo deve ser simples, para minimizar o trabalho
adicional do processo de mensurao e conciso, para permitir consistncia ao longo do tempo dos
projetos e entre os usurios da tcnica.
Este artigo est organizado inicialmente com definies bsicas sobre a tcnica FPA, e em
seguida apresenta os passos para clculo dos pontos de funo com as respectivas tabelas, frmulas
e regras para a contagem dos pontos.
2.
Histrico
No incio da dcada de 70, pesquisadores do Servio de Processamento de Dados da IBM, a
pedido do grupo de usurios (GUIDE), comearam a analisar centenas de programas para isolar
as variveis crticas, que determinam a produtividade da programao [INT91][BRA96].
Descobriram que poderiam basear a avaliao de um sistema, medindo-se o valor das
funes executadas pelos programas, em vez de utilizar como base o volume ou a complexidade
do cdigo dos programas. Em 1979 Allan J. Albrecht (IBM White Plains), prosseguindo essas
pesquisas, introduziu uma tcnica de avaliao conhecida como FPA.
Em 1986, foi formado o Grupo Internacional de Usurios de FPA (IFPUG - International
Function Point Users Group) destinado a divulgar informaes e novas implementaes da
tcnica a todos os seus associados.
3.
Objetivos
Segundo [AZE99], a FPA dimensiona software quantificando a funcionalidade que ele
proporciona aos usurios.
Segundo [AZE97], os objetivos da anlise da tcnica so: medir o que foi requisitado e
recebido pelo usurio; medir independente da tecnologia utilizada para a implementao; prover
uma mtrica de medio para apoiar a anlise de produtividade e qualidade; prover uma forma de
estimar o tamanho do software e prover um fator de normalizao para comparao de software.
Combinao de uma entrada e uma sada de dados, isto , uma requisio de dados que gera
uma aquisio e exibio imediata de dados.
4 - influncia significativa;
5 - Grande influncia.
7. Regras de Contagem
Segundo o IFPUG [INT91], primeiramente conta-se as funes que compem o projeto de
desenvolvimento. Estas funes esto divididas em funes de dados e funes de transaes.
Dados
Transaes
Entradas Externas
Sadas Externas
Consultas Externas
7.1.3 Classificao
Cada Arquivo Lgico Interno deve ser classificado de acordo com sua complexidade
funcional relativa, que baseada no nmero de registros lgicos e no nmero de itens de dados do
arquivo.
De acordo com o nmero de itens de dados e de registros lgicos, classificam-se os
Arquivos Lgicos Internos conforme o quadro abaixo:
NMERO DE
REGISTROS LGICOS
Apenas 1
De 2 a 5
6 ou mais
SIMPLES
MDIA
COMPLEXA
MDIA
COMPLEXA
COMPLEXA
Os itens de dados devem ser contabilizados de acordo com a viso do usurio, com as
seguintes excees:
Os itens de dados originrios da subdiviso de um item de dado maior no devem ser
contabilizados (contabiliza-se apenas o item de dado maior).
Os itens de dados que sejam armazenados de forma repetitiva em mais de um campo do
arquivo sero contabilizados apenas uma vez.
Campos repetitivos que so idnticos no formato e existem para permitir mltiplas
ocorrncias de um determinado item de dado, sero contabilizados uma nica vez.
7.1.4 Pontuao
Para cada Arquivo Lgico Interno ser atribudo um nmero de Pontos por Funo, de
acordo com a sua complexidade funcional relativa:
SIMPLES 7(sete) Pontos por Funo;
MDIO 10 (dez) Pontos por Funo;
COMPLEXO 15 (quinze) Pontos por Funo.
7.2 Arquivos de Interface Externa
7.2.1 Definies
Um Arquivo de Interface Externa um grupo de dados logicamente relacionados ou
informaes de controle especificadas pelo usurio, que utilizado pela aplicao, mas sofre
manuteno a partir de outra aplicao.
7.2.2 Exemplos
Dados de referncia ( dados externos utilizados pela aplicao, mas no sofrem manuteno
em Arquivos Lgicos Internos)
Arquivos de mensagens de auxilio
Arquivo de mensagens de erro
7.2.3 Classificao
Cada Arquivo de Interface Externa deve ser classificado de acordo com sua complexidade
funcional relativa, que baseada no nmero de registros lgicos e no nmero de itens de dados do
arquivo.
De acordo com o nmero de itens de dados e de registros lgicos, classificam-se os
Arquivos de Interface Externa segundo o quadro abaixo:
NMERO DE
REGISTROS LGICOS
Apenas 1
De 2 a 5
6 ou mais
SIMPLES
MDIA
COMPLEXA
MDIA
COMPLEXA
COMPLEXA
Os itens de dados devem ser contabilizados de acordo com a viso do usurio, com as
seguintes excees:
Os itens de dados originrios da subdiviso de um item de dado maior no devem ser
contabilizados (contabiliza-se apenas o item de dado maior);
Os itens de dados constantes do arquivo mas que no sejam utilizados pela aplicao no
sero contabilizados;
Os itens de dados que sejam armazenados de forma repetitiva em mais de um campo do
arquivo sero contabilizados apenas uma vez;
Campos repetitivos que so idnticos no formato e existem para permitir mltiplas
ocorrncias de um determinado item de dado, sero contabilizados apenas uma vez.
7.2.4 Pontuao
Para cada Arquivo de Interface Externa ser atribudo um nmero de Pontos de Funo, de
acordo com a sua complexidade funcional relativa:
SIMPLES 5(cinco) Pontos por Funo;
MDIO. 7(sete) Pontos por Funo;
COMPLEXO.10 (dez) Pontos por Funo.
7.3 Entradas Externas
7.3.1 Definies
Uma Entrada Externa processa dados ou processa informaes de controle que entram pela
fronteira da aplicao. Esses dados, atravs de um processo lgico nico, atualizam Arquivos
Lgicos Internos. Informaes de controle podem ou no atualizar diretamente um Arquivo Lgico
Interno.
Uma Entrada Externa considerada nica para a aplicao, se possuir um formato diferente
ou se necessitar um processamento lgico diferente de outras Entradas Externas que tenham o
mesmo formato.
7.3.2 Exemplos
N. DE ARQUIVOS
REFERENCIADOS
0 ou 1
2
3 ou mais
SIMPLES
MDIA
COMPLEXA
MDIA
COMPLEXA
COMPLEXA
Cada Item de Dados atualizado em um Arquivo Lgico Interno por uma Entrada Externa
deve ser contabilizado com as seguintes excees:
Os itens de dados originrios da subdiviso de um item de dado maior no devem ser
contabilizados (contabiliza-se apenas o item de dado maior);
Os itens de dados que sejam armazenados de forma repetitiva em mais de um campo do
arquivo, sero contabilizados apenas uma vez;
Campos repetitivos que so idnticos no formato e existem para permitir mltiplas
ocorrncias de um determinado item de dado, sero contabilizados uma nica vez.
Itens de Dados adicionais devem ser contabilizados para uma Entrada Externa nos seguintes casos:
Linhas de comandos, teclas de funes ou campos que fornecem ao usurio a capacidade
para especificar a ao a ser tomada pela Entrada Externa (Contabilizar um item adicional
no caso de existncia desta capacidade);
Campos no informados pelo usurio, mas que so gerados automaticamente pela aplicao
e que atualizam um Arquivo Lgico Interno;
Mensagens de erro: Cada mensagem de erro e/ou confirmao associada a um processo de
validao de dados de Entradas Externas deve ser contabilizado como um item de dados.
7.3.4 Pontuao
Para cada Entrada Externa ser atribudo um nmero de Pontos de Funo, de acordo com a
sua complexidade funcional relativa:
7.4.4 Classificao
Cada Sada Externa deve ser classificada de acordo com sua complexidade funcional
relativa, que baseada no nmero de Arquivos e no nmero de itens de dados referenciados.
O nmero de Itens de Dados Referenciados o total de campos identificados pelo usurio
que aparecem na Sada Externa.
De acordo com o nmero de itens de dados e de arquivos referenciados, classificam-se as
Sadas Externas, segundo o quadro abaixo:
N. DE ARQUIVOS
REFERENCIADOS
1
2a3
4 ou mais
SIMPLES
MDIA
COMPLEXA
MDIA
COMPLEXA
COMPLEXA
Cada Item de Dados referenciado deve ser contabilizado com as seguintes excees:
Os itens de dados originrios da subdiviso de um item de dado maior no devem ser
contabilizados (contabiliza-se apenas o item de dado maior);
Os itens de dados que sejam exibidos de forma repetitiva em mais de um campo da Sada
Externa, sero contabilizados apenas uma vez;
Campos repetitivos que so idnticos no formato e existem para permitir mltiplas
ocorrncias de um determinado item de dado, sero contabilizados uma nica vez;
7.4.5 Pontuao
Para cada Sada Externa ser atribudo um nmero de Pontos de Funo, de acordo com a
sua complexidade funcional relativa:
SIMPLES: 4 (quatro) Pontos por Funo;
MDIA: 5 (cinco) Pontos por Funo;
COMPLEXA: 7 (sete) Pontos por Funo.
7.5 Consultas Externas
7.5.1 Definies
Uma Consultas Externa uma combinao de entrada e sada de dados, onde uma entrada de
dados ocasiona uma recuperao e sada imediata de dados.
Uma Consulta Externa no contm dados derivados e no atualiza nenhum Arquivo Lgico
Interno.
Uma Consulta Externa considerada nica para a aplicao, se possuir um formato diferente
de outras consultas, tanto na parte da entrada quanto na da sada, ou se necessitar um processamento
lgico diferente de outras Consultas Externas.
7.5.2 Identificao
A identificao das Consultas Externas ser feita a partir dos seguintes critrios:
As Consultas Externas so processos onde uma entrada de dados ocasiona uma imediata
recuperao e exibio de dados;
Cada Consulta Externa uma combinao nica de entrada e sada de dados para a
aplicao;
Devem ser identificadas pelo usurio como uma funo do negcio ou como um
requerimento da aplicao.
7.5.3 Exemplos
Satisfeitas as condies citadas, so consideradas Consultas Externas:
Consultas implcitas: Telas de alterao ou remoo de dados, que mostram o que ser
alterado ou removido antes de sua ao efetiva, devem ser consideradas como Consultas
Externas; (Caso as telas de alterao e remoo sejam idnticas, considerar apenas uma
Consulta Externa e, no caso destas serem iguais tela de Consulta propriamente dita, devese considerar apenas a funo de consulta como uma Consulta Externa);
Menus com consultas implcitas: Telas de menus, que alm de permitir funcionalidade de
seleo e navegao, permitem informar parmetros para consulta na tela escolhida, devem
ser consideradas como sendo a parte de entrada de uma Consulta Externa; (A tela de
resposta ser a parte de sada da Consulta Externa);
Telas de seleo: Telas de seleo de relatrios que permitem informar parmetros para o
relatrio escolhido, devem ser consideradas como sendo a parte de entrada de uma Consulta
Externa; (A parte de sada da Consulta Externa deve ser considerada como tendo uma
Complexidade funcional relativa de nvel simples);
7.5.4 Classificao
Cada Consulta Externa deve ser classificada de acordo com sua complexidade funcional
relativa, que determinada pela maior complexidade entre a complexidade funcional relativa da
parte da entrada e a complexidade funcional relativa da parte da sada.
Estes so os passos para se classificar uma Consulta Externa:
Calcular a complexidade funcional da parte de entrada da consulta externa.
Calcular a complexidade funcional da parte de sada da consulta externa.
Escolher a maior complexidade encontrada.
A complexidade funcional relativa da parte da entrada baseada no nmero de Arquivos
Referenciados e no nmero de itens de dados referenciados nesta etapa.
A complexidade funcional relativa da parte da sada baseada no nmero de Arquivos
Referenciados e no nmero de itens de dados referenciados nesta etapa.
O nmero de Arquivos Referenciados, tanto para a parte de entrada como para a parte da
sada, a somatria do nmero de Arquivos Lgicos Internos e de Arquivos de Interface Externa
acessados na Consulta Externa.
O nmero de Itens de Dados Referenciados na parte de entrada o nmero de parmetros
informados para obteno do resultado da Consulta Externa.
De acordo com o nmero de itens de dados e de arquivos referenciados, classifica-se a parte
de entrada da Consulta Externa, segundo o quadro a seguir:
N. DE ARQUIVOS
REFERENCIADOS
0 ou 1
2
3 ou mais
SIMPLES
MDIA
COMPLEXA
MDIA
COMPLEXA
COMPLEXA
N. DE ARQUIVOS
REFERENCIADOS
1
2a3
4 ou mais
SIMPLES
SIMPLES
MDIA
SIMPLES
MDIA
COMPLEXA
MDIA
COMPLEXA
COMPLEXA
SIMPLES MDIA
7
10
5
7
3
4
4
5
3
4
COMPLEXA
15
10
6
7
6
9. Referncias Bibliogrficas
[AZE97] AZEVEDO, Douglas Jos Peixoto de. FPA-Function Point AnalysisSistema de Mtrica.
[AZE99] AZEVEDO, Douglas Jos Peixoto de. Disponvel na Internet.
http://www.SoftwareMetrics.com
[BRA96] BRAGA, Antnio. Anlise por pontos de funo. Rio de Janeiro: Infobook, 1996.
[GON95] GONALVES, Las H.V.B.. VII ENUPF, 1995.
[INT91] INTERNATIONAL FUNCTION POINT USER GROUP. Anlise por pontos de funo.
[S.1.]:IFPUG, 1991. (Baseado na Release 3.4 do Manual de Prticas de Contagem do
IFPUG).
[INT97] INTERNATIONAL FUNCTION POINT USER GROUP. Disponvel na Internet.
http://www.ifpug.com
[LON99] LONGSTREET, David. Disponvel na Internet.
http://www.celepar.br/batebyte/bb70/fpa.htm
10. Anexo
Calcule o custo do sistema seguinte, levando em considerao que em cada hora de trabalho
consegue-se realizar dois pontos de funo e que cada hora/pessoa custa M$ 8,00 (oito unidades
monetrias). Um levantamento de dados realizado por analistas de sistemas apresentou os seguintes
resultados em relao a um sistema de gerenciamento de leitos hospitalares: As informaes
internas do sistemas esto agrupadas no cadastro de diagnsticos (18 itens de dados), de leitos (5
itens de dados) e de remdios (3 registros lgicos e 23 itens de dados). As informaes externas a
serem utilizadas pelo sistema so: Cadastro de mdicos (31 itens de dados) e de pacientes (16 itens
de dados). Os principais relatrios do sistema so de historico do paciente (4 arquivos referenciados
e 10 itens de dados) e de ocupao de leitos (2 arquivos referenciados e 5 itens de dados). As
principais entradas do sistema so: Incluir, excluir e alterar os dados dos cadastros internos. Todas
as entradas so consideradas simples. O sistema permite consulta da disponibilidade de remdios,
disponibilidade de leitos e de horrios de trabalho dos mdicos. Todas as consultas so de
complexidade mdia. A comunicao de dados crtica, portanto de grande influncia. O volume
de transaes e a eficincia do usurio final possuem significativa influncia. H uma preocupao
moderada em reutilizao de cdigo. O sistema ser utilizado em vrios ambientes de hardware e
software, portando multiplos locais possui influncia significativa. O restante das caractersticas
ter influncia mnima.
Resoluo
Cada Hora de trabalho = 2 pontos de funo
Hora/Pessoa = M$ 8,00
1. Pontos de Funo No Ajustados
Arquivos Lgicos Internos
Diagnsticos (1,18)
Simples
7
Leitos
(1,5)
Simples
7
Remdios
(3,23)
Mdia
10
Arquivos Lgicos Internos => 2X7 + 1X10 = 24
Arquivos de Interface Externa
Mdicos
(1,31)
Simples
5
Pacientes
(1,16)
Simples
5
Arquivos de Interface Externa => 2X5 = 10
Entradas Externas
Incluir Diagnsticos (1,18)
Incluir Leitos
(1,5)
Incluir Remdios
(3,23)
Excluir Diagnsticos (1,18)
Excluir Leitos
(1,5)
Excluir Remdios
(3,23)
Alterar Diagnsticos (1,18)
Alterar Leitos
(1,5)
Alterar Remdios
(3,23)
Entradas Externas => 9X3=27
Sadas Externas
Histrico do Paciente (4,10)
Simples
Simples
Simples
Simples
Simples
Simples
Simples
Simples
Simples
Complexa
3
3
3
3
3
3
3
3
3
Mdia
Mdia
Mdia
4
4
4
Nvel de influncia
Grande influncia
Nenhuma influncia
Nenhuma influncia
Nenhuma influncia
Influncia significativa
Nenhuma influncia
Influncia significativa
Nenhuma influncia
Nenhuma influncia
Influncia mnima
Nenhuma influncia
Nenhuma influncia
Influncia significativa
Nenhuma influncia
Peso
5
1
1
1
4
1
4
1
1
2
1
1
4
1
28