Pontos por Função
medindo tamanho de software
Prof. Rodrigo Nin
[email protected]
1
Medidas NÃO Funcionais de Software
Linhas de Código
Categoria
Fonte: Jair C Leite
Tamanho em
linhas de código
Trivial
500
Pequeno
1000 a 2000
Médio
5000 a 50.000
Grande
50.000 a 100.000
Muito grande
1 milhão
Extremamente
grande
1 a 10 milhões
2
Medidas NÃO Funcionais de Software
Linhas de Código
• VANTAGENS
– Fácil de coletar usando ferramentas
– Histórico disponível na organização
– Esforço/LOC mais ou menos equivalente nas linguagens
– Medidas LOC aplicam-se entre projetos (comparação)
– Muito usado em ferramentas comerciais
• DESVANTAGENS
– Não aplicável para estimativas individuais
– Acurada apenas em projetos semelhantes
– Difícil estimar LOC diretamente; usa-se comparação
– Contra-intuitivo para estimar trabalho de requisitos, análise,
projeto
– Como definir exatamente o critério de contagem?
Adaptado de: Steve McConnel
3
Medidas Funcionais de Software
• Medem a funcionalidade entregue ao usuário,
independentemente da forma de implementação
• Independem de plataforma ou linguagem de
programação
• Independem do estilo de programação utilizado
• Permitem comparações entre empresas, linguagens, etc.
A norma ISO/IEC 14143-1:1998 trata da definição dos conceitos referentes às
medidas funcionais de tamanho de software
Adaptado de http://www.bfpug.com.br/
4
Medidas Funcionais de Software
• Pontos de Função do IFPUG (International Function Point
Users Group)
• Mark II Function Points de Charles Symons
• Full Function Points (Cosmic) de Alain Abran
• 3D Function Points da BOEING
• Bang de Tom DeMarco
Adaptado de http://www.bfpug.com.br/
5
Pontos de Função
(IFPUG)
• Mede o software através da quantificação da funcionalidade
solicitada e adquirida pelo cliente, tendo como base primária
o projeto lógico
• Mede o software independentemente da tecnologia
utilizada na implementação
• Mede o o software consistentemente em todos os projetos e
organizações
Adaptado de http://www.bfpug.com.br/
6
Pontos de Função
(IFPUG)
Telas
Relatórios
Arquivos
internos
Arquivos
externos
Interfaces
c/sistemas
Outras
interfaces
Adaptado de http://www.bfpug.com.br/
Tamanho
em PF
ALGORÍTMO
7
Pontos de Função – Exemplos
Software
PF
––––––––––––––––––––––––––––––––––––––––––• Microsoft Word
2.500
Fonte: Caper Jones
• Microsoft Excel
2.500
• Microsoft Project
3.000
• Microsoft Visual Basic
3.000
• Ferramenta CASE IEF (Texas)
20.000
8
Pontos de Função X Medidas de Produtividade
quantidade produzida
Produtividade = ––––––––––––––––––
recursos para produzir ($, tempo, pessoas, etc.)
1600 PF por hora
300 PF por pessoa-ano
0,17 PF por pessoa-hora
R$ 350,00 por PF
6 horas por PF
9
Pontos de Função X Medidas de Produtividade
10
Pontos de Função – Administração do Patrimônio
Ativo de Software
A B C
D
G
H
E
I
F
J
K
L
• Tamanho do ativo = 1.800.000 Pontos de Função
• Custo de Substituição = R$ 30.000.000
(depende do mercado)
• Crescimento/ano = 7%
• Custo de Suporte/ano = R$ 0,71 / PF
Adaptado de http://www.bfpug.com.br/
11
Pontos de Função – Cálculo
1. Identificação do escopo do cálculo
2. Identificação e contagem das funções do software
3. Classificação de cada função quanto à complexidade funcional
relativa como: simples, média ou complexa
4. Cálculo dos pontos de função brutos através da aplicação dos
pesos de acordo com tabela específica
5. Avaliação das 14 características gerais do sistema
6. Determinação do Fator de Ajuste
7. Cálculo dos pontos de função ajustados
Adaptado de http://www.bfpug.com.br/
12
Pontos de Função – Cálculo
1. Identificação do escopo do cálculo
Vendas
Marketing
Cobrança
Relacionamento
com os
Clientes
Et coetera ...
Jurídico
13
Pontos de Função – Cálculo
2. Identificação e contagem das funções do software
Funções de Dados
• Arquivos Lógicos Internos (ALI)
• Arquivos de Interface Externa (AIE)
Funções Transacionais
• Entradas Externas (EE)
• Saídas Externas (SE)
• Consultas Externas (CE)
Adaptado de http://www.bfpug.com.br/
14
Funções
Transacionais
Funções de
Dados
Pontos de Função – Cálculo
3. Classificação de cada função quanto à complexidade
Adaptado de http://www.bfpug.com.br/
15
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
4. Cálculo dos pontos de função brutos
16
Pontos de Função – Cálculo
5. Avaliação das 14 características gerais do sistema
1.
3.
Comunicação de Dados
Processamento de Dados Distribuído
2.
4.
Atualização On - Line
Processamento Complexo
5. Performance
6. Reusabilidade
7.
Configuração do equipamento
8.
9.
Volume de Transações
10.
Facilidade Operacional
12.
Múltiplos Locais
14.
Facilidade de mudanças
11.
13.
Entra da de Dados On - Line
Interface com o usuário
Facilidade de Implantação
Nível de Influência
Descrição
–––––––––––––––––––––––––––––––––––––––––––0
Não existe
1
Pouca
2
Moderada
3
Média
4
Significativa
5
Total ou muito forte
Adaptado de http://www.bfpug.com.br/
17
Pontos de Função – Cálculo
6. Determinação do Fator de Ajuste
FAV = 0,65 + ( das Características do Sistema x 0,01)
7. Cálculo dos pontos de função ajustados
PF = Pontos de Função Brutos x FAV
Adaptado de http://www.bfpug.com.br/
18
Pontos de Função – Precisão
Portanto:
Medir é preciso ...
... ou não?
19
Pontos de Função - Cálculo Aproximado
Segundo as 3 Tabelas de Capers Jones¹
• Este método pode ser utilizado
com muito pouca informação
• Precisão muito pequena
• Dá apenas para “ter uma idéia”
do tamanho
Tabela 1 - Escopo da Aplicação
Tabela 2 - Classe da Aplicação
Tabela 3 - Tipo da Aplicação
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
20
Pontos de Função - Cálculo Aproximado
Segundo as 3 Tabelas de Capers Jones¹
Tabela 1 - Escopo da Aplicação
Índice
1
2
3
4
5
Escopo
Índice Escopo
Subrotina
6 Programa Isolado
Módulo
7 Componente de Sistema
Módulo Reutilizável
8 Versão de Sistema
Protótipo Descartável
9 Novo Sistema
Protótipo Evolutivo
10 Sistema Composto
Exemplo:
Índice de Escopo 9 - Novo Sistema
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
21
Pontos de Função - Cálculo Aproximado
Segundo as 3 Tabelas de Capers Jones¹
Tabela 2 - Classe da Aplicação
Índice
1
2
3
4
5
6
7
8
Classe
Software Individual
Shareware
Software Acadêmico
1 Site - Interno
Multi-Site - Interno
Projeto Contratado - Civil
Time Sharing
Serviço Militar
Índice
9
10
11
12
13
14
15
Classe
Internet
Software Alugado
Software Bundled
Software Comercial (*)
Contrato de Outsourcing
Contrato Governamental
Contrato Militar
Exemplo:
Índice de Escopo 9 - Novo Sistema
Índice de Classe 5 - Multi-Site - Interno
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
22
Pontos de Função - Cálculo Aproximado
Segundo as 3 Tabelas de Capers Jones¹
Tabela 3 - Tipo da Aplicação
Índice
1
2
3
4
5
6
7
8
9
10
Tipo
Não Procedural
Web Applet
Batch
Interativa
GUI Interativa
Batch DB
DB Interativa
Cliente/Servidor
Matemática
Sistema (Operacional)
Índice
11
12
13
14
15
16
17
18
19
20
Comunicações
Controle de Processo
Sistema Confiável (Trusted)
Sistema Embedded
Processamento de Imagem
Multimídia
Robótica
Inteligência Artificial
Rede Neural
Híbrido: Misto
Exemplo:
Índice de Escopo 9 - Novo Sistema
Índice de Classe 5 - Multi-Site - Interno
Índice de Tipo 8 - Cliente/Servidor
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
23
Pontos de Função - Cálculo Aproximado
Segundo as 3 Tabelas de Capers Jones¹
• Somar os 3 índices obtidos: 9 + 5 + 8 = 22
• Elevar o resultado a 2,35
• 22 ** 2,35 = 1428 PF
• Sistemas C/S costumam ficar entre 1000-1500 PF
• A previsão obtida baseia-se no banco de dados da
SPR (Software Productivity Research)
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
24
Pontos de Função - Outra Aproximação
25
Pontos de Função - Outra Aproximação
Total por ALI = 35 PF
26
Pontos de Função - Outra Aproximação
27
Pontos de Função - Outra Aproximação
28
Pontos de Função - Outra Aproximação
29
Pontos de Função - Outra Aproximação
30
Custo do Esforço
Pontos de Função - Outra Aproximação
Região Impossível
(75% de Td)
Td
To
Tempo de Desenvolvimento
31
Pontos de Função - Outra Aproximação
32
Pontos de Função - Outra Aproximação
33
Pontos de Função - Outra Aproximação
34
Pontos de Função - Outra Aproximação
35
Pontos de Função - Usando Ferramentas
36
Pontos de Função - Banco de Dados
37
Pontos de Função
38
Download

Pontos de Função