TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos...

51
TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos [email protected] Recife, Dezembro de 2003

Transcript of TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos...

Page 1: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

TAES3Uma Introdução à Análise de

Pontos de Função

Lúcio André Mendonça dos [email protected]

Recife, Dezembro de 2003

Page 2: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

“Não se pode controlar aquilo que não se consegue medir”

Tom DeMarco¹

¹ Tom DeMarco, Controlling Software Projects, Yourdon Press, 1982.

Page 3: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Métricas e Medidas de Software

Métricas• Pelo negócio• Por Analogia• Bottom-up• Top-down• Julgamento de

Especialistas• Paramétricos

Medidas• Linhas de Código

• Pontos de Função

• Pontos de Caso de Uso

Page 4: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Análise de Pontos de Função Histórico

• Allan Albrecht da IBM, em uma conferência da Guide/Share (1979). • Metodologia formal e publicação no domínio público.

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

• Grupo Internacional de Usuários de Pontos de Função (1986)– Manual de Práticas de Contagem

IFPUG Function Point Counting Practices Manual, atualmente no Release 4.1, January 1999.

• Criação de um grupo de trabalho na ISO sobre Medidas Funcionais de Tamanho (1994)

• Padrão Internacional ISO/IEC 20926 (2002)

Contagem de linhas de código fonte – SLOC Análise de Pontos de Função – FPA (1979)

Pontos de Casos de Uso – UCP (1993)

Tempo1980 1990 2000

Page 5: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Certificação • CFPS – Certifield Function Point Specialist: é a certificação

conferida pelo International Function Point Users Group às pessoas aprovadas no exame de certificação

Page 6: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Objetivos

• Medir a Funcionalidade de Sistemas de acordo com a perspectiva do usuário

• Medir o desenvolvimento e a manutenção de software independentemente da tecnologia usada para implementação

• Comparar a produtividade entre ambientes de desenvolvimento (P=PF/Esforço)

• Melhorar as estimativas de projetos de desenvolvimento de softwares

• Criar uma unidade padrão de medida de software

Page 7: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Procedimento para ContagemDetermineUnadjusted

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 o escopo de contagem e 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 de valor. 6. Calcular a contagem de pontos de função ajustada.

Page 8: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 1: Determinar o Tipo de Contagem

Tipos de contagem de Pontos de Função: Projeto de Desenvolvimento (development project) Manutenção (enhancement project) Aplicação (application)

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

Complete d Projec t

Complete d Projec t

Initializes

Updates

(Voltar)

Page 9: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Margem de Erro

Tempo

Conhecimento do Sistema

Margem de Erro

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

(Voltar)

Page 10: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 2: Identificar o Escopo e a Fronteira

• Estabelecer o propósito da contagem

• Identificar o escopo da contagem

• Identificar a fronteira da aplicação

• Documentar os itens acima e assuntos relacionados

Human Resources

(Project being counted)

Currency

Fixed Assets

User 1

Page 11: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Propósito e Escopo da ContagemO propósito de uma contagem de pontos de função é prover uma resposta para um problema de negócio. • Determina o tipo de contagem de pontos de função e o escopo da contagem requerida para obter a resposta do problema de negócio sob investigação • Influencia o posicionamento da fronteira entre o software sob revisão e o software circunvizinho.

O escopo da contagem define a funcionalidade que será incluída em uma particular contagem de pontos de função.• Define um (sub) conjunto do software que está sendo medido• É determinado pelo propósito da execução da contagem de pontos de função • Identifica quais funções serão incluídas na contagem de pontos de função para prover respostas pertinentes ao propósito da contagem• Pode incluir mais de uma aplicação

Page 12: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Fronteira da Aplicação A fronteira da aplicação indica o limite entre o software que está sendo medido e o usuário. • Define o que é externo à aplicação • É a interface conceitual entre a aplicação ‘interna’ e o mundo ‘externo’ do usuário• Atua como uma ' membrana' pela qual dados processados por transações passam para dentro e para fora da aplicação • Envolve os dados lógicos mantidos pela aplicação •Assegura a identificação dos dados lógicos referenciados mas não mantidos dentro da aplicação• É dependente da visão de negócio externa do usuário da aplicação. É independente de considerações técnicas e/ou de implementação

Page 13: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Visão Geral da Aplicação

Sistema BSistema A

ILF EIF

EO

EI

EQ

EO

EIEQ

Fronteira da Aplicação

Fronteira da Aplicação

Page 14: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 3: Contagem das Funções de Dados

Passo Ação Como Fazer

1 Identificar os ILFs Aplicar as regras de identificação de ILFs

2 Identificar os EIFs Aplicar as regras de identificação de ELFs

3 Determinar a complexidade dos ILF e EIF e suas contribuições

Seguir os procedimentos para calcular a complexidade e a contribuição para contagem não ajustada de pontos de função

Page 15: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Funções de Dados• ILF (Internal Logical File)

– Entidade lógica e persistente – Mantém os dados que sofrem manutenção dentro da

Fronteira da Aplicação – Equivale à um Depósito de Dados em um DFD ou à uma

entidade em um MER.

• EIF (External Interface File)– Entidade lógica e persistente– Mantido dentro da fronteira de outra aplicação– Um EIF contado por uma aplicação deve ser um ILF em outra

aplicação.

Page 16: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 1: Regras de Identificação de um ILF

Aplicamos a regra a cada um dos grupos de dados ou informação de controle encontrados na base para contagem.

       O grupo de dados ou informação de controle é lógico ou identificável pelo usuário?

       O grupo de dados é mantido por um processo elementar de dentro da fronteira da aplicação em contagem?

Page 17: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 1: Regras de Identificação de um ILF

(Voltar)

Page 18: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 2: Regras de Identificação de um EIF

Da mesma forma, aplicamos a regra a cada um dos grupos de dados ou informação de controle encontrados na base para contagem.(Voltar)

O grupo de dados ou a informação de controle é lógico ou identificável pelo usuário?

O grupo de dados não é mantido pela aplicação em contagem?

O grupo de dados é referenciado pela aplicação em contagem e é externo a ela?

O grupo de dados é mantido num ILF de outra aplicação?

Page 19: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 3: Complexidade e Contribuição dos ILFs e EIFs

DET - Data Element Type é um campo único e não repetido reconhecível pelo usuário.

Regras aplicáveis na contagem de DETs:

Conte um DET para cada campo único e não repetido reconhecível pelo usuário, mantido ou recuperado do ILF ou EIF através da execução de um processo elementar.

Quando duas aplicações mantêm e/ou referenciam o mesmo ILF/EIF, mas cada qual mantém/referencia DETs separados, conte somente os DETs usados por cada aplicação para medir o ILF/EIF.

Conte um DET para cada pedaço de dados requerido pelo usuário para estabelecer uma relação com outro ILF ou EIF.

Page 20: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 3: Complexidade e Contribuição dos ILFs e EIFs

RET - Record Element Type é um sub-grupo de dados reconhecível pelo usuário dentro de um ILF ou EIF. O sub-grupos podem ser Opcionais ou Obrigatórios.

Regras aplicáveis na contagem de RETs:

Conte um RET para cada sub-grupo Opcional ou Obrigatório do ILF ou EIF.

OU

Se não houver sub-grupos, conte o ILF ou EIF como um RET.

Page 21: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 3: Complexidade e Contribuição dos ILFs e EIFs

Matriz de Complexidade:  1 a 19

DET20 a 50 DET

Mais de 50 DET

1 RET Baixa Baixa Média

2 a 5 RET Baixa Média Alta

Mais de 5 RET

Média Alta Alta

 

Page 22: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 3: Complexidade e Contribuição dos ILFs e EIFsTabela de Conversão ILF :

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

Baixa 7

Média 10

Alta 15

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

Baixa 5

Média 7

Alta 10

Tabela de Conversão EIF :

Page 23: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Exemplo: Contagem de Funções de Dados não Ajustada

Page 24: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 4: Contagem das Funções de Transação

CountTransactiona l

FunctionTypes

Elementa ryIdentify

Processes1

Functions thatMaintain an ILF orAlter Behavior of

the System

Functions thatPresent

Information to theUser and

IdentifyPrimaryintent of

Elementa ryProcesses

andClassify

Per formcalculations,derive data ,

update an ILF,or alter system

behavior

Do notPer form

calculations,derive data ,

update an ILF,or alter system

behavior

ValidateAgainst

EICounting

rules3

DetermineEI

complexity4

DetermineEI

contribution5

ValidateAga inst

EOCounting

Rules3

ValidateAgainst

EQCounting

Rules3

DetermineEO

complexity4

DetermineEQ

complexity4

DetermineEO

contribution5

DetermineEQ

contribution5

2

Page 25: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Contagem da Funções de Transação

Passo Ação Como Fazer

1 Identificar os processos elementares Aplicar as regras de identificação de processos elementares

2 Identificar as pretensões básicas dos processos elementares, classificando-os como EI, EO ou EQ.

Aplicar as regras de identificação das pretensões básicas para os processos elementares identificados.

3 Validar a classificação Aplicar as regras específicas para cada tipo de função de transação (EI, EO ou EQ)

4 Determinar a complexidade (EI, EO ou EQ)

Seguir os procedimentos para calcular a complexidade das funções de transação

5 Determinar a contribuição (EI, EO ou EQ) Seguir os procedimentos para calcular a contribuição das funções de transação

Page 26: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Funções de Transação• EI (External Input)

– Processo lógico do negócio que mantém os dados em um ou mais arquivos lógicos internos

– Contada com base no número de campos de dados do usuário envolvidos e na soma dos ILF e EIF participantes do processo

• EO (External Output)– é um processo lógico do negócio que gera dados para um usuário ou

para outro aplicativo externo ao software– Exemplos típicos de saídas externas incluem relatórios de usuários,

disquetes ou fitas • EQ (External Query))

– O processamento lógico que não contém nenhuma fórmula matemática ou cálculo nem cria dados derivados; o comportamento do sistema não é alterado.

Page 27: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 1: Regras de Identificação de um Processo Elementar

O processo é a menor unidade de atividade que é significativa para o usuário?

O processo é auto-suficiente e deixa o negócio da aplicação em um estado consistente?

Aplicamos as regras a cada um dos processos elementares.

(Voltar)

Page 28: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 2: Identificar as Pretensões Básicas dos Processos Elementares

EI EO e EQ

Mantém um ILF ou altera o comportamento do sistema?

Apresenta informação ao usuário?

Aplicamos as regras a cada um dos processos elementares identificados.

Page 29: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 3: Validar a Classificação

 

 

EI EO EQ

O dado ou informação de controle é proveniente do lado de fora da fronteira da aplicação?

A função envia dados ou informação de controle para fora da fronteira da aplicação?

Ao menos um ILF é mantido se o dado que entra na fronteira não é uma informação de controle que altera o comportamento do sistema?

Para o processo identificado, uma das três indagações deve ser atendida:·    O processamento lógico é único, quando comparado a processamentos lógicos feitos para outras saídas externas ou consultas externas da aplicação?·    O conjunto de elementos de dados identificado é diferente dos conjuntos identificados por outras saídas externas e consultas externas da aplicação?·    Os ILFs e EIFs referenciados são diferentes dos arquivos referenciados por outras saídas externas e consultas externas da aplicação?

Para o processo identificado, uma das três indagações a seguir deve ser atendida:· O processamento lógico é único, quando comparado a processamentos lógicos feitos para outras entradas externas da aplicação?· O conjunto de elementos de dados identificado é diferente dos conjuntos identificados por outras entradas externas da aplicação?· Os ILFs e EIFs referenciados são diferentes dos arquivos referenciados por outras entradas externas da aplicação?

Para o processo elementar a ser contado como uma única saída externa, uma das seguintes indagações deve ser atendida:·    O processamento lógico do processo elementar contém ao menos um fórmula matemática ou cálculo?·    O processamento lógico do processo elementar cria dados derivados?·    O processamento lógico do processo elementar mantém ao menos um ILF?·    O processamento lógico do processo elementar altera o comportamento do sistema?

Para o processo elementar a ser contado como uma única consulta externa, todas as seguintes indagações devem ser atendidas:• O processamento lógico do processo elementar recupera dados ou informação de controle de um ILF ou EIF?·    O processamento lógico do processo elementar não contém fórmula matemática ou cálculo?·    O processamento lógico do processo elementar não cria dados derivados?·    O processamento lógico do processo elementar não mantém um ILF?• O processamento lógico do processo elementar não altera o comportamento do sistema?

 

Page 30: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 4: Determinar a Complexidade

FTR – File Type Referenced é:•Um ILF lido ou mantido por uma função de transação, ou•UM EIF lido por uma função de transação.

DET – Data Element Type é um campo único e não repetido reconhecível pelo usuário.

Page 31: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Regras para FTRs e DETsEI EO EQ

Conte um FTR para cada ILF mantido. Conte um FTR para cada ILF ou EIF lido durante o processamento de um processo elementar.

Conte um DET para cada campo único e não repetido reconhecível pelo usuário que entre ou saia da fronteira da aplicação e que seja requerido para completar a entrada externa.

Conte um FTR para cada ILF mantido durante o processamento de um processo elementar.

 

Não conte campos que sejam recuperados ou derivados pelo sistema e armazenados num ILF durante um processo elementar se o campo não cruzar a fronteira da aplicação.

Conte somente um FTR para cada ILF que seja mantido e lido durante o processo elementar.

 

Conte um DET para a capacidade de enviar uma mensagem de resposta do sistema para fora da fronteira da aplicação para indicar um erro que ocorreu durante o processamento, confirmar que aquele processo está completo ou verificar que aquele processo deveria continuar.

Conte um DET para a habilidade de especificar uma ação a ser tomada mesmo que haja múltiplos métodos para invocar o mesmo processo lógico.

  ·     Se um DET entre e saia da fronteira, conte somente uma vez o processo elementar.·     Conte um DET para cada campo único e não repetido reconhecível pelo usuário que entra na fronteira da aplicação e é requerido para especificar quando, o que e/ou como o dado é para ser recuperado ou gerado pelo processo elementar.·     Conte um DET para cada campo único e não repetido reconhecível pelo usuário que sai da fronteira.·     Não conte campos que recuperados ou derivados do sistema e armazenados num ILF durante o processo elementar se o campo não atravessou a fronteira da·     aplicação.·     Não conte literais como DET´s.·     Não conte as variáveis de paginação ou sistemas

Page 32: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

ComplexidadeMatriz de Complexidade para EI:

  1 a 4 DETs

5 a 15 DETs Mais de 15 DETs

0 a 1 FTR Baixa Baixa Média

2 FTRs Baixa Média Alta

Mais de 2 FTRs

Média Alta Alta

 

  1 a 5 DETs

6 a 19 DETs Mais de 19 DETs

0 a 1 FTR Baixa Baixa Média

2 a 3 FTRs Baixa Média Alta

Mais de 3 FTRs

Média Alta Alta

Matriz de Complexidade para EO e EQ:

Page 33: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Passo 5: Determinar a ContribuiçãoTabela de Conversão EI e EQ:

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

Baixa 3

Média 4

Alta 6

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

Baixa 4

Média 5

Alta 7

Tabela de Conversão EO:

Page 34: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 5: Fator de Ajuste

• Fator de Ajuste de Valor (FAV)– Passo final na contagem de pontos de função– Avalia restrições de negócio adicionais do software não

consideradas pelos cinco tipos de funções. – Todas as funções avaliadas na contagem de Pontos de

Função são funções do software– Baseado na influência de 14 Características Gerais do

Sistema

Page 35: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 5: Fator de Ajuste

Características Gerais:1. Comunicação de Dados2. Processamento de Dados Distribuído

(Funções Distribuídas)3. 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

É atribuída uma nota de 0 à 5 a cadas uma das Características Gerais do Sistema correspondendo ao seguinte critério: (nenhuma influência, influência incidental, moderada, média, significante, essencial)

Fator de Ajuste:

NI(total) = NI

VAF = 0,65 + ( 0,01 X NI) (0,65 <= Fa <= 1,35)

Page 36: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Etapa 6: Ajustar a Contagem

AFP = ADD * VAFonde: AFP é o valor inicial da contagem da

aplicação, ADD é a contagem não ajustada das

funções do projeto de desenvolvimento, VAF é o fator de ajuste da contagem

Page 37: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Exemplo• Calcule os pontos de função para um sistema que

faça um Cadastro de Clientes onde é possível tirar uma listagem por ordem alfabética e exportar o cadastro para outro sistema através de um arquivo texto.

Contagem: ILF = 01  (Arquivo de Clientes) EIF = 0 EI = 01 (Listagem por ordem alfabética) EO = 01 (Processo de inclusão) EQ = 01 (Arquivo Texto)

Page 38: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Exemplo• Todos os tipos de função podem ser considerados

de complexidade BAIXA nesse exemplo.

PFB = ILF x 7 + EIF x 5 + EI x 3 + EO x 4 + EQ x 3 = 1 x 7 + 0 x 5 + 1 x 3 + 1 x 4 + 1 x 3 = 17

• Contado-se os fatores de ajuste segundo os níveis de influência temos:

VAF = (45 * 0,01) + 0,65 = 1,1 (Fator de Ajuste)

APF = VAF x ADD = 1,1 x 17 = 18,7

Page 39: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Estimativas

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

Page 40: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Estimativas Maracatu Software• 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

Page 41: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Estimativas

• 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

Page 42: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Aplicações da Técnica FPA

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

Page 43: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Aplicações da Técnica FPA• 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

Page 44: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

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

Page 45: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Vantagens

• Uma ferramenta para determinar o tamanho de um pacote de

aplicação comprado contando todas as funções incluídas no pacote.

• Uma ferramenta para ajudar para os usuários a determinar o benefício de um pacote de aplicação para a sua organização contando funções que especificamente atendam seus requisitos.

• Uma ferramenta para medir as unidades de um produto de software para apoiar a análise de qualidade e produtividade.

• Um veículo para calcular custos e recursos requeridos para desenvolvimento e manutenção de software.

• Um fator de normalização para comparação de softwares.

Page 46: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Limitações e Desvantagens• 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

Page 47: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

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

Análise de Pontos por Função para Aplicações Orientadas a Documentos - DOUGLAS JOSÉ PEIXOTO DE AZEVEDO

Page 48: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Empresa

• Unysis– 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

Page 49: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Referências•International Function Point Users Grouphttp://www.ifpug.org/

•IFPUG -Function Point Counting Practices Manual

•BFPUG Brazilian Function Point Users Grouphttp://www.bfpug.com.br/

•Análise de Pontos por Função para Aplicações Orientadas a Documentos - DOUGLAS JOSÉ PEIXOTO DE AZEVEDO

•IT Measurement: Practical Advice from the Experts, IFPUG,Ed Yourdon – Com publicação de um trabalho do Márcio Silveira PUC-RJ

•Function Point Analisys, David Garmus, Addison-Wesley

Page 50: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Agradecimentos

Luciano Guedes, Unisys – RecifeIFPUG -Function Point Counting Practices Manual

Carlos Antônio Menezes de AlbuquerquePowerPoint – apresentação do semestre anterior

Profs. Alexandre, Augusto e HermanoOportunidade

Page 51: TAES3 Uma Introdução à Análise de Pontos de Função Lúcio André Mendonça dos Anjos lce.info@uol.com.br Recife, Dezembro de 2003.

Dúvidas?