taes 3 - seminário uma introdução à análise de pontos de função felipe furtado julho/2004

Post on 07-Apr-2016

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

TAES 3 - Seminário

Uma Introdução à Análise de Pontos de Função

Felipe FurtadoJulho/2004

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Agenda Motivação Histórico Visão Geral e Objetivos Regras de Contagem Aplicações e Influências Comparações Certificação Conclusão Referências Estudo de Caso

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Motivação Como gerenciar a área de desenvolvimento de sistemas dentro da empresa?

Qual a produtividade da minha equipe? Qual o esforço para desenvolver o software? Qual o custo do software? Qual a taxa de produção de software? Qual a taxa de manutenção de software?

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

1979 - Allan Albrecht da IBM; 1984 - Metodologia formal - domínio público.

- IBM CIS & A Guideline 313, AD/M Productivity Measurement and Estimate Validation, November 1, 1984;

1986 - Grupo Internacional de Usuários de Pontos de Função Manual de Práticas de Contagem

IFPUG Function Point Counting Practices Manual, atualmente no Release 4.2.

1994 - Criação de um grupo de trabalho na ISO sobre Medidas Funcionais de Tamanho;

2002 - Padrão Internacional – Norma ISO/IEC 20926.

Histórico

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Histórico Empresas que adotam FPA:

3M American Airlines American Express AT&T Bank of America British Airways Delta Airlines

FORD General Eletric IBM Royal Bank of Canada Shell Unisys Xerox

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Visão Geral da FPA É uma técnica que dimensiona uma aplicação na perspectiva do usuário final, ao invés de levar em consideração as características técnicas da linguagem utilizada; Dimensiona software quantificando a funcionalidade que ele proporciona aos usuários baseado, principalmente, no seu desenho lógico; Considera-se o que é entregue ao usuário e não como a funcionalidade é desenvolvida; Considera-se apenas os componentes da aplicação definidos e requeridos pelo usuário.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Objetivos Medir projetos de desenvolvimento e manutenção de software, independentemente da tecnologia utilizada para a implementação; Prover uma métrica de medição para apoiar a análise de produtividade e qualidade; Prover um fator de normalização para comparação de software (unidade padrão).

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Regras de Contagem - ProcedimentosDetermineUnadjusted

Function PointCount

Determine ValueAdjustment

Factor

DetermineType ofCount

IdentifyCounting

Scope andApplicationBoundary

Count DataFunctions

CountTransactional

FunctionsCalculate

Adjusted FunctionPoint Count

1. Determinar o tipo de contagem de ponto de função. 2. Identificar a fronteira (limite) da aplicação. 3. Contar as funções de dados para determinar a contribuição delas

para a contagem de pontos de função não ajustada. 4. Contar as funções transacionais para determinar a contribuição delas

para a contagem de pontos de função não ajustada. 5. Determinar o fator de ajuste.6. Calcular a contagem de pontos de função ajustada.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 1 – Determinar o Tipo de Contagem

Projeto de desenvolvimento (nova aplicação); Projeto de manutenção (aplicação já existente); Aplicação (tamanho real).

Estimated Count

Development Project as Project A

Final Count

Development Projectas Project A

Estimated Count

Enhancementsas Project B

Final Count

Enhancementsas Project B

Application Count

Completed Projec t

Completed Projec t

Initializes

Updates

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Margem de ErroConhecimento do Sistema

Margem de Erro

TempoRequisitos - Conceitual - Detalhado - Codificação - Testes - Implantação

Fonte: Manual de Práticas de Contagem do IFPUGVoltar

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Etapa 2 – Identificar a Fronteira Indica o limite entre o software que está sendo medido e o usuário; Observar sempre do ponto de vista do usuário; O que o usuário pode entender e descrever; Evidenciar o que é interno e o que é externo à aplicação.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Visão Geral da Aplicação

Sistema BSistema A

ALI AIE

SE

EE

CE

SE EECE

Fronteira da Aplicação

Fronteira da Aplicação

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Visão Geral da Aplicação Grupo Lógico de Dados:

ALI – Arquivo Lógico Interno AIE – Arquivo de Interface Externa

Transações: EE – Entrada Externa SE – Saída Externa CE – Consulta Externa

Voltar

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 3 – Contagem das Funções de Dados

ALI – Arquivo Lógico Interno Grupo lógico de dados do ponto de vista do usuário cuja manutenção é feita internamente pela aplicação; Entidade lógica e persistente; Dados que sofrem manutenção dentro da fronteira da aplicação; Equivale a uma entidade em um MER; Tabelas adicionadas por necessidade do projeto físico de dados não devem ser contabilizadas.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 3 – Contagem das Funções de Dados

ALI – Exemplos: Dados da aplicação (cadastro de clientes, cadastro de funcionários); Dados de segurança, auditoria, histórico, mensagens, erros, salva: se especificado pelo usuário;

ALI – Não são exemplos: Arquivos temporários, de trabalho, de classificação; Operações de junção e projeção (já foram contabilizados em outros arquivos).

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 3 – Contagem das Funções de Dados

AIE – Arquivo de Interface Externa Grupo lógico de dados do ponto de vista do usuário utilizados na aplicação cuja manutenção pertence a outra aplicação; Entidade lógica e persistente; Dados que sofrem manutenção dentro da fronteira de outra aplicação.

AIE – Exemplo: Dados de outra aplicação (cadastro de funcionários utilizado pelo sistema de Empréstimo e Benefícios).

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 3 – Contagem das Funções de Dados

ALI/AIE – Complexidade Baseada no:

Número de registros lógicos; Número de itens de dados do arquivo.

Ex.: sistema de RH – processo de inclusão de um empregado:

Dados básicos (mandatório) Dados p/ mensalistas (opcional) Dados p/ horistas (opcional) Dados p/ dependentes (opcional)

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 3 – Contagem das Funções de Dados

ALI/AIE – Tabela de Complexidade:  1 a 19 Itens

de Dados20 a 50 Itens de Dados

Mais de 50 Itens de Dados

1 Registro Lógico

Simples Simples Média

2 a 5 Registros Lógicos

Simples Média Complexa

6 ou mais Registros Lógicos

Média Complexa Complexa

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 3 – Contagem das Funções de Dados

ALI – Tabela de Conversão:

Voltar

Complexidade da Função Pontos de Função não Ajustados

Simples 7

Média 10

Complexa 15

Complexidade da Função Pontos de Função não Ajustados

Simples 5

Média 7

Complexa 10

AIE – Tabela de Conversão:

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 4 – Contagem das Funções Transacionais

EE – Entrada Externa Transações recebidas de fora da aplicação com o objetivo de atualizar os arquivos lógicos internos; Cada atividade de manutenção (inclusão, alteração e exclusão) é contabilizada como uma EE;

EE – Exemplos: Entrada on-line: inclusão, alteração e exclusão de um funcionário; Entrada batch: inclusão, alteração e exclusão de um funcionário.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 4 – Contagem das Funções Transacionais

EE – Exemplos: Processos de entrada, especificamente solicitados pelo usuário, devem ser contados separadamente, por exemplo, um sistema bancário que aceita transações idênticas de depósito, uma através de caixa automático (ATM) e a segunda feita pelo caixa do banco.

EE – Não são exemplos: Tela de logon que não atualiza ALI.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

EE – Complexidade Baseada no:

Número de arquivos referenciados; ALI consultado ou atualizado; AIE consultado.

Número de itens de dados do arquivo. Também devem ser contados:

Campos não informados pelo usuário, mas que são atualizados em um ALI por uma EE devem ser contabilizados (nº seq, data/hora da inclusão);

Linha de comando, tecla de função e mensagens.

Etapa 4 – Contagem das Funções Transacionais

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

EE – Tabela de Complexidade:  1 a 4 Itens

de Dados5 a 15 Itens de Dados

Mais de 16 Itens de Dados

0 ou 1 Arquivo Referenciado

Simples Simples Média

2 Arquivos Referenciados

Simples Média Complexa

3 ou mais Arquivos Referenciados

Média Complexa Complexa

Etapa 4 – Contagem das Funções Transacionais

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

EE – Tabela de Conversão:

Etapa 4 – Contagem das Funções Transacionais

Complexidade da Função Pontos de Função não Ajustados

Simples 3

Média 4

Complexa 6

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 4 – Contagem das Funções Transacionais

SE – Saída Externa Transações que geram dados e os enviam para fora da aplicação;

SE – Exemplos: Relatórios; Gráficos; Gerador de relatório: cada relatório específico é considerado uma SE.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 4 – Contagem das Funções Transacionais

SE – Não são exemplos: Tela de help; Relatórios ad-hoc: o usuário é responsável diretamente pela criação (ex.: através de comandos SQL) de um nº indefinido de relatórios. Nenhuma SE é considerada.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

SE – Complexidade Baseada no:

Número de arquivos referenciados; ALI consultado; AIE consultado.

Número de itens de dados do arquivo.

Etapa 4 – Contagem das Funções Transacionais

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

SE – Tabela de Complexidade:  1 a 5 Itens

de Dados6 a 19 Itens de Dados

Mais de 20 Itens de Dados

0 ou 1 Arquivo Referenciado

Simples Simples Média

2 a 3Arquivos Referenciados

Simples Média Complexa

4 ou mais Arquivos Referenciados

Média Complexa Complexa

Etapa 4 – Contagem das Funções Transacionais

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

SE – Tabela de Conversão:

Etapa 4 – Contagem das Funções Transacionais

Complexidade da Função Pontos de Função não Ajustados

Simples 4

Média 5

Complexa 7

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 4 – Contagem das Funções Transacionais

CE – Consulta Externa Transações que combinam uma atividade de entrada com uma saída de dados; Não contém fórmula matemática ou cálculo; Não mantém um ALI; Não altera o comportamento do sistema.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de FunçãoEtapa 4 – Contagem das Funções Transacionais

CE – Exemplos: Consulta de saldo em um banco: o usuário informa o número da conta e recebe como resposta o valor do saldo; Tela de Logon; Tela de help.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

CE – Complexidade Baseada no:

Número de arquivos referenciados na entrada e na saída;

ALI consultado; AIE consultado.

Número de itens de dados do arquivo. Entrada e saída.

Também devem ser contados: Linha de comando, tecla de função e mensagens.

Etapa 4 – Contagem das Funções Transacionais

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

 

CE – Tabela de Complexidade:  1 a 5 Itens

de Dados6 a 19 Itens de Dados

Mais de 20 Itens de Dados

0 ou 1 Arquivo Referenciado

Simples Simples Média

2 a 3Arquivos Referenciados

Simples Média Complexa

4 ou mais Arquivos Referenciados

Média Complexa Complexa

Etapa 4 – Contagem das Funções Transacionais

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

CE – Tabela de Conversão:

Etapa 4 – Contagem das Funções Transacionais

Complexidade da Função Pontos de Função não Ajustados

Simples 3

Média 4

Complexa 6

Voltar

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Etapa 5 – Determinar o Fator de Ajuste Fator de Ajuste de Valor (FAV)

Avalia restrições de negócio adicionais do software não consideradas pelos cinco tipos de funções;

Baseado na influência de 14 Características Gerais do Sistema.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Etapa 5 – Determinar o Fator de Ajuste

1. Comunicação de Dados2. Processamento Distribuído3. Performance4. Configuração do

Equipamento5. Volume de Transações6. Entrada de Dados On-Line7. Interface com o usuário8. Atualização On-Line9. Processamento Complexo10. Reusabilidade11. Facilidade de Implantação12. Facilidade Operacional13. Múltiplos Locais14. Facilidade de mudanças

Avaliar o nível de influência das características gerais de um sistema:

0 – Nenhuma Influência

1 – Influência Mínima

2 – Influência Moderada

3 – Influência Média

4 – Influência Significativa

5 – Grande Influência

Como Classificar ??

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Etapa 5 – Determinar o Fator de Ajuste Exemplo: Volume de Transações

0 – Nenhum período de pico de transações é esperado

1 – Picos de transações mensais, quadrimestrais, sazonais e anuais são esperados

2 – Picos semanais de transações são esperados

3 – Picos diários de transações são esperados

4 – Altos volumes de transações foram fixados pelo usuário para a aplicação, o que força a execução de tarefas de análise de performance na fase de desenho da aplicação

5 – Requer o uso de ferramentas de análise de performance nas fases de desenho, desenvolvimento e/ou implantação, além das considerações acima.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

• Nível de Influência:

NI = NI(i)

• Fator de Ajuste:

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

Etapa 5 – Determinar o Fator de Ajuste

Voltar

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Etapa 6 – Pontos de Função Ajustados

PF = PF (não ajustado) * FA

Voltar

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Aplicações O que fazer agora?

Pouco frustrante para empresas recém-criadas;

Comparar com projetos anteriores, planejar e estimar melhor o novo desenvolvimento;

Obtendo o número de Pontos de Função pode-se estimar o esforço de projeto por fases de desenvolvimento.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Aplicações Imaginemos um projeto no qual

obtemos um total de 100 PF: Numa fase que utilize 20% do Projeto; Numa equipe de 4 pessoas; Considerando uma produtividade média de

20hs/PF; Considerando uma jornada de 6 horas diárias; Considerando um valor de R$35,00 o valor de

1 Hora de Trabalho.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Aplicações 20% de 100 PF = 20 PF Esforço - 20hs/PF então: 20hs/PF x 20PF =

400h Prazo - 400h/ (4 x 6) = 16,7 Dias Custo - 400h x R$ 35,00 = R$ 14.000,00

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Aplicações

Quanto tempo leva até a sua casa ?

Mesma pista, mesmo piloto, carros distintos ?

Mesma pista, mesmo carro, pilotos distintos ?

Qual a distância até a sua casa ?

Tamanho em PF

FerramentaFPA é independente

Capacidade da EquipeFPA fornece subsídio

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Aplicações Produtividade no desenvolvimento

- Horas por PF

Esforço de desenvolvimento– Produtividade (H/PF) * Tamanho (PF)

Custo de software– Tamanho (PF) * Custo (R$/PF)

Taxa de produção de software– PF/Mês; PF/Ano

Taxa de manutenção de software– PF manutenção / PF aplicativo

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Influências Linguagem de Codificação; Tamanho do software; Experiência da equipe; Métodos estruturados; Ambiente de desenvolvimento (CASE); Qualidade de expansão/manutenção; Reutilização de código; Métodos de remoção de erros; Organização da equipe.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Aplicações Na UNISYS:

– Estimativa de Custo de Desenvolvimento;

– Acompanhamento do Esforço de Desenvolvimento;

– Acompanhamento do Projeto Planejado x Realizado;

– Acompanhamento da Taxa de Produção do Software.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

ComparaçõesCaracterísticas Linha de

CódigoSoftware Science

Cocomo 

FeaturePoints

Putman Pontos por Função

1. Produção de resultados aceitáveis

sim sim sim sim sim sim

2. Avaliação por usuários sem conhec. da ling. programação

não não não não não sim

3. Significado para o Usuário final

não não não sim não sim

4. Utilizado em estimativas

sim não sim sim sim sim

5. Contabilização automática

sim sim sim sim sim sim

Fonte: Análise de Pontos por FunçãoDOUGLAS JOSÉ PEIXOTO DE AZEVEDO

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Certificação CFPS – Certifield Function Point

Specialist; Conferida pelo International Function

Point Users Group; 2 vezes por ano; Reconhecida internacionalmente; Conferida por 1 ano e revalidada

anualmente, por até 3 anos, enquanto a pessoa permanecer filiada ao IFPUG.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Certificação Evolução da Certificação no Brasil:

Fonte:http://www.bfpug.com.br

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Certificação O Brasil já é o segundo do mundo em quantidade de CFPS (posição em janeiro de 2004):

Fonte:http://www.bfpug.com.br

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Conclusões Mantidos por uma organização internacional desde 1986 –

IFPUG; Suporte no Brasil – BFPUG; Programa mundial de certificação – CFPS; Padronização internacional – ISSO/IEC 20926; Modelam os requisitos a um nível de abstração mais elevada e

independente de artefatos do que os UCP, por exemplo; Pode ser utilizado por organizações que utilizem qualquer forma

de representação dos requisitos, casos de uso ou outras; Unidade de medida padrão para software; Compreensível por não técnicos; Apoia a análise de qualidade e produtividade; Uma forma para calcular custos e recursos requeridos para

desenvolvimento e manutenção de software; A utilização em contratos e licitações é uma realidade no Brasil;

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Conclusões Para ter uma boa utilização é necessária uma base histórica;

É necessário ter uma boa visão (profundidade do sistema para poder estimar com menos insegurança);

Não é muito boa para medir esforço de manutenção (correção de problemas);

Utilização de pesos para definir a classificação das funções;

Várias variações das métricas, é preciso saber qual a versão da métrica, quando se vai medir tamanho do software.

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Referências IFPUG - International Function Point Users Group

www.ifpug.org BFPUG - Brazilian Function Point Users Group

www.bfpug.com.br IFPUG - Function Point Counting Practices Manual AZEVEDO, Douglas José Peixoto. Análise de Pontos por Função para Aplicações Orientadas a Documentos

Developers Magazine – Pontos de Função ou Pontos por Caso de Uso? Como estimar projetos orientados a objeto - por Maurício Aguiar

FPA – Análise de Pontos de FunçãoFPA – Análise de Pontos de Função

Estudo de Caso Sistema de reservas de um hotel – Projeto de Desenvolvimento

top related