Você está na página 1de 37

Universidade Estcio de S

Medidas do Esforo no
Desenvolvimento de Software
Prof.: George Hamilton

Pontos de Funo
Medem a funcionalidade entregue ao
usurio.
Independem de:

plataforma ou linguagem de programao;


estilo de programao utilizado.

Permitem comparaes entre


empresas, linguagens, etc.

Pontos de Funo

Histrico
Foram propostos por Allan Albrecht em
1979.
A formalizao das regras de contagem
teve incio em 1984, pela IBM.
Em 1986 foi criado o IFPUG:

International Function Points Users Group.

Atualmente, o manual de contagem


encontra-se na verso 4.1.1.

Pontos de Funo

Objetivos
Mensurar a funcionalidade que o software
oferece a seus usurios.
Independentemente

da tecnologia utilizada
para implementao.

Oferecer uma forma de contagem:


simples

o suficiente para minimizar o overhead


gerado pela medio; e,
consistente entre diferentes projetos e
organizaes.

Pontos de Funo

A Anlise de Pontos de Funo (APF)


permite:
determinar o tamanho de uma aplicao a
partir da funcionalidade nela contida;
mensurar o desenvolvimento de software
para analisar qualidade e produtividade;
estimar custo e recursos necessrios ao
desenvolvimento ou manuteno;
normalizar dados para comparao.

Pontos de Funo

Principais vantagens:
Transparncia para o usurio final.
Apoio estimativa de tempo, recursos e
custos:
desde

o incio do ciclo de desenvolvimento


mesmo sem ter todas as informaes
necessrias sobre o sistema.

Melhora na qualidade dos contratos de


terceirizao.

ETAPAS DO PROCESSO
1. Identificao das funes do sistema
2. Classificao de cada funo quanto complexidade
funcional relativa como: simples, mdia ou complexa
3. Clculo dos pontos de funo brutos atravs da
aplicao dos pesos de acordo com uma tabela
especfica
4. Avaliao de 14 caractersticas gerais do sistema
5. Determinao do Fator de Ajuste
6. Clculo dos pontos de funo ajustados

Contagem de Pontos de
Funo
Tipos de Pontos de Funo:
Entradas externas:
Processo

elementar no qual dados cruzam a


fronteira da aplicao de fora para dentro com
o objetivo de alterar o comportamento da
aplicao ou dados.

Consultas externas:
Processo

elementar no qual dados cruzam a


fronteira da aplicao de fora para dentro sem
envolver clculos ou alterao de dados.

Contagem de Pontos de
Funo
Tipos de Pontos de Funo
Sadas externas:
Processo

elementar no qual dados


cruzam a fronteira da aplicao de dentro
para fora.

Arquivos lgicos internos:


Grupo

de dados logicamente correlatos,


identificvel pelo usurio, mantido dentro
da fronteira da aplicao.

Contagem de Pontos de
Funo
Tipos de Pontos de Funo
Arquivos de interface externa:
Grupo

de dados logicamente correlatos,


identificvel pelo usurio, mantido por
outra aplicao.

Contagem de Pontos de
Funo
Consultas

Entradas
Sistema de
Informao

Sadas

Arquivos
Lgicos
Internos

A complexidade de cada elemento


classificada como simples, mdia,
ou complexa com base em tabelas
fixas.

Outro
Sistema

Arquivos
Interface
Externa

Contagem de Pontos de
Funo
Identificao de funes de transao
Exemplo em um sistema de biblioteca
Incluir

Obra
Alterar dados existente
Consultar lista de ttulos
Registrar emprstimo
Emitir relatrio de emprstimos por perodo
...

Contagem de Pontos de
Funo

Contagem de elementos:
Para cada funo de dados:

Contar os Tipos de registros e os Campos de


dados.

Para cada funo de transao:

Contar os Arquivos referenciados e os Campos


de dados.

Classificar cada tipo de funo quanto


complexidade: Baixa, Mdia ou Alta.

Contagem de Pontos de
Funo

Atribuio de pesos:
Cada tipo de funo possui um peso, de
acordo com sua complexidade.
O peso corresponde quantidade de PF
no ajustados que a funo agrega
aplicao.
Somando-se os pesos de todas as
funes, obtm-se o total de PF no
ajustados.

Contagem de Pontos de
Funo

Atribuio de pesos tabela de referncia


Funo

C. Baixa

C. Mdia

C. Alta

ALI

10

15

AIE

10

EE

SE

CE

ANLISE DE PONTOS DE FUNO


PONTOS DE FUNO APLICADO ATRAVS DE 03 PASSOS:
1) Completar a seguinte tabela:
Parmetro
Contagem
No. de entradas
do usurio
No. de sadas
do usurio
No. de consultas
do usurio
No. de arquivos
No. de interfaces
externas
Contagem-Total

Fator de Ponderao
Simples Mdio Complexo
x
3
4
6
x

x
x

7
5

10
7

15
10

ANLISE DE PONTOS DE FUNO


PONTOS POR FUNO APLICADO ATRAVS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderao
Contagem
Simples Mdio Complexo
entradas de usurio
x (formulrios)
3
4
6

Parmetro
No. de entradas
que forneam dados estticos
do usurio
No. de sadas
x
4
do usurio
No. de consultas
x
3
do usurio
No. de arquivos
x
7
No. de interfaces
x
5
externas
Contagem-Total

10
7

15
10

ANLISE DE PONTOS DE FUNO


PONTOS POR FUNO APLICADO ATRAVS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderao
Simples Mdio Complexo
x
3
4
6

Parmetro
Contagem
No. de entradas
do usurio
sadas de usurioxque forneam
No. de sadas
4
5
informaes (cada pgina de um website)
do usurio
No. de consultas
x
3
4
do usurio
No. de arquivos
x
7
10
No. de interfaces
x
5
7
externas
Contagem-Total

7
6
15
10

ANLISE DE PONTOS DE FUNO


PONTOS POR FUNO APLICADO ATRAVS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderao
Simples Mdio Complexo
x
3
4
6

Parmetro
Contagem
No. de entradas
do usurio
No. de sadas
x
4
5
do usurio
No. de consultas entrada on-line dexformulrios
3
que 4
resulte em sada on-line
do usurio
No. de arquivos
x
7
10
No. de interfaces
x
5
7
externas
Contagem-Total

7
6
15
10

ANLISE DE PONTOS DE FUNO


PONTOS POR FUNO APLICADO ATRAVS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderao
Simples Mdio Complexo
x
3
4
6

Parmetro
Contagem
No. de entradas
do usurio
No. de sadas
x
do usurio
No. de consultas
x
do usurio
No. de arquivos cada arquivo lgico
x
No. de interfaces
x
externas
Contagem-Total

7
5

10
7

15
10

ANLISE DE PONTOS DE FUNO


PONTOS POR FUNO APLICADO ATRAVS DE 03 PASSOS:
1) Completar a seguinte tabela:
Fator de Ponderao
Simples Mdio Complexo
x
3
4
6

Parmetro
Contagem
No. de entradas
do usurio
No. de sadas
x
4
5
do usurio
No. de consultas
x
3
4
do usurio
No. de arquivos
x
7
10
No. de interfaces todas as interfacesxusadas
5 para transmitir
7
informao para outro sistema
externas
Contagem-Total

7
6
15
10

ANLISE DE PONTOS DE FUNO


CLCULO DE PONTOS DE FUNO
ENTRADAS

33

SIMPLES

99

13

MDIA

52

COMPLEXA

12

2
TOTAL

48

SADAS

SIMPLES

32

MDIA

30

COMPLEXA

28

TOTAL

18

ARQUIVOS

13

TOTAL
---

163

90
SIMPLES

91

MDIO

10

20

COMPLEXO

15

15

16

--

126

--

--

054

---

433

TOTAL BRUTO DE PONTOS DE FUNO = 433

Contagem de Pontos de
Funo

Passos para calcular o fator de ajuste:


Avaliar o impacto de cada uma das
quatorze caractersticas atribuindo para cada
caracterstica um peso de 0 a 5.
Calcular o nvel de influncia atravs da
soma dos pesos de cada uma das
caractersticas.
Calcular o fator de ajuste a partir da
equao Fator = (NI * 0,01) + 0,65.

Critrio de Avaliao das


Caractersticas Gerais e seu
NI

Cada uma das 14 caractersticas gerais deve ser avaliada e


a ela atribudo um nvel de influncia que varia de 0 a 5.
Nvel de Influncia

Descrio

No existe ou no exerce

Pouca Influncia

1 - 20

Influncia Moderada

21 - 40

Influncia Mdia

41 - 60

Influncia Significativa

61 - 80

Influncia Total

81 - 100

ANLISE DE PONTOS DE FUNO

2) Responder as questes 1-14, considerando a escala de 0 a 5:


influncia

nenhuma pouca moderada mdia significante essencial

1.
2.
3.
4.
5.
6.
7.
8.

requerida comunicao de dados?


Existem funes de processamento
distribudo?
O desempenho crtico?
A converso e a instalao esto includas no
projeto?
O sistema exige backup e recuperao
confiveis?
So requeridas entrada de dados on-line?
Entradas, sadas, arquivos e consultas so
complexos?
Os arquivos so atualizados on-line?

9. O processamento interno complexo?


10. O cdigo projetado para ser reusval?
11. As entradas on-line requerem que as
transaes de entrada sejam construdas
com vrias telas e operaes?
12. O sistema funcionar num sistema
operacional existente e intensamente
utilizado?
13. O sistema projetado para mltiplas
instalaes em diferentes organizaes?
14. A aplicao projetada de forma a
facilitar mudanas e o uso pelo usurio?

ANLISE DE PONTOS DE FUNO

NVEIS DE INFLUNCIA
CARACTERSTICAS

FATOR DE AJUSTE

1. COMUNICAO DE DADOS

2. FUNES DISTRBUIDAS

3. DESEMPENHO

4. CARGA DE CONFIGURAO

5. VOLUME DE TRANSAES

6. ENTRADA DE DADOS ON-LINE

7. EFICINCIA DO USURIO FINAL

8. ATUALIZAO ON-LINE

9. PROCESSAMENTO COMPLEXO

10. REUTILIZAO

11. FACILIDADE DE IMPLEMENTAO

12. FACILIDADE DE OPERAO

PF * FA = PFajustado

13. MLTIPLOS LOCAIS

433 * 1,07 = 463

14. FACILIDADE DE MUDANA

NVEL DE INFLUNCIA TOTAL (NI)

42

0,65 + (0,01 * NI) = FA


0,65 + (0,01 * 42) = 1,07

PONTOS DE FUNO
AJUSTADO

ANLISE DE PONTOS DE FUNO

3) Ajustar os Pontos por Funo de acordo com a complexidade


do sistema, atravs da seguinte frmula:
14

PF = Contagem-Total x 0,65 + 0,01 x


i=1

(Fi)

Fi = valores de ajuste da complexidade


das perguntas 1-14

PRODUTIVIDADE = PF / pessoas-ms
MTRICAS
DERIVADAS

QUALIDADE = erros / PF
CUSTO = $ / PF
DOCUMENTAO = pags.docum. / PF

ANLISE DE PONTOS DE FUNO

PONTUAO
O

tamanho de uma sistema independe do ambiente


tecnolgico ou metodologias utilizadas no seu
desenvolvimento

Um

sistema de 500 PF ter o mesmo tamanho


independente do ambiente
Ex: Cliente-servidor, mainframe, orientao a objeto, etc

esforo para desenvolver um sistema depende da


produtividade do ambiente tecnolgico selecionado

PRODUTIVIDADE - Exemplo

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

EXEMPLO DE UTILIZAO DA APF

Solicitao de melhoria de um sistema


Cliente requer a mudana em 6 meses
Acredita-se que a modificao pode ser feita
com uma equipe de 3 tcnicos no prazo
solicitado
O gerente de projetos chamado a opinar ...

ANLISE DA SITUAO

As implementaes solicitadas foram dimensionadas


pela APF em 750 PF
Modificaes neste sistema registraram no passado
produtividade de 25 PF/homem ms
O gerente de projetos pode assumir o compromisso
ou negociar:
mais pessoas
maior prazo
menos modificaes

- quantas ?
- quando ?
- quanto ?

OPES PARA O GERENTE

Alocar mais 2 tcnicos qualificados


750 PF / (6 meses * 25 PF/hm) = 5 homens

Aumentar o prazo em 4 meses


750 PF / (3 homens * 25 PF/hm) = 10 meses

Reduzir o volume de modificaes em 40%


3 homens * 6 meses * 25 PF/hm = 450 PF

CONSIDERAES
A indstria considera aplicaes com mais de 500
Pontos de Funo como complexas.
A produtividade mdia da linguagem JAVA fica em torno de 15 a 20
horas/PF
Considerando a produtividade de 15 horas/PF e um produto a ser
desenvolvido em JAVA com 671 PF
Conclui-se que o desenvolvimento das funcionalidades do produto
levariam em mdia 10.065 horas (671 * 15) para serem implementadas.
Ou seja, seriam necessrios 76,3 homem-meses para desenvolver o
software considerando um ms com 22 teis e um dia com 6 horas de
produtividade efetiva (10.065 / (22*6)).

MTRICAS ORIENTADAS A FUNO


VANTAGENS:

Independentes da linguagem
Ideal para aplicaes que usam
linguagem no procedimental
Baseados em dados mais fceis de
serem conhecidos durante a evoluo
do projeto

DESVANTAGENS:

Clculo baseado em dados subjetivos


No uma medida direta; apenas um
nmero

CONSIDERAES

Coletar dados, calcular e analisar


mtricas so passos que devem ser
implementados para iniciar um programa
de mtricas

Contagem de Pontos de
Funo

Contagem de Pontos de
Funes de transao
Funo

Funcionalidade
Consultar dados de
mercadoria
Incluir mercadoria
Alterar mercadoria
Excluir mercadoria
Arquivo
Mercadoria
Fornecedor

Tipo
Consulta Externa

Complexidade
Mdia

Entrada Externa
Entrada Externa
Entrada Externa

Mdia
Mdia
Mdia

Funes de dados
Tipo
Complexidade
Arquivo Lgico
Simples
Interno
Arquivo Lgico
Simples
Interno

Pontos de Funo
4
4
4
4
Pontos de Funo
7

Total de pontos de funo


Total de pontos de funo no ajustados
4 + 4 + 4 + 4 + 7 + 7 = 30
Fator de ajuste
0,89
Total de pontos de funo ajustados
30 x 0,89 = 26,7