Pontos por Função medindo tamanho de software Prof. Rodrigo Nin rodrigo@azimuteZero.com.br
Tamanho em linhas de código Medidas NÃO Funcionais de Software Linhas de Código Categoria 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 Fonte: Jair C Leite
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
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/
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/
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/
ALGORÍTMO Telas Relatórios Arquivos Tamanho internos em PF Arquivos Pontos de Função (IFPUG) Telas Relatórios Tamanho em PF Arquivos internos Arquivos externos Interfaces c/sistemas Outras interfaces ALGORÍTMO Adaptado de http://www.bfpug.com.br/
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
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
Pontos de Função X Medidas de Produtividade
Pontos de Função – Administração do Patrimônio Ativo 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/
Pontos de Função – Cálculo Identificação do escopo do cálculo Identificação e contagem das funções do software Classificação de cada função quanto à complexidade funcional relativa como: simples, média ou complexa Cálculo dos pontos de função brutos através da aplicação dos pesos de acordo com tabela específica Avaliação das 14 características gerais do sistema Determinação do Fator de Ajuste Cálculo dos pontos de função ajustados Adaptado de http://www.bfpug.com.br/
Pontos de Função – Cálculo 1. Identificação do escopo do cálculo Vendas Marketing Cobrança Relacionamento com os Clientes Jurídico Et coetera ...
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/
Funções Transacionais Pontos de Função – Cálculo 3. Classificação de cada função quanto à complexidade Funções de Dados Funções Transacionais Adaptado de http://www.bfpug.com.br/
Pontos de Função – Cálculo 4. Cálculo dos pontos de função brutos Adaptado de http://www.bfpug.com.br/
Pontos de Função – Cálculo 5. Avaliação das 14 características gerais do sistema 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 12. Múltiplos Locais 13. Interface com o usuário 14. Facilidade de mudanças 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/
FAV = 0,65 + ( das Características do Sistema x 0,01) 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/
Pontos de Função – Precisão Portanto: Medir é preciso ... ... ou não?
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.
Pontos de Função - Cálculo Aproximado Segundo as 3 Tabelas de Capers Jones¹ Tabela 1 - Escopo da Aplicação Exemplo: Índice de Escopo 9 - Novo Sistema ¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
Pontos de Função - Cálculo Aproximado Segundo as 3 Tabelas de Capers Jones¹ Tabela 2 - Classe da Aplicação Exemplo: Índice de Escopo 9 - Novo Sistema Índice de Classe 5 - Multi-Site - Interno ¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
Pontos de Função - Cálculo Aproximado Segundo as 3 Tabelas de Capers Jones¹ 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 ¹ Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998.
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.
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação Total por ALI = 35 PF
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Outra Aproximação
Pontos de Função - Usando Ferramentas
Pontos de Função - Banco de Dados
Pontos de Função