Apr 18, 2015
2
Medidas NÃO Funcionais de Software
CategoriaTamanho 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
Fonte: Jair C Leite
Linhas de Código
3
• 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?
Medidas NÃO Funcionais de Software
Linhas de Código
Adaptado de: Steve McConnel
4
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/
5
Medidas Funcionais de Software
Adaptado de http://www.bfpug.com.br/
•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
6
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/
7
ALGORÍTMO
Tamanhoem PF
Telas
Relatórios
Arquivosinternos
Arquivosexternos
Interfacesc/sistemas
Outrasinterfaces
Pontos de Função (IFPUG)
Adaptado de http://www.bfpug.com.br/
8
Pontos de Função – Exemplos
Software PF––––––––––––––––––––––––––––––––––––––––––-
• Microsoft Word 2.500
• Microsoft Excel 2.500
• Microsoft Project 3.000
• Microsoft Visual Basic 3.000
• Ferramenta CASE IEF (Texas) 20.000
Fonte: Caper Jones
9
R$ 350,00 por PF6 horas por PF
Pontos de Função X Medidas de Produtividade
quantidade produzidaProdutividade = ––––––––––––––––––
recursos para produzir ($, tempo, pessoas, etc.)
1600 PF por hora300 PF por pessoa-ano0,17 PF por pessoa-hora
10
Pontos de Função X Medidas de Produtividade
11
Pontos de Função – Administração do PatrimônioAtivo de Software
A B C
D E F
G H I 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/
12
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
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
13
Pontos de Função – Cálculo1. Identificação do escopo do cálculo
Marketing
Vendas
Cobrança
Relacionamento com osClientes Jurídico
Et coetera ...
14
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
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)
15
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
3. Classificação de cada função quanto à complexidade
Fu
nções
de D
ad
os
Fu
nções
Tra
nsacio
nais
16
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
4. Cálculo dos pontos de função brutos
17
1. Comunicação de Dados 2. Atualização On - Line
3. Processamento de Dados Distribuído
4. Processamento Complexo
5. Performance 6. Reusabilidade
7. Configuração do equipamento 8. Facilidade de Implantação
9. Volume de Transações 10. Facilidade Operacional
11. Entra da de Dados On- Line 12. Múltiplos Locais
13. Interface com o usuário 14. Facilidade de mudanças
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
5. Avaliação das 14 características gerais do sistema
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
18
FAV = 0,65 + ( das Características do Sistema x 0,01)
Pontos de Função – Cálculo
Adaptado de http://www.bfpug.com.br/
6. Determinação do Fator de Ajuste
7. Cálculo dos pontos de função ajustados
PF = Pontos de Função Brutos x FAV
19
Pontos de Função – Precisão
Portanto:
Medir é preciso ...
... ou não?
20
Pontos de Função - Cálculo AproximadoPontos de Função - Cálculo AproximadoSegundo 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
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
Tabela 1 - Escopo da Aplicação
Tabela 2 - Classe da Aplicação
Tabela 3 - Tipo da Aplicação
21
Pontos de Função - Cálculo AproximadoPontos de Função - Cálculo Aproximado
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
Índice Escopo Índice Escopo1 Subrotina 6 Programa Isolado2 Módulo 7 Componente de Sistema3 Módulo Reutilizável 8 Versão de Sistema4 Protótipo Descartável 9 Novo Sistema5 Protótipo Evolutivo 10 Sistema Composto
Tabela 1 - Escopo da Aplicação
Exemplo:
Índice de Escopo 9 - Novo Sistema
Exemplo:
Índice de Escopo 9 - Novo Sistema
Segundo as 3 Tabelas de Capers Jones¹
22
Pontos de Função - Cálculo AproximadoPontos de Função - Cálculo Aproximado
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
Tabela 2 - Classe da Aplicação
Exemplo:Índice de Escopo 9 - Novo SistemaÍndice de Classe 5 - Multi-Site - Interno
Exemplo:Índice de Escopo 9 - Novo SistemaÍndice de Classe 5 - Multi-Site - Interno
Segundo as 3 Tabelas de Capers Jones¹
Índice Classe Índice Classe1 Software Individual 9 Internet2 Shareware 10 Software Alugado3 Software Acadêmico 11 Software Bundled4 1 Site - Interno 12 Software Comercial (*)5 Multi-Site - Interno 13 Contrato de Outsourcing6 Projeto Contratado - Civil 14 Contrato Governamental7 Time Sharing 15 Contrato Militar8 Serviço Militar
23
Pontos de Função - Cálculo AproximadoPontos de Função - Cálculo Aproximado
Tabela 3 - Tipo da Aplicação
Exemplo:Índice de Escopo 9 - Novo SistemaÍndice de Classe 5 - Multi-Site - InternoÍndice de Tipo 8 - Cliente/Servidor
Segundo as 3 Tabelas de Capers Jones¹
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
Índice Tipo Índice1 Não Procedural 11 Comunicações2 Web Applet 12 Controle de Processo3 Batch 13 Sistema Confiável (Trusted)4 Interativa 14 Sistema Embedded5 GUI Interativa 15 Processamento de Imagem6 Batch DB 16 Multimídia7 DB Interativa 17 Robótica8 Cliente/Servidor 18 Inteligência Artificial9 Matemática 19 Rede Neural
10 Sistema (Operacional) 20 Híbrido: Misto
24
Pontos de Função - Cálculo AproximadoPontos de Função - Cálculo Aproximado
• 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)
• 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)
Segundo as 3 Tabelas de Capers Jones¹
¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
25
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
26
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
Total por ALI = 35 PF
27
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
28
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
29
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
30
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
31
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
Cus
to d
o E
sfor
ço
Tem po de D esenvolvim ento
Td To
Região Im possível(75% de Td)
32
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
33
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
34
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
35
Pontos de Função - Pontos de Função - Outra AproximaçãoOutra Aproximação
36
Pontos de Função - Usando FerramentasPontos de Função - Usando Ferramentas
37
Pontos de Função - Banco de DadosPontos de Função - Banco de Dados
38
Pontos de FunçãoPontos de Função