You are on page 1of 39

Anlise por Pontos de Funo

IFPUG e NESMA

Professor Gledson Pompeu gledson.pompeu@gmail.com

W W W. D O M I N A N D OTI .CO M . B R WWW.DOMI NAN DOT I .C OM .B R


Anlise por pontos de funo

Tcnica que permite medir a funcionalidade de um


software ou aplicativo, sob a viso do usurio, a partir da
descrio dos requisitos do usurio
Objetivos da tcnica:
Medir sistemas, com base nas funes executadas,
independentemente da tecnologia utilizada
Identificar um padro de medida para a produtividade e qualidade
da rea de sistemas
Fornecer ferramenta para auxiliar nas estimativas de recursos para
o desenvolvimento de software
Possibilitar o uso em diferentes projetos, em diferentes empresas e
ambientes variados, demonstrando consistncia na comparao

2 WWW.DOMI NAN DOT I .C OM .B R


Componentes dos Pontos de Funo

O Manual do IFPUG identifica cinco tipos de funes:


Arquivo Lgico Interno (ALI)
Arquivo de Interface Externa (AIE)
Entrada Externa (EE)
Sada Externa (SE)
Consulta Externa (CE)

3 WWW.DOMI NAN DOT I .C OM .B R


Componentes dos Pontos de Funo

Arquivo Lgico Interno (ALI)


Entidade lgica e persistente, a respeito da qual dados sero
mantidos pela aplicao
Baseia-se em requisitos lgicos dos usurios e so
independentes da implementao ou meios de
armazenamento
Arquivo de Interface Externa (AIE)
Entidade lgica e persistente, requerida para referncia ou
validao pelo software sendo contado, mas que mantido
por outro aplicativo de software
Tambm parte dos requisitos lgicos dos usurios

4 WWW.DOMI NAN DOT I .C OM .B R


Componentes dos Pontos de Funo

Entrada Externa (EE)


Processo do negcio que mantm os dados em um ou mais
arquivos lgicos internos, ou
Processo de controle que direciona o software para atender os
requisitos de negcio do usurio
Sada Externa (SE)
Processo do negcio que gera dados novos (no armazenados) para
um usurio ou para outro aplicativo externo ao software
Consulta Externa (CE)
Par gatilho-resposta por meio do qual uma solicitao entra no
aplicativo (a partir de um usurio ou de outro aplicativo) e provoca a
recuperao dos dados necessrios para atender solicitao

5 WWW.DOMI NAN DOT I .C OM .B R


Etapas para avaliao

Coleta da documentao disponvel


Identificao do propsito e tipo de contagem a ser utilizado
Projeto de desenvolvimento, manuteno ou aplicao
Definio do escopo da contagem e fronteira das aplicaes
Escopo do sistema objeto da avaliao
Contagem de pontos de funo no ajustados
Reflete o conjunto de funes disponibilizadas ao usurio
Clculo e aplicao do fator de ajuste
Fatores relacionados com caractersticas da aplicao que afetam o
tamanho funcional de um sistema
Documentao e apresentao dos resultados

6 WWW.DOMI NAN DOT I .C OM .B R


Tipos de contagem
Projeto de desenvolvimento
Situao de existncia de demandas do usurio relativas a um novo
sistema, ou mesmo de um projeto, cujo desenvolvimento ainda no tenha
sido concludo
Neste caso ser feita uma estimativa do tamanho do sistema a ser
desenvolvido
Projeto de manuteno
Trata-se da situao quando ocorrerem solicitaes de alteraes
corretivas ou evolutivas em sistemas existentes
Neste caso ser feita uma estimativa do tamanho da modificao a ser
realizada
Projeto de Aplicao
Situao em que o sistema j est em plena utilizao
Neste caso ser avaliado o tamanho real do sistema

7 WWW.DOMI NAN DOT I .C OM .B R


Definio da fronteira

A fronteira separa o sistema sob avaliao das aplicaes


externas, ou seja, permite identificar os limites do sistema
que est sendo medido
Definir a fronteira da aplicao baseada na viso do usurio, ou
seja, refletir o sistema como percebido pelo usurio;
Observar os relacionamentos do sistema com o meio externo,
focalizando os processos voltados para o negcio
Neste momento, so identificados:
todos os relacionamentos do sistema com o seu exterior
a pertinncia dos dados, ou seja, a quem confiada a
responsabilidade de manuteno das informaes, residentes no
sistema
os processos suportados pelo sistema que est sendo contado

8 WWW.DOMI NAN DOT I .C OM .B R


Contagem de PF no-ajustados
O resultado da contagem nessa etapa so pontos de
funo brutos
Outras variveis que influenciam o processo de desenvolvimento do
sistema podem gerar ajustes
Grupos de funes tipo DADOS:
Arquivos Lgicos Internos
Arquivos de Interface Externa
Grupos de funes tipo TRANSAES:
Entradas Externas
Sadas Externas
Consultas Externas

9 WWW.DOMI NAN DOT I .C OM .B R


Arquivos Lgicos Internos ALI
Grupo de dados ou informaes de controle, inter-
relacionados, requisitados pelo usurio, cuja manuteno
realizada por um processo elementar da aplicao.
Informao de controle o dado utilizado pelo sistema para garantir
que as funes sejam realizadas conforme solicitado pelo usurio
Processo elementar menor atividade percebida pelo usurio que
deve ser realizada pelo sistema
Critrios de identificao dos ALI
Dados armazenados dentro da fronteira da aplicao,
alterados por rotinas implementadas no sistema, e
requisitados pelo usurio, refletindo suas necessidades de
informao

10 WWW.DOMI NAN DOT I .C OM .B R


Arquivos Lgicos Internos ALI
Exemplos de ALI:
Os ALI so dados que residem no sistema, ou podem ser
modificados por suas rotinas, tais como cadastros, dados de
segurana, dados de auditoria, mensagens de auxlio e de
erro
Exemplo de arquivos que no so ALI:
Grupo de dados temporrios, dados inseridos no sistema
devido tecnologia utilizada, dados relativos a ndices
alternativos para recuperao da informao, dados de
backup que no foram exigidos pelo usurio

11 WWW.DOMI NAN DOT I .C OM .B R


Arquivos de Interface Externa AIE
Grupo de dados, inter-relacionados, necessrios para a
aplicao, mantidos e armazenados fora do sistema
que est sendo dimensionado
Critrios para Identificao dos AIE
Dados armazenados fora da fronteira da aplicao,
que no sofrem manutenes pela aplicao,
identificados como necessidades do usurio, e
que so contados como ALI para outra aplicao

12 WWW.DOMI NAN DOT I .C OM .B R


Arquivos de Interface Externa AIE
Exemplos de AIE:
Dados de referncia dados externos utilizados pela aplicao mas
que no so usados para manuteno de arquivos lgicos internos
Mensagens recebidas pela aplicao que est sendo avaliada
No so arquivos de interface externa:
Dados recebidos de outra aplicao e utilizados para adicionar,
alterar/remover dados em arquivo lgico interno
Dados cuja manuteno feita pela aplicao, mas que sejam
acessados e utilizados por outra aplicao
Dados formatados e processados para uso por outra aplicao

13 WWW.DOMI NAN DOT I .C OM .B R


Registros Lgicos de ALI e AIE
Um registro lgico um subgrupo de elementos de dados,
reconhecido pelo usurio dentro dos arquivos lgicos internos
ou de arquivos de interface externa.
Para os ALI
Contar um registro lgico para cada subgrupo de dados em que pelo
menos um dado obrigatrio para a criao de um item num arquivo, pelo
usurio
Contar um registro lgico para cada subgrupo de dados opcionais para a
criao de um item num arquivo, pelo usurio
Caso no haja subgrupos, contar um Registro lgico para cada arquivo
lgico identificado
Para os AIE
Contar um registro lgico para cada subgrupo cujos dados sejam
utilizados pela aplicao

14 WWW.DOMI NAN DOT I .C OM .B R


Itens de dados de ALI e AIE
Um item de dado ou dado elementar um campo,
reconhecido pelo usurio dentro dos arquivos lgicos
internos (ALI) ou dentro de arquivos de interface
externa (AIE).
Contar um item para cada campo reconhecido pelo usurio
dentro dos ALI ou AIE
Contar somente um item para campos armazenados em
mltiplos lugares
Contar somente um item de dados para campos que
aparecem mais de uma vez em um ALI por causa da
tecnologia utilizada

15 WWW.DOMI NAN DOT I .C OM .B R


Complexidade funcional dos ALI e AIE

A complexidade determinada em funo da quantidade


de registros lgicos e itens de dados
A matriz de complexidade a mesma para ALI e AIE
A quantidade atribuda de pontos de funo diferente

1 a 19 Itens 20 a 50 Itens 51 ou mais Itens


de Dados de Dados de Dados

1 Registro Lgico {BAIXA} {BAIXA} {MDIA}


2 a 5 Registros Lgicos {BAIXA} {MDIA} {ALTA}
6 ou mais Registros {MDIA} {ALTA} {ALTA}
Lgicos

16 WWW.DOMI NAN DOT I .C OM .B R


Contagem de PF dos ALI e AIE

ALI AIE

Pontos de Pontos de
Complexidade Complexidade
funo funo

Baixa 7 Baixa 5

Mdia 10 Mdia 7

Alta 15 Alta 10

17 WWW.DOMI NAN DOT I .C OM .B R


Entradas Externas EE
Grupo de dados que entram no sistema, utilizados para a
manuteno dos Arquivos Lgicos Internos, ou seja, que
provocam incluso, excluso ou alterao nos dados
Critrios de Identificao das Entradas Externas
Processos que recebem dados externos e que atualizam arquivos lgicos
internos
Processos que permitem entrada de informaes de controle, para atender
requisitos do usurio
Contagem das Entradas Externas
Contar uma entrada externa para cada formato de entrada
Contar uma entrada externa para cada atividade de manuteno
executada (adio, alterao e remoo)
Contar uma entrada externa para cada lgica de processamento

18 WWW.DOMI NAN DOT I .C OM .B R


Entradas Externas EE
Exemplo de Entradas Externas
Dados externos utilizados para a manuteno dos dados dos
arquivos lgicos internos de um sistema
Entradas externas duplicadas, oriundas de fontes diversas
Exemplos do que no so Entradas Externas
Dados externos utilizados pela aplicao, mas que no atualizam
dados dos arquivos lgicos internos da aplicao
Parmetros de entrada que direcionam a recuperao de dados de
uma consulta
Telas de logon e menu (quando no alimentam logs internos no
sistema, apenas permitem acessos ao sistema)
Mltiplos mtodos de executar uma mesma lgica de entrada

19 WWW.DOMI NAN DOT I .C OM .B R


Complexidade das Entradas Externas

A complexidade determinada em funo da quantidade


de arquivos referenciados e da quantidade de itens de
dados que cruzam a fronteira da aplicao

1 a 4 Itens 5 a 15 Itens 16 ou mais


de Dados de Dados Itens de Dados

1 Arquivo lgico Referenciado {BAIXA} {BAIXA} {MDIA}


2 Arquivos lgicos Referenciados {BAIXA} {MDIA} {ALTA}
3 ou mais Arquivos lgicos
{MDIA} {ALTA} {ALTA}
referenciados

20 WWW.DOMI NAN DOT I .C OM .B R


Contagem das Entradas Externas

EE

Pontos de
Complexidade
funo

Simples 3

Mdia 4

Complexa 6

21 WWW.DOMI NAN DOT I .C OM .B R


Sadas Externas SE
Atividades do sistema que transformam dados dos
arquivos lgicos internos (e arquivos de interface
externa) e geram resultados exibidos ao usurio
Critrios de Identificao de Sadas Externas
Processos que enviam pelo menos um dado derivado (no
armazenado nos arquivos) para fora da fronteira da aplicao
Contagem das SE
Cada processo que envia dados derivados para fora da
fronteira da aplicao
Cada processo que necessita de lgica de processamento
diferente da utilizada em outras sadas externas

22 WWW.DOMI NAN DOT I .C OM .B R


Sadas Externas SE
Exemplos de Sadas Externas
Dados derivados que so exibidos aos usurios ou transferidos a
outros sistemas
Relatrios de formato idntico, mas que se valem de lgicas
diferentes para serem produzidos
Relatrios on-line ou em formatos grficos
Exemplo do que no so Sadas Externas:
Telas de help (so consultas externas)
Mltiplas formas de executar uma mesma lgica de sada (conta-se
como uma SE)
Relatrios mltiplos com mesma lgica e formato (neste caso
conta-se apenas uma sada externa, para cada tipo de relatrio)

23 WWW.DOMI NAN DOT I .C OM .B R


Arquivos e Itens de Dados das SE
Contagem da quantidade de arquivos referenciados
Contar cada arquivo lgico interno ou de interface externa
consultado para o processamento
Contagem da quantidade de Itens de dados
Contar cada campo distinto exibido ao usurio
Contar cada tipo de legenda em grficos
Contar um item adicional para cada campo de sumrio ou de
totalizao

24 WWW.DOMI NAN DOT I .C OM .B R


Complexidade das Sadas Externas

A complexidade determinada em funo da quantidade


de arquivos lgicos referenciados e da quantidade de itens
de dados que cruzam a fronteira da aplicao

1 a 5 Itens 6 a 19 Itens 20 ou mais


de Dados de Dados Itens de Dados

1 Arquivo lgico Referenciado {BAIXA} {BAIXA} {MDIA}


2 a 3 Arquivos lgicos
{BAIXA} {MDIA} {ALTA}
Referenciados
4 ou mais Arquivos lgicos
{MDIA} {ALTA} {ALTA}
Referenciados

25 WWW.DOMI NAN DOT I .C OM .B R


Contagem das Sadas Externas

SE

Pontos de
Complexidade
funo

Simples 4

Mdia 5

Complexa 7

26 WWW.DOMI NAN DOT I .C OM .B R


Consultas Externas CE
Requisies de informaes que, para serem satisfeitas,
combinam parmetros de entradas e sadas que permitem
a recuperao da informao solicitada pelo usurio
Nenhum arquivo lgico interno alterado
As informaes que compem a sada no so dados derivados, ou
seja, correspondem aos dados na forma em que estiverem
armazenados nos arquivos lgicos internos
Critrio de Identificao das CE
Identificar os Processos onde uma entrada est associada a uma
recuperao e exibio de dados, sem que haja processamentos,
ou seja, no acontecem transformaes dos dados para serem
exibidos aos usurios

27 WWW.DOMI NAN DOT I .C OM .B R


Consultas Externas CE
Exemplos de Consultas externas.
Seleo de dados de uma base em funo de uma solicitao
Telas que mostram o que ser alterado antes da efetivao da
alterao
Telas de menus que admitem fornecimento de parmetros para
consulta na tela escolhida alm de orientar navegao
Exemplos de situaes que no so consultas externas.
Mltiplas formas de executar uma mesma consulta (considera-se
uma consulta s)
Telas de menus que fornecem somente funcionalidade de seleo
de telas
Dados derivados exibidos

28 WWW.DOMI NAN DOT I .C OM .B R


Contagem das Consultas Externas
Os arquivos lgicos e itens de dados referenciados devero
ser contados, considerando as entradas e sadas,
separadamente
Deve ser calculada a complexidade funcional da parte da entrada e
da sada da consulta, separadamente
A maior complexidade encontrada ser considerada como a
complexidade da consulta externa avaliada
Contar cada processo de recuperao de dados que os
seleciona com base em parmetros de entrada fornecidos
Para cada processo identificado, verificar se a lgica de
processamento envolvida, tanto na entrada quanto na sada
diferente da lgica de outras consultas externas

29 WWW.DOMI NAN DOT I .C OM .B R


Contagem das Consultas Externas

CE

Pontos de
Complexidade
funo

Simples 3

Mdia 4

Complexa 6

30 WWW.DOMI NAN DOT I .C OM .B R


Classificao de transaes
Tipo de Lgica de Processamento EE SE CE

Capacidade de aceitar dados ou informao de controle que entra pela fronteira Deve Pode Pode

Preparao e apresentao de dados para fora da fronteira Pode Deve Deve

Recuperao de dados ou informaes de controle Pode Pode Deve

Referncia de pelo menos um ALI ou AIE Pode Pode Deve

Atualizao de pelo menos um ALI Deve(*) Deve(*) NO

Alterao do comportamento do sistema Deve(*) Deve(*) NO

Clculos e frmulas matemticas Pode Deve(*) NO

Criao de dados derivados Pode Deve(*) NO

Validaes

Converso em valores equivalentes

Filtro e seleo de dados com base em critrios especficos Pode

Anlise de condies para que se determine quais se aplicam

Ordenao ou organizao de um conjunto de dados

(*) A transao deve executar pelo menos uma dessas lgicas

31 WWW.DOMI NAN DOT I .C OM .B R


Totalizao dos PF no-ajustados
Total por
Descrio Complexidade funcional Peso
Tipo de funo
(Qtde de ALI de Complexidade Baixa) X 7
Arquivo Lgico
(Qtde de ALI de Complexidade Mdia) X 10
Interno
(Qtde de ALI de Complexidade Alta) X 15
(Qtde de AIE de Complexidade Baixa) X 5
Arquivo de
(Qtde de AIE de Complexidade Mdia) X 7
Interface Externa
(Qtde de AIE de Complexidade Alta) X 10
(Qtde de EE de Complexidade Baixa) X 3
Entrada
(Qtde de EE de Complexidade Mdia) X 4
Externa
(Qtde de EE de Complexidade Alta) X 6
(Qtde de SE de Complexidade Baixa) X 4
Sada
(Qtde de SE de Complexidade Mdia) X 5
Externa
(Qtde de SE de Complexidade Alta) X 7
(Qtde de CE de Complexidade Baixa) X 3
Consulta
(Qtde de CE de Complexidade Mdia) X 4
Externa
(Qtde de CE de Complexidade Alta) X 6
Total de Pontos de Funo no-ajustados

32 WWW.DOMI NAN DOT I .C OM .B R


Clculo do fator de ajuste

O fator de ajuste responsvel pela correo das distores da


etapa anterior
A metodologia de pontos de funo considera que outros fatores
afetam o tamanho funcional de um sistema
Estes fatores esto relacionados com caractersticas da aplicao:
1. Comunicao de dados; 8. Atualizao on-line;
2. Funes distribudas; 9. Processamento complexo;
3. Performance; 10. Reusabilidade;
4. Configurao do equipamento; 11. Facilidade de implantao;
5. Volume de transaes; 12. Facilidade operacional;
6. Entrada de dados on-line; 13. Mltiplos locais;
7. Interface com o usurio; 14. Facilidade de mudanas.

33 WWW.DOMI NAN DOT I .C OM .B R


Clculo do fator de ajuste
As caractersticas gerais do sistema podem influenciar no seu
tamanho variando no intervalo de 35% a +35%.
Isto implica em um intervalo de variao para o fator de ajuste da ordem
de 0,65 a 1,35.
Processo de Clculo
Avaliar o impacto de cada uma das 14 caractersticas em relao ao
sistema que est sendo avaliado, atribuindo pontuao de 0 a 5 para cada
caracterstica.
Calcular o nvel de influncia geral a partir da soma dos pontos obtidos em
cada uma das 14 caractersticas.
Aplica-se a seguinte frmula: Fator de Ajuste = (NI * 0,01) + 0,65
Atualmente o fator de ajuste no tem sido muito utilizado, pois
grande parte das caractersticas no se aplica a sistemas em
plataformas web ou distribudas

34 WWW.DOMI NAN DOT I .C OM .B R


Clculo de PF ajustados

Trata-se do processo que realiza a correo das


possveis distores acometidas durante o clculo dos
pontos de funo no- ajustados, aproximando as
medidas situao real com base no fator de ajuste.
Aplica-se a seguinte frmula:
PF = (PF no-ajustado) * (Fator de ajuste)

O clculo de Pontos de Funo ajustados tambm no


tem sido muito usado, pelos motivos relacionados ao
fator de ajuste

35 WWW.DOMI NAN DOT I .C OM .B R


Frmulas por tipo de contagem
Projeto de Desenvolvimento (DFP) Aplicao - 1 Instalao (AFP)
DFP = (ADD + CFP) AFP = ADD
DFP = Tamanho do projeto de AFP = Tamanho da aplicao
desenvolvimento
ADD = Tamanho das funes entregues
CFP = Tamanho das funes de
converso de dados
Aplicao - Aps Melhoria (AFPA)
Projeto de Melhoria (EFP) AFPA = (AFPB + ADD + CHGA) -
(CHGB + DEL)
EFP = ADD + CHGA + CFP + DEL
AFPA = Tamanho da aplicao depois da
EFP = Tamanho do projeto de melhoria melhoria
CHGA = Tamanho das funes alteradas, AFPB = Tamanho da aplicao antes da
depois da melhoria melhoria
DEL = Tamanho das funes excludas CHGB = Tamanho das funes alteradas,
antes da melhoria

36 WWW.DOMI NAN DOT I .C OM .B R


Contagens NESMA

A Netherlands Software Metrics Users Association


(NESMA) reconhece outros dois tipos de contagens,
alm do mtodo detalhado do IFPUG:
Contagem estimativa
Requer informaes gerais sobre quais grupamentos de dados devem
ser utilizados (ALI e AIE) e quais transaes sero executadas sobre os
mesmos (EE, SE e CE)
Adota estimativas fixas para complexidade
Contagem indicativa
Requer somente informaes genricas sobre grupamentos de dados
(ALI e AIE) que sero acessados ou manipulados pela aplicao
Adota estimativas fixas para transaes e complexidade

37 WWW.DOMI NAN DOT I .C OM .B R


Contagem Estimativa (NESMA)

Determina-se o nmero de grupamentos de dados (ALI


e AIE) e de transaes (EE, SE e CE) da aplicao
Considera-se que todos os arquivos (ALI e AIE)
possuem complexidade baixa e que todas as
transaes (EE, SE e CE) so de complexidade mdia
Calcula-se o nmero de pontos de funo no-
ajustados pela aplicao dos pesos recomendados
pelo manual de prticas de contagem do IFPUG

38 WWW.DOMI NAN DOT I .C OM .B R


Contagem Indicativa (NESMA)

Determina-se o nmero de grupamentos de dados (ALI e


AIE) da aplicao
Calcula-se o nmero de pontos de funo no-ajustados
pela seguinte frmula:
Tamanho = 35 * ALI + 15 * AIE
A contagem indicativa baseada na premissa de que, em
mdia, uma aplicao ter:
3 EE para cada ALI (incluir, alterar, excluir)
1 CE para cada ALI (consultar)
2 SE para cada ALI (2 relatrios)
1 CE para cada AIE (consultar)
1 SE para cada AIE (1 relatrio)

39 WWW.DOMI NAN DOT I .C OM .B R