Métricas e Técnicas de Estimativas de Projetos

85
Métricas e Técnicas de Estimativas de Projetos Pontos de Função Sérgio Soares [email protected] Especialização em Gerenciamento de Projetos de Tecnologia Adaptado a partir de material de Gibeon Aquino

Transcript of Métricas e Técnicas de Estimativas de Projetos

Métricas e Técnicas de Estimativas de Projetos

Pontos de Função

Sérgio Soares [email protected]

Especialização em Gerenciamento de Projetos de Tecnologia

Adaptado a partir de material de Gibeon Aquino

Pontos de Função   É uma medida funcional de tamanho de

software, introduzida por Alan Albrecht da IBM (1979).

  Oficializado pelo padrão internacional ISO/IEC 20926 de 2002

  O Function Point Counting Practices Manual contém as especificações • O referido manual é editado pelo IFPUG –

International Function Point Users Group; 2 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Objetivos da Análise de Pontos de Função   Medir o software através da

quantificação das funcionalidades solicitadas pelo usuário, com base no projeto lógico

  Pode ser aplicado para projetos de manutenção ou desenvolvimento • Independentemente da tecnologia usada

3 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Capacidade da Análise de Pontos de Função   Mensurar um produto ou pacote de

software   Ajudar a Medir a Produtividade   Estimar o desenvolvimento e a

manutenção   Monitorar acordos de terceirização   Normalizar outras medidas

4 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem de Pontos

de Função

5 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

6 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

7 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 1 – Determinar o Tipo de Contagem   Contagem de projeto de desenvolvimento

•  Projetos novos ou inacabados, com o objetivo de estimar o tamanho final

— considerar as funções destinadas à conversão ou migração de dados

  Contagem de projetos de melhoria •  Manutenção sobre sistemas existentes

— corretivas, evolutivas, adaptativas ou preventivas

  Contagem de aplicação •  Determinar tamanho de aplicações em produção

8 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

9 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 2 – Definição da fronteira da aplicação   As fronteiras do sistema são

determinadas para direcionar a contagem

  As fronteiras do sistema são definidas a partir da percepção do usuário • Pode apresentar incertezas

10 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

11 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 3 e 4 – Contagem das Funções de Dados e Transação   Identificação das funções do sistema

• Funções de Dados — Arquivos Lógicos Internos (ALI) — Arquivos de Interface Externa (AIE)

• Funções de Transação — Entradas Externas (EE) — Saídas Externas (SE) — Consultas Externas (CE)

12 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

13 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 5 – Determinar os PFs Não-ajustados   Classificação das funções,

individualmente, quanto à complexidade funcional • Baixa • Médio • Alta

  Cálculo através da aplicação de pesos de acordo com as tabelas específicas

14 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

15 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 6 – Cálculo do fator de ajuste   O PF não ajustado leva em consideração

fatores que irão influenciar a dificuldade e, conseqüentemente, o tempo de desenvolvimento do sistema. •  Características de ambiente •  Questões de qualidade •  Particularidades na arquitetura do sistema •  Experiência da equipe

  Tais características podem exercer um impacto entre -35% e +35%

16 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 6 – Cálculo do fator de ajuste   14 itens são pontuados de acordo com

a sua importância (entre 0 e 5). Para a obtenção do fator de ajuste, a soma das pontuações (NI) é colocado na seguinte fórmula: • FA = (NI * 0,01) + 0,65 • Onde:

— FA = Fator de ajuste; — NI = soma da pontuação obtida.

17 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Procedimento de Contagem

18 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Passo 6 – Cálculo do PF Ajustado

O TCF (Fator de Complexidade Técnica) varia de 0,65 (se todos os Fi tiverem valor 0) a 1,35 (se todos os Fi tiverem valor 5).

O cálculo final de pontos de função é realizado com a seguinte fórmula:

FP = UFP * TCF Onde

TCF = 0,65 + 0,01 * (SUM( Fi ))

Exemplo: TCF = (61 * 0,01) + 0,65 = 1,26

FP = 200 * 1,26 FP = 252 Pontos de Função

19 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Funções da Análise de Pontos de Função

20 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Tipos de Funções   Funções de Dados

• Funcionalidades solicitadas pelo usuário referentes à requisitos de dados — Arquivos Lógicos Internos — Arquivos de Interface Externa

  Funções de Transação • Funcionalidades solicitadas pelo usuário

referentes à processamento — Entrada Externas — Saídas Externas — Consultas Externas

21 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Funções de Dados

Funções de Dados   A contagem é feita através da análise do:

• Modelo de dados • Indicação, por um especialista, de quais são

as principais categorias de dados da aplicação   A idéia das funções de dados é

identificar as Entidades manipuladas pelas funcionalidades do sistema

  Podem ser de dois tipos • Arquivos Lógicos Internos • Arquivos de Interface Externa

23 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Arquivo Lógico Interno (ALI)   São grupos de dados ou informações

de controle, internos à aplicação, identificáveis pelo usuário

  Um ALI armazena dados que são mantidos (através de alteração, inclusão ou exclusão) por um ou mais processos elementares da aplicação

24 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Características de um ALI   A manutenção dos dados é feita

diretamente pelo usuário através de rotinas do sistema

  Os dados são requisitados pelo usuário, de acordo com a sua necessidade de informação

  Os dados são armazenados internamente, dentro das fronteiras da aplicação

25 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo de ALIs   Arquivos (grupos de tabelas) de

• Informações da Folha de Pagamento • Transação de cartão de crédito • Vendas de Produtos

  Não são exemplos de ALIs: •  Arquivos criados e mantidos por outras aplicações •  Arquivos temporários ou cópias do mesmo arquivo •  Arquivos criados em função da tecnologia •  Arquivos de backup ou restore •  Tabelas de Código-Descrição

— Dados com o objetivo de melhorar a usabilidade 26 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Arquivo de Interface Externa - AIE   Um Arquivo de interface externa é

um grupo de dados inter-relacionados, necessários para a aplicação, mantidos e armazenados fora do sistema

  A intenção primária de um AIE é armazenar dados referenciados por um ou mais processos elementares que fazem parte (estão dentro da fronteira) da aplicação sendo contada

27 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Características de um AIE   Grupo de dados armazenados fora das

fronteiras da aplicação   Grupo de dados que não são mantidos

por rotinas da aplicação   Grupo de dados que são necessários

para o usuário e referenciados pela aplicação

28 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplos de AIE   Dados

•  Extraídos e lidos de outras aplicações (Mantidos somente pela outra aplicação)

•  Compartilhados não mantidos pela aplicação   Não são exemplos de AIE:

•  Arquivos compartilhados que também são mantidos pela aplicação sendo contada

•  Arquivos temporários ou cópias do mesmo arquivo •  Arquivos criados em função da tecnologia •  Arquivos de backup ou restore •  Tabelas de Código-Descrição

— Dados com o objetivo de melhorar a usabilidade 29 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Classificando as Funções de Dados   Após a identificação dos ALIs e AIEs

é necessário que se identifique suas complexidades

  Para a identificação das complexidades, será necessária a identificação de dois outros elementos: • RLR – Registro Lógico Relacionado • DER – Dado Elementar Relacionado

30 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

RLR – Registros lógicos relacionados   Subgrupo de elementos de dados,

reconhecidos pelos usuários • Será contado 1 (um) RLR para cada grupo

opcional ou mandatório de dados de um ALI ou AIE

• Será contado 1(um) RLR para cada ALI ou AIE que não possuam subgrupos de dados

31 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

DER – Dado Elementar Relacionado   É um campo único, reconhecido pelo usuário

•  Contar um DER para cada campo único, não repetitivo, reconhecido pelo usuário e mantido em um ALI/AIE, ou recuperado de um ALI/AIE, através de um processo elementar

•  Quando um mesmo ALI/AIE for compartilhado por mais de uma aplicação, contar somente os DERs usados por cada aplicação, independentemente do tamanho do ALI/AIE

•  Contar um DER para cada pedaço de dado requerido pelo usuário para estabelecer um relacionamento com um outro ALI, isto é: uma chave estrangeira ou uma associação entre classes de objetos

32 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Tabela de Identificação da Complexidade das Funções de Dados

33 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo   Considere um sistema de RH que

mantém as seguintes informações • Dados do Empregado

— Empregados CLT — Consultores

• Dados dos Dependentes • Dados da Função • Histórico das Ocupações dos Empregados • Local de Trabalho

— Mantido por outro sistema 34 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

ALI (EMPREGADO)   Empregado

•  Nome, CPF, RG, Número Dependentes, Data Nascimento, Data Admissão, Telefone Residencial e Celular, Ramal, Email e Local de Trabalho.

  Empregado CLT •  CTPS, Remuneração, Período Férias.

  Empregado Consultor •  Valor da Hora de Trabalho, Mínimo e Máximo de

Horas por mês, Período da consultoria.   Dependente

•  Sequencial, Nome, Data de Nascimento, Parentesco 35 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

ALI (FUNÇÃO)   Função

• Nome, ID, Remuneração Base, Data Criação, Ativo, Data de Suspensão

36 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

ALI (OCUPAÇÃO)   Ocupação

• Data de Início, Salário, Ativo, Data Término, Local de Trabalho

37 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

AIE (LOCAL)   Local

• Sigla, Nome, Endereço, Cidade, Estado, CEP e País

38 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Complexidade dos ALIs e AIEs

39 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Funções de Transação

Funções de transação   As funções transacionais capturam a

complexidade do sistema a partir da complexidade do processamento e movimentação dos dados

  As funções transacionais são: • Entradas Externas – EE • Consulta Externa – CE • Saída Externa – SE

41 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Funções de Transação   Processo Elementar

• Menor unidade de atividade que tem significado para o usuário

• Deve ser auto-contido e manter a aplicação em um estado consistente

  Diferença entre as funções de transação está na intenção primária das mesmas

42 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Entradas Externas   Processo elementar da aplicação que

processa dados ou informações de controle procedentes de fora da fronteira da aplicação

  A intenção primária de uma EE é • Manter um ou mais ALIs • Alterar o comportamento da aplicação

através de sua lógica de processamento

43 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplos de Entrada Externas   São exemplos de Entradas Externas

• Funcionalidades de Manutenção — Inclusão, Remoção, Alteração, etc.

• Mensagens vindas de outras aplicações e que requerem algum processamento

  Não são Entradas Externas • Tela de login • Entradas não reconhecidas pelo usuário

(exigidas somente pela tecnologia) • Manutenção de Tabelas Código-Descrição

44 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Consultas Externas   Processo elementar que resulta na recuperação

de dados ou informações de controle enviados para fora da fronteira do sistema.

  A intenção primária de uma CE é: •  Apresentar informações para um usuário através da

recuperação de dados ou informações de controle de um ALI ou AIE.

  As CEs não possuem cálculos matemáticos e não efetuam manutenções nos dados de ALIs e nem alteram o comportamento do sistema

45 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo de Consultas Externas   Exemplos de CEs

• Consulta com resposta na tela • Relatórios sem cálculos matemáticos • Menu de opções dinâmicos

  Não são CEs • Menu de opções estáticos • Mensagens de Erros ou Confirmação • Ordenação ou reorganização dos dados

apresentados 46 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Saídas Externas   Processo elementar que gera dados ou

informações de controle que saem da fronteira da aplicação

  A intenção primária de uma SE é: •  Apresentar informações para um usuário através de

lógica de processamento que não envolva apenas a recuperação de dados ou informações de controle.

  A lógica de processamento precisa conter pelo menos um fórmula matemática ou cálculo, criar dados derivados, manter um ou mais ALIs, e/ou alterar o comportamento do sistema.

47 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo de Saída Externa   Exemplos de SEs

• Relatórios com cálculos matemáticos ou processamento de dados

• Envio de dados para outras aplicações, com o processamento de cálculos matemáticos e/ou atualização de ALIs

  Não são SEs • Relatórios idênticos somente com os

dados diferentes • Mensagens

48 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo   Para o sistema de recursos humanos

visto anteriormente, considere as seguintes funcionalidades: • Manutenção de Empregados

— Listagem, Consulta, Inserção, Alteração e Exclusão de Empregado

— Listagem, Consulta, Inserção, Alteração de Dependente

— Promoção (Alteração Salarial) — Alteração Funcional

49 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo   Manutenção das Funções

• Listagem, Consulta, Inserção, Alteração e Exclusão das Funções

  Relatórios • Total de Funcionários por Local • Folha de Pagamento do Mês • Lista dos Nomes e Qtde de Dependentes

dos Empregados

50 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Classificando as Funções de Transações   Após a identificação das EE, CE e SE é

necessário que se identifique suas complexidades, para que elas sejam pontuados

  Para a identificação das complexidades, será necessária a contabilização dos • Arquivos Referenciados durante a

execução do processo elementar • Itens de Dados referenciados durante a

execução do processo elementar 51 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Contabilizando Entradas Externas   Arquivos Referenciados

•  Contabilizar cada ALI mantido e/ou lido durante a execução do processo elementar

  Itens de Dados Referenciados •  Contar um item para cada campo que entra e/ou

sai da fronteira da aplicação; •  Contar um item para a capacidade de enviar

mensagens (Erros, confirmação ou solicitação de continuação);

•  Contar um item para a capacidade de especificar uma ação a ser tomada (Botão OK, clique mouse, teclas, etc.).

52 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Complexidade de uma EE

53 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Contabilizando Consultas Externas   Arquivos Referenciados

•  Contabilizar cada ALI ou AIE lido durante a execução do processo elementar

  Itens de Dados Referenciados •  Contar um item para cada campo que entra e/ou

sai da fronteira da aplicação; •  Contar um item para a capacidade de enviar

mensagens (Erros, confirmação ou solicitação de continuação);

•  Contar um item para a capacidade de especificar uma ação a ser tomada (Botão OK, clique mouse, teclas, etc.).

54 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Complexidade de Consultas Externas

55 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Contabilizando Saídas Externas   Arquivos Referenciados

•  Contabilizar cada ALI ou AIE lido/mantido durante a execução do processo elementar

  Itens de Dados Referenciados •  Contar um item para cada campo que entra e/ou

sai da fronteira da aplicação; •  Contar um item para a capacidade de enviar

mensagens (Erros, confirmação ou solicitação de continuação);

•  Contar um item para a capacidade de especificar uma ação a ser tomada (Botão OK, clique mouse, teclas, etc.).

56 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Complexidade de Saídas Externas

57 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exemplo

58 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exercício 1   Complete o exemplo anterior com as

informações das outras funções de transações do sistema de recursos humanos

59 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Exercício 2   Atribua complexidade às funções de

transações especificadas no exemplo anterior

60 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Contagem dos Pontos de Função Não Ajustados

Contagem dos Pontos de Função Não Ajustados   Cada função de dados e transação

contribuem para a quantidade de pontos de função de acordo com a tabela abaixo

62 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Cálculo do Fator de Ajuste

Cálculo do fator de ajuste   Considerar fatores que irão influenciar a

dificuldade e, conseqüentemente, o tempo de desenvolvimento do sistema • Características de ambiente • Questões de qualidade • Arquitetura do sistema • Experiência da equipe • etc.

  Refletir tal influência na contagem de PF 64 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Cálculo do fator de ajuste   Tais características podem exercer um

impacto entre -35% e +35%   14 itens são pontuados de acordo com a

sua importância (entre 0 e 5). A soma das pontuações (NI) é colocada na seguinte fórmula: • FA = (NI * 0,01) + 0,65

— FA = Fator de ajuste — NI = soma da pontuação obtida

65 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

14 Itens para cálculo do Fator de Ajuste   Comunicação de dados   Processamento de

dados distribuído   Performance   Configuração

intensamente utilizada   Volume de Transação   Entrada de Dados on-

line   Eficiência do usuário

  Atualização on-line   Processamento

complexo   Reusabilidade   Facilidade de

Instalação   Facilidade de

Operação   Múltiplos sites   Facilidade de Mudança

66 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Comunicação de Dados

67 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Processamento de dados distribuído

68 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Performance

69 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Configuração intensamente utilizada

70 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Volume de Transações

71 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Entrada de Dados on-line

72 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Eficiência do Usuário Final

73 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Atualização on-line

74 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Processamento complexo

75 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Reusabilidade

76 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Facilidade de Implantação

77 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Facilidade Operacional

78 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Múltiplos Sites

79 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Facilidade de Mudança

80 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Pontos de Função – Calculando FP F1 Comunicação de Dados

F2 Funções distribuídas

F3 Performance

F4 Configuração do equipamento

F5 Volume de transações

F6 Entrada de dados on-line

F7 Interface com o usuário

F8 Atualização on-line

F9 Processamento complexo

F10 Reusabilidade

F11 Facilidade de implantação

F12 Facilidade Operacional

F13 Múltiplos locais

F14 Facilidades de mudanças (Flexibilidade)

Cada componente é classificado de 0 a 5, onde 0 significa que o componente não têm influência no sistema e 5 significa que o componente é essencial .

TCF = 0,65 + 0,01 * (SUM( Fi ))

O fator varia de 0,65 (se todos os Fi tiverem valor 0) a 1,35 (se todos os Fi tiverem valor 5). O cálculo final de pontos de função é realizado com a seguinte fórmula:

FP = UFP * TCF 81 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Referências adicionais   The International Function Point

Users’ Group (IFPUG) • http://www.bfpug.com.br/

  Brazilian Function Point Users’ Group (BFPUG) • http://www.ifpug.org/

  http://www.baixaki.com.br/download/APF-Analise-de-Pontos-de-Funcao.htm

82 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Discussão   Quão precisa é a contagem de pontos

de função?   Há espaço na prática para a mesma?   Quem já usou na prática?

83 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

Prova   Considere o sistema HealthWatcher

• Identifique as funções de dados (ALIs e AIEs) e suas complexidades — contabilize o número de RLR e DER (slide 39)

• Identifique as funções de transações (EE, CE e SE) e suas complexidades — detalhe o cálculo numa tabela (slide 58)

• Calcule o fator de ajuste — detalhe cada item

• Calcule o número de pontos de função 84 Métricas e Técnicas de Estimativas de Projetos - Pontos de Função

SURPRESA

Métricas e Técnicas de Estimativas de Projetos

Pontos de Função

Sérgio Soares [email protected]

Especialização em Gerenciamento de Projetos de Tecnologia

Adaptado a partir de material de Gibeon Aquino