Técnicas de estimativa - Processo de contagem de FP

O processo de contagem de FP envolve as seguintes etapas -

  • Step 1 - Determine o tipo de contagem.

  • Step 2 - Determine o limite da contagem.

  • Step 3 - Identificar cada Processo Elementar (PE) exigido pelo usuário.

  • Step 4 - Determine os EPs exclusivos.

  • Step 5 - Medir funções de dados.

  • Step 6 - Medir funções transacionais.

  • Step 7 - Calcular o tamanho funcional (contagem de pontos de função não ajustada).

  • Step 8 - Determine o fator de ajuste de valor (VAF).

  • Step 9 - Calcule a contagem de pontos de função ajustada.

Note- Características Gerais do Sistema (GSCs) são opcionais no CPM 4.3.1 e movidas para o Apêndice. Portanto, a Etapa 8 e a Etapa 9 podem ser ignoradas.

Etapa 1: determinar o tipo de contagem

Existem três tipos de contagens de pontos de função -

  • Contagem de pontos de função de desenvolvimento
  • Contagem de pontos de função do aplicativo
  • Contagem de pontos de função de aprimoramento

Contagem de pontos de função de desenvolvimento

Os pontos de função podem ser contados em todas as fases de um projeto de desenvolvimento, desde o requisito até o estágio de implementação. Esse tipo de contagem está associado a novos trabalhos de desenvolvimento e pode incluir os protótipos, que podem ter sido solicitados como solução temporária, que dá suporte ao esforço de conversão. Esse tipo de contagem é chamado de contagem de pontos de função de linha de base.

Contagem de pontos de função do aplicativo

As contagens de aplicativos são calculadas como os pontos de função entregues e excluem qualquer esforço de conversão (protótipos ou soluções temporárias) e funcionalidade existente que possa ter existido.

Contagem de pontos de função de aprimoramento

Quando mudanças são feitas no software após a produção, elas são consideradas como aprimoramentos. Para dimensionar esses projetos de aprimoramento, a contagem de pontos de função é adicionada, alterada ou excluída no aplicativo.

Etapa 2: determinar o limite da contagem

O limite indica a fronteira entre o aplicativo que está sendo medido e os aplicativos externos ou o domínio do usuário. (Consulte a Figura 1)

Para determinar o limite, entenda -

  • O objetivo da contagem de pontos de função
  • Escopo do aplicativo que está sendo medido
  • Como e quais aplicativos mantêm quais dados
  • As áreas de negócios que suportam os aplicativos

Etapa 3: identificar cada processo elementar exigido pelo usuário

Compor e / ou decompor os requisitos funcionais do usuário na menor unidade de atividade, que satisfaça todos os seguintes critérios -

  • É significativo para o usuário.
  • Constitui uma transação completa.
  • É independente.
  • Deixa o negócio do aplicativo sendo contado em um estado consistente.

Por exemplo, o Requisito Funcional do Usuário - “Manter as informações do funcionário” pode ser decomposto em atividades menores, como adicionar funcionário, alterar funcionário, excluir funcionário e perguntar sobre funcionário.

Cada unidade de atividade assim identificada é um Processo Elementar (PE).

Etapa 4: determinar os processos elementares exclusivos

Comparando dois EPs já identificados, conte-os como um EP (mesmo EP) se eles -

  • Requer o mesmo conjunto de DETs.
  • Requer o mesmo conjunto de FTRs.
  • Requer o mesmo conjunto de lógica de processamento para completar o EP.

Não divida um EP com várias formas de lógica de processamento em vários Eps.

Por exemplo, se você identificou 'Adicionar funcionário' como um EP, não deve ser dividido em dois EPs para contabilizar o fato de que um funcionário pode ou não ter dependentes. O EP ainda é 'Adicionar funcionário', e há variação na lógica de processamento e DETs para contabilizar os dependentes.

Etapa 5: funções de medição de dados

Classifique cada função de dados como ILF ou EIF.

Uma função de dados deve ser classificada como um -

  • Arquivo lógico interno (ILF), se for mantido pelo aplicativo que está sendo medido.

  • Arquivo de interface externa (EIF) se for referenciado, mas não mantido pelo aplicativo que está sendo medido.

ILFs e EIFs podem conter dados de negócios, dados de controle e dados baseados em regras. Por exemplo, a comutação telefônica é feita de todos os três tipos - dados de negócios, dados de regras e dados de controle. Os dados da empresa são a chamada real. Os dados da regra são como a chamada deve ser roteada pela rede, e os dados de controle são como os switches se comunicam entre si.

Considere a seguinte documentação para a contagem de ILFs e EIFs -

  • Objetivos e restrições do sistema proposto.
  • Documentação referente ao sistema atual, se tal sistema existir.
  • Documentação dos objetivos, problemas e necessidades percebidos pelos usuários.
  • Modelos de dados.

Etapa 5.1: contar os DETs para cada função de dados

Aplique as seguintes regras para contar DETs para ILF / EIF -

  • Conte um DET para cada campo não repetido identificável de usuário único mantido ou recuperado do ILF ou EIF por meio da execução de um EP.

  • Conte apenas aqueles DETs sendo usados ​​pelo aplicativo que são medidos quando dois ou mais aplicativos mantêm e / ou fazem referência à mesma função de dados.

  • Conte um DET para cada atributo exigido pelo usuário para estabelecer um relacionamento com outro ILF ou EIF.

  • Revise os atributos relacionados para determinar se eles são agrupados e contados como um único DET ou se são contados como vários DETs. O agrupamento dependerá de como os EPs usam os atributos dentro do aplicativo.

Etapa 5.2: contar os RETs para cada função de dados

Aplique as seguintes regras para contar RETs para ILF / EIF -

  • Conte um RET para cada função de dados.
  • Conte um RET adicional para cada um dos seguintes subgrupos lógicos adicionais de DETs.
    • Entidade associativa com atributos não-chave.
    • Subtipo (diferente do primeiro subtipo).
    • Entidade atributiva, em relação diferente da obrigatória 1: 1.

Etapa 5.3: Determinar a complexidade funcional para cada função de dados

RETS Tipos de elemento de dados (DETs)
1-19 20-50 >50
1 eu eu UMA
2 a 5 eu UMA H
> 5 UMA H H

Complexidade funcional: L = Baixo; A = Média; H = Alto

Etapa 5.4: Medir o tamanho funcional para cada função de dados

Complexidade Funcional Contagem de FP para ILF Contagem de FP para EIF
Baixo 7 5
Média 10 7
Alto 15 10

Etapa 6: Medir funções transacionais

Para medir as funções transacionais, a seguir estão as etapas necessárias -

Etapa 6.1: Classifique cada Função Transacional

As funções transacionais devem ser classificadas como uma entrada externa, uma saída externa ou uma consulta externa.

Entrada externa

A entrada externa (EI) é um processo elementar que processa dados ou informações de controle que vêm de fora da fronteira. A principal intenção de um EI é manter um ou mais ILFs e / ou alterar o comportamento do sistema.

Todas as seguintes regras devem ser aplicadas -

  • Os dados ou informações de controle são recebidos de fora dos limites do aplicativo.

  • Pelo menos um ILF é mantido se os dados que entram no limite não são informações de controle que alteram o comportamento do sistema.

  • Para o PE identificado, uma das três afirmações deve ser aplicada -

    • A lógica de processamento é exclusiva da lógica de processamento executada por outros EIs para o aplicativo.

    • O conjunto de elementos de dados identificados é diferente dos conjuntos identificados para outras EIs no aplicativo.

    • ILFs ou EIFs referenciados são diferentes dos arquivos referenciados por outros EIs no aplicativo.

Saída Externa

Saída Externa (EO) é um Processo Elementar que envia dados ou informações de controle fora dos limites do aplicativo. EO inclui processamento adicional além de uma consulta externa.

A principal intenção de um EO é apresentar informações a um usuário por meio de uma lógica de processamento diferente ou adicional à recuperação de dados ou informações de controle.

A lógica de processamento deve -

  • Conter pelo menos uma fórmula matemática ou cálculo.
  • Crie dados derivados.
  • Mantenha um ou mais ILFs.
  • Altere o comportamento do sistema.

Todas as seguintes regras devem ser aplicadas -

  • Envia dados ou informações de controle externas aos limites do aplicativo.
  • Para o PE identificado, uma das três afirmações deve ser aplicada -
    • A lógica de processamento é exclusiva da lógica de processamento executada por outros EOs para o aplicativo.
    • O conjunto de elementos de dados identificados é diferente de outros EOs no aplicativo.
    • ILFs ou EIFs referenciados são diferentes dos arquivos referenciados por outros EOs no aplicativo.

Além disso, uma das seguintes regras deve ser aplicada -

  • A lógica de processamento contém pelo menos uma fórmula matemática ou cálculo.
  • A lógica de processamento mantém pelo menos um ILF.
  • A lógica de processamento altera o comportamento do sistema.

Inquérito externo

A Consulta Externa (EQ) é um Processo Elementar que envia dados ou informações de controle para fora dos limites. O objetivo principal de um EQ é apresentar informações ao usuário por meio da recuperação de dados ou informações de controle.

A lógica de processamento não contém fórmulas matemáticas ou cálculos e não cria dados derivados. Nenhum ILF é mantido durante o processamento, nem o comportamento do sistema é alterado.

Todas as seguintes regras devem ser aplicadas -

  • Envia dados ou informações de controle externas aos limites do aplicativo.
  • Para o PE identificado, uma das três afirmações deve ser aplicada -
    • A lógica de processamento é exclusiva da lógica de processamento executada por outros EQs para o aplicativo.
    • O conjunto de elementos de dados identificados são diferentes de outros EQs no aplicativo.
    • Os ILFs ou EIFs referenciados são diferentes dos arquivos referenciados por outros EQs no aplicativo.

Além disso, todas as seguintes regras devem ser aplicadas -

  • A lógica de processamento recupera dados ou informações de controle de um ILF ou EIF.
  • A lógica de processamento não contém fórmula matemática ou cálculo.
  • A lógica de processamento não altera o comportamento do sistema.
  • A lógica de processamento não mantém um ILF.

Etapa 6.2: contar os DETs para cada função transacional

Aplique as seguintes regras para contar DETs para EIs -

  • Reveja tudo o que cruza (entra e / ou sai) da fronteira.

  • Conte um DET para cada atributo não repetido e identificável de usuário único que cruzar (entrar e / ou sair) do limite durante o processamento da função transacional.

  • Conte apenas um DET por função transacional para a capacidade de enviar uma mensagem de resposta do aplicativo, mesmo se houver várias mensagens.

  • Conte apenas um DET por função transacional para a capacidade de iniciar ação (ões), mesmo se houver vários meios para fazê-lo.

  • Não conte os seguintes itens como DETs -

    • Atributos gerados dentro do limite por uma função transacional e salvos em um ILF sem sair do limite.

    • Literais como títulos de relatório, identificadores de tela ou painel, cabeçalhos de colunas e títulos de atributos.

    • Carimbos gerados pelo aplicativo, como atributos de data e hora.

    • Variáveis ​​de paginação, números de página e informações de posicionamento, por exemplo, 'Linhas 37 a 54 de 211'.

    • Auxílios à navegação, como a capacidade de navegar em uma lista usando “anterior”, “próximo”, “primeiro”, “último” e seus equivalentes gráficos.

Aplique as seguintes regras para contar DETs para EOs / EQs -

  • Reveja tudo o que cruza (entra e / ou sai) da fronteira.

  • Conte um DET para cada atributo não repetido e identificável de usuário único que cruzar (entrar e / ou sair) do limite durante o processamento da função transacional.

  • Conte apenas um DET por função transacional para a capacidade de enviar uma mensagem de resposta do aplicativo, mesmo se houver várias mensagens.

  • Conte apenas um DET por função transacional para a capacidade de iniciar ação (ões), mesmo se houver vários meios para fazê-lo.

  • Não conte os seguintes itens como DETs -

    • Atributos gerados dentro do limite sem cruzar o limite.

    • Literais como títulos de relatório, identificadores de tela ou painel, cabeçalhos de colunas e títulos de atributos.

    • Carimbos gerados pelo aplicativo, como atributos de data e hora.

    • Variáveis ​​de paginação, números de página e informações de posicionamento, por exemplo, 'Linhas 37 a 54 de 211'.

    • Auxílios à navegação, como a capacidade de navegar em uma lista usando “anterior”, “próximo”, “primeiro”, “último” e seus equivalentes gráficos.

Etapa 6.3: contar os FTRs para cada função transacional

Aplique as seguintes regras para contar FTRs para EIs -

  • Conte um FTR para cada ILF mantido.
  • Conte um FTR para cada ILF ou EIF lido durante o processamento do EI.
  • Conte apenas um FTR para cada ILF que é mantido e lido.

Aplique a seguinte regra para contar FTRs para EO / EQs -

  • Conte um FTR para cada ILF ou EIF lido durante o processamento de EP.

Além disso, aplique as seguintes regras para contar FTRs para EOs -

  • Conte um FTR para cada ILF mantido durante o processamento de EP.
  • Conte apenas um FTR para cada ILF que é mantido e lido por EP.

Etapa 6.4: Determinar a complexidade funcional para cada função transacional

FTRs Tipos de elemento de dados (DETs)
1-4 5-15 >=16
0-1 eu eu UMA
2 eu UMA H
> = 3 UMA H H

Complexidade funcional: L = Baixo; A = Média; H = Alto

Determine a complexidade funcional para cada EO / EQ, com a exceção de que EQ deve ter um mínimo de 1 FTR -

EQ deve ter no mínimo 1 FTR

FTRs

Tipos de elemento de dados (DETs)
1-4 5-15 > = 16
0-1 eu eu UMA
2 eu UMA H
> = 3 UMA H H

Complexidade funcional: L = Baixo; A = Média; H = Alto

Etapa 6.5: Medir o tamanho funcional para cada função transacional

Meça o tamanho funcional de cada EI a partir de sua complexidade funcional.

Complexidade Contagem de FP
Baixo 3
Média 4
Alto 6

Meça o tamanho funcional de cada EO / EQ a partir de sua complexidade funcional.

Complexidade Contagem de FP para EO Contagem de FP para EQ
Baixo 4 3
Média 5 4
Alto 6 6

Etapa 7: Calcular o tamanho funcional (contagem de pontos de função não ajustada)

Para calcular o tamanho funcional, deve-se seguir as etapas abaixo -

Etapa 7.1

Relembre o que você encontrou na Etapa 1. Determine o tipo de contagem.

Etapa 7.2

Calcule o tamanho funcional ou a contagem de pontos de função com base no tipo.

  • Para contagem de pontos de função de desenvolvimento, vá para a Etapa 7.3.
  • Para a contagem de pontos de função do aplicativo, vá para a Etapa 7.4.
  • Para contagem de pontos de função de aprimoramento, vá para a Etapa 7.5.

Etapa 7.3

A contagem de pontos de função de desenvolvimento consiste em dois componentes de funcionalidade -

  • Funcionalidade do aplicativo incluída nos requisitos do usuário para o projeto.

  • Funcionalidade de conversão incluída nos requisitos do usuário para o projeto. A funcionalidade de conversão consiste em funções fornecidas apenas na instalação para converter dados e / ou fornecer outros requisitos de conversão especificados pelo usuário, como relatórios de conversão especiais. Por exemplo, um aplicativo existente pode ser substituído por um novo sistema.

DFP = ADD + CFP

Onde,

DFP = Contagem de Pontos de Função de Desenvolvimento

ADD = Tamanho das funções entregues ao usuário pelo projeto de desenvolvimento

CFP = Tamanho da funcionalidade de conversão

ADD = Contagem FP (ILFs) + Contagem FP (EIFs) + Contagem FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

CFP = Contagem FP (ILFs) + Contagem FP (EIFs) + Contagem FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

Etapa 7.4

Calcular a contagem de pontos de função do aplicativo

AFP = ADD

Onde,

AFP = Contagem de pontos de função do aplicativo

ADD = Tamanho das funções entregues ao usuário pelo projeto de desenvolvimento (excluindo o tamanho de qualquer funcionalidade de conversão), ou a funcionalidade que existe sempre que o aplicativo é contado.

ADD = Contagem FP (ILFs) + Contagem FP (EIFs) + Contagem FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

Etapa 7.5

A contagem de pontos de função de aprimoramento considera os quatro componentes de funcionalidade a seguir -

  • Funcionalidade que é adicionada ao aplicativo.
  • Funcionalidade que é modificada no aplicativo.
  • Funcionalidade de conversão.
  • Funcionalidade que é excluída do aplicativo.

EFP = ADD + CHGA + CFP + DEL

Onde,

EFP = Contagem de Pontos de Função de Melhoria

ADD = Tamanho das funções adicionadas pelo projeto de melhoria

CHGA = Tamanho das funções sendo alteradas pelo projeto de melhoria

CFP = Tamanho da funcionalidade de conversão

DEL = Tamanho das funções sendo excluídas pelo projeto de melhoria

ADD = Contagem FP (ILFs) + Contagem FP (EIFs) + Contagem FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

CHGA = Contagem FP (ILFs) + Contagem FP (EIFs) + Contagem FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

CFP = Contagem FP (ILFs) + Contagem FP (EIFs) + Contagem FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

DEL = Contagem FP (ILFs) + Contagem FP (EIFs) + CONTAGEM FP (EIs) + Contagem FP (EOs) + Contagem FP (EQs)

Etapa 8: Determine o Fator de Ajuste de Valor

GSCs são opcionais no CPM 4.3.1 e movidos para o Apêndice. Portanto, a Etapa 8 e a Etapa 9 podem ser ignoradas.

O Value Adjustment Factor (VAF) é baseado em 14 GSCs que classificam a funcionalidade geral do aplicativo que está sendo contado. GSCs são restrições de negócios do usuário independentes de tecnologia. Cada característica tem descrições associadas para determinar o grau de influência.

Características Gerais do Sistema Descrição breve
Comunicações de Dados Quantas facilidades de comunicação existem para auxiliar na transferência ou troca de informações com o aplicativo ou sistema?
Processamento Distribuído de Dados Como os dados distribuídos e as funções de processamento são tratados?
atuação O usuário solicitou tempo de resposta ou taxa de transferência?
Configuração altamente utilizada Quão fortemente utilizada é a plataforma de hardware atual onde o aplicativo será executado?
Taxa de transação Com que frequência as transações são executadas diariamente, semanalmente, mensalmente, etc.?
Entrada de dados on-line Qual porcentagem das informações é inserida online?
Eficiência do usuário final O aplicativo foi projetado para eficiência do usuário final?
Atualização Online Quantos ILFs são atualizados por transação online?
Processamento Complexo O aplicativo possui processamento lógico ou matemático extenso?
Reutilização O aplicativo foi desenvolvido para atender às necessidades de um ou mais usuários?
Facilidade de instalação Quão difícil é a conversão e instalação?
Facilidade operacional Quão eficazes e / ou automatizados são os procedimentos de inicialização, backup e recuperação?
Multiple Sites O aplicativo foi projetado, desenvolvido e com suporte especificamente para ser instalado em vários sites para várias organizações?
Facilite a mudança O aplicativo foi projetado, desenvolvido e apoiado especificamente para facilitar a mudança?

O grau de influência varia em uma escala de zero a cinco, de nenhuma influência a forte influência.

Avaliação Grau de Influência
0 Ausente ou sem influência
1 Influência incidental
2 Influência moderada
3 Influência média
4 Influência significante
5 Forte influência em toda

Determine o grau de influência de cada um dos 14 GSCs.

A soma dos valores dos 14 GSCs assim obtidos é denominada Grau Total de Influência (TDI).

TDI = ∑14 Degrees of Influence

Em seguida, calcule o Fator de Ajuste de Valor (VAF) como

VAF = (TDI × 0.01) + 0.65

Cada GSC pode variar de 0 a 5, o TDI pode variar de (0 × 14) a (5 × 14), ou seja, 0 (quando todos os GSCs são baixos) a 70 (quando todos os GSCs são altos), ou seja, 0 ≤ TDI ≤ 70. Portanto, VAF pode variar na faixa de 0,65 (quando todos os GSCs são baixos) a 1,35 (quando todos os GSCs são altos), ou seja, 0,65 ≤ VAF ≤ 1,35.

Etapa 9: Calcular a contagem de pontos de função ajustados

De acordo com a abordagem FPA que usa o VAF (versões CPM anteriores à V4.3.1), isso é determinado por,

Adjusted FP Count = Unadjusted FP Count × VAF

Onde, a contagem de FP não ajustada é o tamanho funcional que você calculou na Etapa 7.

Como o VAF pode variar de 0,65 a 1,35, o VAF exerce influência de ± 35% na contagem final ajustada de FP.

Benefícios dos pontos de função

Os pontos de função são úteis -

  • Em medir o tamanho da solução em vez do tamanho do problema.

  • Como os requisitos são a única coisa necessária para a contagem dos pontos de função.

  • Por ser independente de tecnologia.

  • Como é independente de linguagens de programação.

  • Na estimativa de projetos de teste.

  • Na estimativa de custos gerais do projeto, cronograma e esforço.

  • Nas negociações de contratos, pois fornece um método de comunicação mais fácil com grupos de negócios.

  • À medida que quantifica e atribui um valor aos usos, interfaces e propósitos reais das funções no software.

  • Na criação de proporções com outras métricas, como horas, custo, número de funcionários, duração e outras métricas de aplicativo.

Repositórios FP

O International Software Benchmarking Standards Group (ISBSG) cresce e mantém dois repositórios de dados de TI.

  • Projetos de Desenvolvimento e Melhoria
  • Aplicativos de manutenção e suporte

Existem mais de 6.000 projetos no repositório de Projetos de Desenvolvimento e Melhoria.

Os dados são entregues no formato Microsoft Excel, tornando mais fácil para análises futuras que você deseja fazer com eles, ou você pode até usar os dados para alguma outra finalidade.

A licença do repositório ISBSG pode ser adquirida em - http://www.isbsg.com/

O ISBSG oferece 10% de desconto para membros do IFPUG para compras online quando o código de desconto “IFPUGMembers” é usado.

As atualizações do lançamento de dados do projeto de software ISBSG podem ser encontradas em - http://www.ifpug.org/isbsg/

O COSMIC e o IFPUG colaboraram para produzir um Glossário de termos para Requisitos Não Funcionais e de Projeto de software. Ele pode ser baixado em - cosmic-sizing.org