Análise de Pontos de Função para Melhoria de Software

© Copyright 2009, NESMA. Todos os direitos reservados. Associação dos Usuários de Métricas de Software da Holanda (NESMA), chamada anteriormente de NEFPUG. Nada nesta publicação pode ser reproduzido ou publicado em nenhuma forma ou método sem a permissão escrita da NESMA. Ao contrário de outros manuais e guias da NESMA, esta regra vale também para membros da NESMA. Após a permissão ser concedida, o título da página do documento contendo o material reproduzido ou publicado deve incluir os seguintes dizeres: “Esta publicação contém material do guia profissional “Análise de Pontos de Função para Melhoria de Software” publicado pela NESMA. Esta publicação foi feita com permissão da NESMA”.

Download de Análise de Pontos de Função para Melhoria de Software como um documento em PDF

1 INTRODUÇÃO

1.1 Propósito do Documento

O “Manual de Práticas de Contagem de Pontos de Função” do IFPUG [IFPUG, 1] e o “Guia de Definições e Contagem para a Aplicação de Análise de Pontos de Função” da NESMA [NESMA, 1] definem como a APF deve ser usada para determinar o tamanho funcional de um sistema de informação. Ambas as orientações seguem o “método Albrecht”, mas nas situações de manutenção e melhoria, uma instrução mais detalhada é necessária.

Agora que a metodologia de contagem de projetos de novos softwares foi pesquisada e descrita, é interessante saber se a APF pode ser aplicada em situações de manutenção e melhoria; e se for, de qual maneira e dentro de quais restrições.

As considerações desses itens levaram a NESMA a formar o grupo de trabalho “APF para Melhoria e Manutenção”.

Os primeiros resultados deste grupo de trabalho foram publicados em Agosto de 1993 e levou em sequência à publicação do método descrito neste guia.

Muitas organizações passaram a usar o método em suas práticas correntes. Suas experiências resultaram em mais aperfeiçoamentos do guia e a inclusão de exemplos para ilustrar a aplicação do método.

Em Agosto de 2008 uma versão atualizada deste guia foi publicada a fim de se adaptar à NESMA 2.2.

Obtenha a sua Planilha NESMA para Pontos de Função de Melhoria

Planilha de Ponto de Função de Melhoria - EFP (Enhancement Function Point) da NESMA. Formulários, tabelas e fórmulas para um cálculo automático.

1.2 Objetivos do Guia

Este guia é direcionado para qualquer pessoa com interesse na gerência de melhorias para os sistemas de informação.

O objetivo é promover um método objetivo e replicável para avaliar o escopo e tamanho das melhorias. O método é objetivo uma vez que os resultados obtidos são independentes da pessoa que está aplicando o método: duas pessoas diferentes usando o mesmo Guia obterão o mesmo resultado. O método é replicável à medida que um resultado particular pode ser determinado a priori e o mesmo resultado pode ser produzido na segunda e subsequente aplicação do método.

1.3 Ponto de Partida

Este guia foi construído sobre a metodologia APF descrita nas publicações “Guia para Definições e Contagem para a Aplicação de Análise de Pontos de Função” da NESMA [NESMA, 1], e “Manual de Práticas de Contagem de Pontos de Função” do IFPUG [IFPUG, 1].

1.4 Público Alvo

Este guia pode ser utilizado por qualquer um que faça Análise de Pontos de Função e que deseja medir o tamanho dos projetos de melhoria de forma mais precisa. Assume-se que o leitor seja familiarizado com os métodos APF padrão ISO como documentado em [NESMA, 1] e [IFPUG, 1], (veja sessão 1.3) e pode ser usado em combinação com ambos os métodos.

1.5 Escopo do guia profissional

A NESMA considera a aplicação da APF à melhoria do software sob a perspectiva do método padrão de análise de ponto de função. O resultado deste trabalho, encontrado neste guia, é um método aplicável à melhoria e teste de software que é fortemente relacionado ao padrão APF. O termo Análise de Pontos de Função de Melhoria (APFM ou EFPA – Enhancement Function Point Analysis) é usado para diferenciar este método do método padrão de análise de pontos de função.

1.6 Aviso Legal

A NESMA é a responsável pela Análise de Ponto de Função de acordo com “Guia de Definições e Contagem para a Aplicação da Análise de Ponto de Função” [NESMA, 1]. A versão (em Inglês) é certificada pelo ISO 24570. O “Manual de Práticas de Contagem de Pontos de Função” do IFPUG [IFPUG, 1] é certificado pelo ISO 20926. Nas duas versões não é mencionado o método conforme estabelecido neste guia. Portanto este método não é nem parte dos métodos certificados ISO NESMA e IFPUG.

O método descrito nesse guia é uma alternativa e foi constatado que na prática promove uma indicação do tamanho de melhoria. Entretanto a NESMA não pretende que este método, na sua forma atual, tenha sido validado cientificamente. Pesquisa adicional e seu uso prático são necessários para demonstrar a validade do método.

Oferecendo este guia à comunidade internacional de métricas funcionais de software, a NESMA pretende avançar a aplicação da análise de ponto de função para a melhoria de projetos e ampliar a compreensão da medição aplicada à melhoria do software.
Comentários e sugestões para a melhoria do método podem ser enviados para office@nesma.nl. Isto ajudará NESMA a melhorar e refinar o método para medir o tamanho de projetos de melhoria.

1.7 Versões futuras

Quando mudanças neste guia forem necessárias no futuro, uma nova versão será lançada.
A última versão pode ser baixada da página da NESMA em www.nesma.nl.

1.8 Organização do Guia

Após esta introdução, o Capítulo 2 discute condições limitantes à aplicação da metodologia APF para melhoria (APFM). O Capítulo 3 descreve o método APF para melhoria. O Capítulo 4 discute APF em relação ao teste. O Capítulo 5 descreve o uso da medida do tamanho de melhoria para os propósitos de orçamento. A aplicação da metodologia APF para melhoria é ilustrada pelos exemplos no Capítulo 6. O Capítulo 7 é um glossário dos conceitos mais importante e abreviações e o Capítulo 8 contém uma bibliografia resumida.

2 CONSIDERAÇÕES GERAIS

2.1 Condições Limitantes

Vamos começar analisando mais de perto os termos que definem o escopo deste guia.

Manutenção

Manutenção contempla todas as atividades necessárias para sustentar a operação de um sistema sem modificar sua funcionalidade. A manutenção é realizada no ambiente em que o sistema opera, mas é também aplicada à infraestrutura técnica, que pode variar bastante entre organizações.

Este guia absteve-se de oferecer um método ou modelo de orçamento para manutenção. Uma publicação separada “Orçando os Custos Operacionais dos Sistemas de Informação [NESMA, 2] está disponível para isso.

Conversão

Atividades de conversão não são incluídas neste guia porque podem se manifestar de várias formas diferentes. A conversão pode ser, por exemplo, traduzir o código fonte para uma linguagem nova ou atualizada, transferir um sistema para um ambiente operacional totalmente diferente ou modificar o armazenamento de dados físicos para acomodar a introdução de um novo sistema gerenciador de banco de dados. Geralmente não são evidentes quais formas de conversão devem ser consideradas manutenção.

Quando as melhorias são feitas, às vezes é necessário desenvolver um sistema específico de conversão. Esse sistema de conversão pode ser considerado um novo desenvolvimento e seu tamanho funcional pode ser determinado usando o método APF padrão.

Melhoria

No contexto deste guia, “melhoria” significa mudanças de funcionalidade de um sistema de informação, também chamado “manutenção adaptativa”.

Outros tipos de manutenção, como corretiva, preventiva ou manutenção perfectiva não são incluídos neste guia, porque elas tipicamente não lidam com mudanças funcionais no sistema de informação. Devido ao fato da Análise de Pontos de Função expressar a funcionalidade de um sistema de informação em termos de funções de transação e funções de dados, esses princípios foram também aplicados ao método APF para a melhoria do software.

Um pré-requisito deve ser que a manutenção seja aplicada a um sistema de informação existente e operacional.

As melhorias que resultam apenas na adição de novas funções, sem nenhuma mudança sendo feita para funções existentes, devem ser tratadas como “adicionadas por novo desenvolvimento”. Esta situação pode surgir quando um sistema é expandido para dar suporte aos requisitos de um processo organizacional não presentes no momento no escopo de um sistema, e que geralmente resulta na adição de um novo componente. Este tipo de desenvolvimento pode ser analisado usando o método APF padrão conforme estabelecido em [NESMA, 1] e [IFPUG, 1].

Um sistema de informação torna-se operacional apenas depois de ter sido formalmente aceito pelo cliente.

2.2 Pré-requisitos

Os itens a seguir são necessários para realizar a análise de ponto de função de melhoria:

  • uma contagem detalhada dos pontos de função do sistema atual afetado pela melhoria (contagem atual);
  • documentação descrevendo a parte afetada do sistema atual, que permita avaliar a proposta de melhoria
  • uma proposta de melhoria que descreve as modificações que deverão ser feitas;
  • um plano de teste para as mudanças afetadas.
Figura 01. Determinar o Tamanho da Melhoria.

Essas informações são necessárias para determinar o escopo e o tamanho do projeto de melhoria; sem isso, a análise de ponto de função da melhoria não pode ser realizada.

Além dos princípios estabelecidos pela “melhoria” no parágrafo 2.1 “Condições Limitantes”, as considerações a seguir devem ser levadas em conta quando se for determinar o tamanho funcional do projeto de melhoria:

  • Uma contagem de Pontos de Função está disponível para as partes afetadas do sistema existente.

O método apresentado nesse guia tem como ponto de partida os resultados obtidos da análise de pontos de função no sistema existente. Uma análise de pontos de função detalhada do sistema atual deve existir ou deve ser feita; ou em último caso, da parte que será modificada.

Essa Análise de Pontos de Função deve, pelo menos, resumir as funções individuais do usuário, e para cada função, o tamanho dos seus pontos de função, o seu número de Tipos de Dados (TDs) e Arquivos Lógicos Referenciados (ARs).

  • O sistema atual é bem documentado.

Mudanças propostas precisam ser avaliadas e as funções atuais precisam ser comparadas com funções propostas a fim de detectar mudanças nas regras do negócio assim como as mudanças para TDs, TRs, (ALIs e AIEs) e na interface do usuário. Uma boa documentação funcional do sistema (modelo lógico de dados, projeto funcional) é crucial para identificar o escopo e o tamanho da melhoria.

O analista precisa considerar:

  1. a extensão das mudanças individualmente para as transações e funções de dados;
  2. as implicações de mudanças específicas em outras funções de transação e de dados.
  • Uma proposta de melhoria está disponível

A proposta de melhoria, juntamente com a documentação do sistema atual, deve especificar as melhorias a serem realizadas em detalhe suficiente para permitir que se avaliem os efeitos em cada transação e função de dados impactada.

Deve haver detalhe suficiente para remover todas as ambigüidades relacionadas ao escopo de melhoria, às funções de dados e transação afetadas e à extensão do impacto em cada função.

Se a proposta de melhoria não oferece este nível de detalhe, então ela deve ser mais refinada.

Se a análise de pontos de função de todo o sistema não está disponível, ou se apenas uma análise parcial dos pontos de função de melhorias anteriores estão disponíveis, mas todos os outros critérios foram satisfeitos, então o escopo de melhoria pode ser determinado, mas apenas após a contagem das funções da aplicação que ainda não foram contadas.

  • Um plano de teste está disponível

O plano de teste deve especificar as funções de dados e de transação a serem testadas e definir o escopo de testes a serem realizados. A menor unidade de teste é, geralmente, um sistema componente ou subsistema, independentemente da extensão de melhoria. Um plano de teste deve identificar os componentes e as funções a serem testadas.

2.3 Resumo da Metodologia APF de Melhoria

Seis passos são necessários para determinar o tamanho da melhoria expressa em pontos de função de melhoria:

  1. Identificar as funções de transação e de dados dentro do escopo do projeto de melhoria e determinar seu tamanho funcional.
  2. Determinar quais funções de transação e de dados serão adicionadas.
  3. Determinar quais funções de transação e de dados serão excluídas.
  4. Determinar quais funções de dados serão modificadas e determinar o fator de impacto.
  5. Determinar quais funções de transação que serão modificadas e determinar o fator de impacto.
  6. Calcular o número de Pontos de Função de Melhoria.

A análise está relacionada principalmente com a determinação das funções do usuário que serão adicionadas, modificadas ou excluídas. Para esta parte da análise é utilizada a Análise de Pontos de Função. O resultado é um resumo das funções impactadas com seu tamanho funcional (ΣPFbase).

Durante a melhoria, as transações do usuário e arquivos lógicos podem ser adicionadas, modificadas ou excluídas. Para as funções excluídas, o número de pontos de função antes da exclusão é fundamental. O impacto de uma melhoria pode ir além do que é inicialmente aparente na proposta de melhoria. Por exemplo, a mudança de um arquivo lógico ou transação pode impactar outros arquivos lógicos ou transações.

Depois disso, cada função impactada precisa ser cuidadosamente avaliada para identificar a extensão do impacto de melhoria na função. O fator de impacto (I) reflete o grau de mudança de cada função (dados ou transação) identificada.

Finalmente, o tamanho de melhoria de cada função de dados e de transação afetada é calculado pela multiplicação de seu tamanho base (ΣPFbase) pelo seu fator de impacto (I). O tamanho de melhoria é medido em “Pontos de Função de Melhoria” (PFM), não pontos de função padrão, que é uma medida diferente. É imprescindível manter a distinção entre a unidade de ponto de função padrão usada para expressar o tamanho do software (PF) e a unidade usada para expressar o tamanho de uma melhoria (PFM). No capítulo 3 “Metodologia”, a relação entre a unidade de medida original e a nova será descrita.

3. METODOLOGIA

Como mencionado na seção anterior, seis passos são necessários para determinar o escopo e o tamanho (em pontos de função de melhoria) para projetos de melhoria.

  1. Identificar as funções de dados e de transações dentro do escopo do projeto de melhoria e determinar seu tamanho funcional.
  2. Determinar as funções de dados e de transação a serem adicionadas.
  3. Determinar as funções de dados e de transação a serem excluídas.
  4. Determinar as funções de dados a serem modificadas e determinar o fator de impacto.
  5. Determinar as funções de transação a serem modificadas e determinar o fator de impacto.
  6. Calcular os Pontos de Função de Melhoria.

Neste capítulo estes passos serão detalhados.

3.1 Identificar as funções dentro do escopo do projeto de melhoria

A proposta de melhoria, a documentação funcional do sistema atual e os pontos de função do sistema existente são usados para identificar as funções de transação e de dados que fazem parte do escopo do projeto de melhoria. Uma análise de ponto de função do sistema existente é um pré-requisito essencial, pois todas as funções existentes que são afetadas direta ou indiretamente pela melhoria contribuem para o tamanho dos pontos de função da melhoria. Se por alguma razão uma análise de pontos de função de um sistema existente não existe, então ela deve ser feita para identificar ao menos as funções afetadas pela melhoria.

O tamanho do sistema existente, ou a parte impactada pelo projeto de melhoria, é expresso em pontos de função padrão, ∑PFbase.

3.2 Determinar as funções de dados e de transações a serem adicionadas

A proposta de melhoria deve especificar as funções de dados e de transação a serem adicionadas à aplicação. A partir dessa proposta, é possível calcular o tamanho das funções adicionadas aplicando o método de Análise de Pontos de Função (APF). O tamanho total da funcionalidade adicionada é expresso em ∑PFadicionados. O fator de impacto para funções adicionadas é sempre 1.00. Assim, o número de pontos de função de melhoria para cada função adicionada é determinado da seguinte maneira:

PFM adicionados = PF adicionados

Isso significa, por exemplo, que 3 pontos de função adicionados resultarão em 3 pontos de função de melhoria. Veja o exemplo 6.5 no capítulo 6.

3.3 Determinar as funções de dados e de transações a serem excluídas

As funções (de dados ou de transações) que serão excluídas do sistema existente são identificadas na proposta de melhoria e o número de pontos de função que elas representam é determinado. O tamanho das funções excluídas é expresso como ∑PFexcluídos. O fator de impacto para as funções excluídas é igual a 0,40. O número de pontos de função de melhoria para uma função excluída é determinado assim:

PFM excluídos = PF excluídos x 0,40

Isso significa, por exemplo, que 6 pontos de função excluídos resultarão em 2,40 pontos de função de melhoria.

3.4 Determinar as funções de dados a serem modificadas e o fator de impacto

Uma função de dados pode ser um arquivo lógico interno (ALI) ou um arquivo de interface externa (AIE). Cada tipo de função de dados é avaliado para identificar:

  • Funções de dados modificadas internamente: TDs são adicionados, excluídos ou modificados; e
  • Funções de dados que mudam de tipo, mas não são alterados internamente (isto é, um ALI passa a ser um AIE ou vice versa).

Determine quais funções de dados serão modificadas e quantos pontos de função cada função de dados apresenta depois da modificação, aplicando as regras de APF padrão. O tamanho do ponto de função das funções de dados modificadas é expresso como ∑PFmodificados.

Para funções de dados alteradas internamente o fator de impacto é calculado pelo percentual de TDs alterados. O percentual de alteração é definido pela razão entre os TDs alterados e o número original de TDs (veja também o exemplo 10 no capítulo 6).

%Mudança de TDs = ( #TD adicionados / alterados / excluídos ) / #TD originais

O fator de impacto (Ialterado) é obtido na Tabela 1 utilizando o percentual de alteração no número de TDs.

 

 

Tabela 1 – Fator de impacto das funções de dados

Se a função de dados muda de tipo (por exemplo, um AIE passa a ser um ALI), o valor de 0,40 é usado como fator de impacto. Entretanto, no caso de uma alteração no tipo, é necessário verificar se existe também uma alteração interna do Arquivo Lógico (alteração de TDs). Se o número de TDs altera, assim como o tipo, o fator de impacto devido à mudança no número de TDs deve ser determinado. O valor do fator de impacto devido à mudança no tipo é comparado com a da mudança no número de TDs e o maior valor é usado no cálculo do tamanho dos pontos de função da melhoria (Ialterado) (veja o exemplo 3 no capítulo 6).

O número dos pontos de função para cada função de dados alterada é determinado assim:

PFM modificados = PF modificados x I modificados

O número dos pontos de função de melhoria originado da alteração nas funções de dados depende, portanto, da extensão dessa alteração na função de dados. Veja também exemplos 1, 2 e 3 no capítulo 6.

Se um AIE ou um ALI é dividido em duas (ou mais) funções de dados, uma função de dados excluída e duas (ou mais) funções de dados são contadas. Veja também exemplo 4 no capítulo 6.

Se um AIE e um ALI são combinados, duas funções de dados são contadas como excluídas e uma como adicionada.

3.5 Determinar as funções de transação que serão modificadas e o fator de impacto

As funções de transação modificadas devem ser identificadas e o tamanho de cada transação após a mudança (melhoria) é determinado.

Uma função de transação é considerada alterada se ela é alterada de alguma forma, mas mantém o mesmo nome e a mesma intenção antes e depois da melhoria. Para determinar o tamanho funcional de uma função transacional após a alteração, as mesmas diretrizes de contagem para sistemas novos são usadas, aplicando as regras padrão de APF. O número de pontos de função após a alteração para cada função transacional é expresso como PFmodificados.

Uma função de transação pode ser afetada pelas alterações nas funções de dados. Todas as funções de transação especificadas na proposta de melhoria e aquelas afetadas pelas alterações nas funções de dados são incluídas no escopo da análise.

Isso significa que a transação é contada quando uma das seguintes condições é satisfeita:

  • A transação é identificada na proposta de melhoria; ou
  • A transação passa por uma alteração em consequência de outras alterações definidas na proposta de melhoria.

Geralmente, a transação deve ser contada se o usuário pode identificar que a transação foi alterada. Isso significa que ao menos um dos seguintes critérios foi atendido:

  • Uma transação é afetada por um TD que foi adicionado, alterado ou excluído;
  • Uma transação é afetada por um Arquivo Lógico (ALI ou AIE) adicionado, alterado ou excluído;
  • A interface do usuário é alterada funcionalmente (por exemplo, a disposição de uma tela ou de um relatório);
  • Uma lógica de negócio que suporta uma transação é alterada (por exemplo, regras de edição ou cálculos executados nos dados da transação);
  • Uma alteração cosmética visível nas interfaces de usuário é feita, por exemplo:
    • Dados estáticos são modificados ou movidos em um relatório ou outra mídia;
    • Um cabeçalho é substituído ou modificado em um relatório ou em uma tela,
    • Veja também o exemplo 6.9 no Capítulo 6.

Uma alteração no nome de um TD não é considerada como alteração de transação (veja o exemplo 8 no Capítulo 6). A natureza de um TD não altera se somente o nome é alterado.

Existem quatro passos para calcular o tamanho em pontos de função de melhoria de alterações numa transação:

  1. Identificar os TD e os AR utilizados pela transação.
  2. Determinar o percentual de TD e AR alterados como resultado da melhoria.
  3. Determinar o fator de impacto para a transação.
  4. Calcular o número de pontos de função da melhoria.

Estes passos são explicados a seguir.

3.5.1 Identificar os TD e os TR utilizados pela transação

O tamanho dos pontos de função da melhoria de uma função transacional alterada é calculado a partir do tamanho de pontos de função da função depois da alteração e do fator de impacto da alteração. O fator de impacto é determinado pelo percentual de alteração no número de TD e AR usados pela transação. Os exemplos 6.6 e 6.7 no Capítulo 6 ilustram como uma transação alterada é avaliada.

Se uma alteração é somente cosmética, o número de TD e AR alterados é nulo. O impacto desse tipo de mudança é considerado mínimo e o valor do fator de impacto (0,25) reflete relativamente um impacto baixo. Entretanto, a alteração deve ser incluída no escopo do projeto de melhoria.

3.5.2 Determinar o percentual de TD e AR alterados como resultado da melhoria

O fator de impacto é determinado pelo percentual de alterações para o número de TD e ARs usados pela transação, comparado com o número original dos mesmos TD e AR (veja o exemplo 11 no capítulo 6).

% Mudança de TD = #TD adicionados / alterados / excluídos / #TD transação original

% Mudança de AR = #AR adicionados / alterados / excluídos / #AR transação original

É possível que as alterações excedam 100% quando TD e AR são adicionados à transação.

3.5.3 Determinar o fator de impacto da transação

O fator de impacto (Ialterado) para a transação é determinado pelo percentual de alteração no número de TD e AR pela Tabela 2:

 

 

Tabela 2 – Fatores de Impacto para funções de transação modificadas

Se o fator de impacto é 1,00 ou maior, você deve avaliar se melhorar a transação ainda tem sentido.

3.5.4 Calcular o tamanho dos pontos de função da melhoria

O tamanho dos pontos de função de melhoria de uma única função transacional é calculado da seguinte maneira (veja também o exemplo 11 no Capítulo 6):

PFM modificados = PF modificados x I modificados

3.6 Calcular o tamanho do projeto de melhoria

O tamanho do projeto de melhoria é a soma do número de pontos de função de melhoria para todas as funções de dados e transações afetadas.

PFM total = ∑PFM adicionados + ∑PFM excluídos + ∑PFM modificados

3.7 Calcular o tamanho do sistema depois da melhoria

O tamanho funcional do sistema pode ser alterado como resultado da melhoria. O tamanho após a melhoria pode ser calculado pela análise de toda a aplicação novamente ou aplicando as alterações a partir da análise dos pontos de função originais. Os passos a seguir são:

  1. Calcular o tamanho de pontos de função da aplicação antes da alteração (PF base</sub<) utilizando o método APF padrão.
  2. Identificar as funções de dados e de transação excluídas da aplicação existente e determinar seu tamanho em pontos de função (PF excluído).
  3. Determinar as funções de dados e de transação alteradas. Calcular o número de pontos de função que elas representam antes e depois da melhoria (PF depois e PFantes), utilizando o método APF padrão.
  4. Determinar as funções de dados e de transação adicionadas ao sistema e calcular quantos pontos de função elas representam (PFadicionados).
  5. Calcular o tamanho do sistema após a melhoria (PFnovo)

O tamanho do sistema em pontos de função não ajustados após a melhoria é:

PFnovo = PFbase + ∑PFadicionados + (∑PFapós-mudança – ∑PFantes-mudança) – ∑PFexcluídos

Nota: O Fator de Impacto não interfere na determinação do tamanho do sistema após a melhoria.

4. TESTES EM PROJETOS DE MELHORIA

O conjunto de funções de transação e dados que deve ser testada pode ser bem maior do que o número de funções de transação e dados no escopo de uma melhoria. Não apenas as funções diretamente impactadas pela melhoria precisam ser testadas, mas também todas as outras funções afetadas.

O tamanho das funções a serem testadas é medido em pontos de função de teste (PFTs). Para a determinação do número de PFTs o fator de impacto por função não é considerado na contagem. Também não há distinção se uma função foi adicionada ou modificada. Funções excluídas não são consideradas no tamanho dos pontos de função de teste (PFT).

O número de PFTs é determinado da seguinte forma.

Funções de transação:

  • Determinar o tamanho de PFs de cada transação diretamente envolvida no teste;
  • Calcular o número total de pontos de função para todas as transações envolvidas no teste.

Funções de dados:

• Determinar o tamanho de PFs para cada função de dados diretamente envolvida no teste;
• Calcular o número total de pontos de função para todas as funções de dados envolvidas no teste.

O tamanho de cada função é obtido utilizando a APF padrão para um novo desenvolvimento de software: o número de pontos de função (PFTESTE) é a soma dos tamanhos de funções de transação e dados envolvidos nos testes. Em geral, o teste é feito em componentes discretos do sistema e engloba funções não modificadas assim como funções alteradas e adicionadas. Cada função incluída no escopo de um teste é medida após a melhoria. Funções excluídas, portanto, não são incluídas no escopo e consequentemente não aumentam o número total de PFTs.

O tamanho dos pontos de função de teste é igual ao tamanho das funções testadas, onde 1 PF resulta em 1 PFT. O tamanho total dos pontos de função de teste é:

PFT = ∑PF TESTE

Nota: A abreviação PFT não deve ser confundida com o termo PT (Pontos de Teste) da Análise de Pontos de Teste (APT). A abordagem usada neste guia difere de ATP. A ATP é uma metodologia para mensurar o tamanho funcional (baseado em PF) de teste estruturado e expresso em pontos de teste, como definido por Tmap®.

5. ORÇANDO A MELHORIA

A técnica descrita neste guia é baseada no método APF padrão. Quando se estima pequenos projetos de melhoria, em média, as estimativas serão corretas, mas grandes desvios tanto para cima quanto para baixo podem ocorrer. Com grandes projetos, haverá possivelmente também desvios para cima e para baixo, mas quando se considera o projeto de melhoria como um todo, estes desvios tendem a se anular.

O tamanho de pontos de função de melhoria e o tamanho dos pontos de função de teste podem ser usados para derivar métricas de produtividade, por exemplo, horas por PFM e horas por PFT. Valores para horas por PFM e horas por PFT, em geral, irão diferir de horas por pontos de função (medida utilizando o método padrão APF) para desenvolvimento de novos sistemas.

O esforço total de melhoria, incluindo teste, pode ser expresso como a seguir:

Esforço total da melhoria = ( #PFM x horas / PFM ) + (#PFT x horas / PFT)

6. EXEMPLOS

6.1. Exemplo 1 – Expandindo um ALI

Situação

Um ALI de 1 TR e 37 TDs é expandido pela adição de 14 novos TD.

Questão

Qual fator de impacto dever ser usado, e quantos pontos de função de melhoria essa alteração gera?

Resposta

O tamanho do ALI, depois da alteração, é de 10 PF (ALI com complexidade média). O impacto da alteração expresso como um percentual de TD é 14/37 x 100% = 37,8378% (x 100), que está entre 33% e 67%. Pela tabela 1, esta alteração traz um fator de impacto de 0,5.

O tamanho dos pontos de função de melhoria é 10 x 0,5 = 5 PFM.

6.2. Exemplo 2 – AIE se torna ALI

Situação

O sistema de informação A usa um AIE mantido pelo sistema de informação B. Houve uma decisão para que a manutenção dessa função seja feita pelo sistema de informação A (a estrutura da função de dados não se alterou).

Questão 1

Qual fator de impacto deve ser usado?

Resposta

Um AIE é importado para o sistema A e convertido para ALI. O fator de impacto 0,4 é usado quando um AIE é alterado para um ALI ou vice versa.

Questão 2

Quantos pontos de função de melhoria resultam da alteração dessa função de dados?

Resposta

Assumindo que a função de dados seja um ALI de baixa complexidade, seu tamanho após a alteração é 7 PF. O fator de impacto é 0,4. Então, a alteração resulta em 7 x 0,4 = 2,8 PFM.

6.3. Exemplo 3 – AIE se torna ALI com modificações

Situação

O Sistema de informação A usa um AIE que é mantido pelo Sistema B e contém 45 TD. Houve uma decisão para que o sistema A passe a manter a função de dados e, como consequência, 25 TD serão removidos dessa função de dados.

Questão 1

Qual fator de impacto deve ser utilizado?

Resposta

O fator de impacto 0,4 é utilizado quando um AIE é alterado para um ALI ou vice versa. Entretanto, nesse caso, houve uma alteração estrutural na função de dados que deve também ser considerada na contagem. O percentual de alteração é:
25/45 x 100% = 0,5555… (x 100%)

Pela tabela 1, esta alteração (entre 33% e 67%) tem um fator de impacto de 0,5. Isso é maior que o fator de impacto pela mudança de tipo (de AIE para ALI). Assim, o maior valor, 0,5, deverá ser usado.

Questão 2

Quantos pontos de função de melhoria resultam da alteração da função de dados?

Resposta

Assumindo que o arquivo é um ALI de complexidade baixa, o tamanho da função de dados após a alteração é de 7 PF. O fator de impacto é 0,5 e assim, a alteração é de 7 x 0,5 = 3,5 PFM.

6.4. Exemplo 4 – Dividindo um AIE

Situação

Um AIE é dividido em dois arquivos de interface externa separados.

Questão

Como contar essa alteração?

Resposta

Conte um AIE excluído e dois AIE adicionados. Uma análise mais profunda deve ser feita para contar todas as funções de transação afetadas pela alteração na função de dados.

6.5. Exemplo 5 – Adicionando um AIE

Situação

Um novo AIE foi adicionado ao sistema.

Questão

Como contar essa alteração?

Resposta

Conte um AIE adicionado (fator de impacto = 1) e leve em consideração as funções de transação que utilizam essa função de dados. Essas transações devem ser reavaliadas como parte do projeto de melhoria.

6.6. Exemplo 6 – Modificando um ALI, 1

Situação

3 TD numa função de dados usados por uma transação são alteradas. 2 dos TD alterados serão utilizados pela transação.

Questão

Como contar o impacto da alteração na transação?

Resposta

Uma função de dados alterada e dois TD alterados são contados para determinar o fator de impacto para a transação alterada.

6.7. Exemplo 7 – Modificando um ALI, 2

Situação

3 TD em uma função de dados (ALI ou AIE) usado por uma transação são alterados. Nenhum destes TDs será usado pela transação.

Questão

Precisa-se considerar essa transação para determinar o tamanho da melhoria?

Resposta

A razão para incluir a transação no tamanho de melhoria (apesar de nenhum dos TD utilizados na transação serem modificados) é que a função de dados se modifica. A transação deve ser incluída no escopo de melhoria. O número de modificações de TD é zero, o número de modificações de AR é 1.

A função de dados é um AR para a transação e resultará em uma na alteração lógica no processamento da função de transação.

6.8. Exemplo 8 – Modificando o nome de um TD

Situação

O nome de um TD é alterado em uma função de dados usado por uma transação. O TD é usado na transação.

Questão

Precisa-se de cálculo para essa alteração?

Resposta

A transação e a função de dados não são contadas.

6.9. Exemplo 9 – Modificando o cabeçalho em um Relatório

Situação

Uma saída externa imprime um relatório que lista informações dos funcionários. O cabeçalho de uma das colunas é alterado de “Nome do operário” para “Nome do funcionário”. Não houve alteração nos TDs da função de dados, logo a alteração é cosmética.

Questão

Precisa-se de cálculo para essa alteração?

Resposta

A função será alterada como resultado de uma alteração cosmética. Como nenhum TD foi alterado, o fator de impacto = 0,25.

6.10. Exemplo 10 – Adicionando / Modificando / Excluindo TD

Situação

Dois TDs são adicionados a uma função de dados, 1 TD é excluído e 3 TD alterados.

Questão

Quantos TD serão contados nessa alteração?

Resposta

O número de TD contados é 2 + 1 + 3 = 6 TD

6.11. Exemplo 11 – Determinando o % de TD e AR modificados

Situação

Um relatório (incluindo o total calculado) mostrando 16 TD terá 3 novos TD adicionados a ele, 3 TD serão alterados e 2 TD serão excluídos. O número de TD afetados é 3 + 3 + 2 = 8. Os novos TD pertencem a um novo AR (a ser adicionado). Somente um AR é afetado pela alteração e exclusão de TD.

Questão 1

Como determinar o percentual de alteração nos TD e AR?

Resposta

Meça o número de TD alterados na função de transação em relação ao número original de TD da transação (16). Portanto o cálculo é 8/16 x 100 = 50%

Meça o número de ARs alterados na transação relativos ao número original de AR (2). O cálculo, nesse caso, é 2/2 x 100 = 100%.

Questão 2

Qual o tamanho da alteração na transação?

Resposta

Após a melhoria o número de TD é 17 e são 3 AR. A complexidade da função permanece média e seu número de pontos de função não se altera (5 PF).

O fator de impacto é obtido na tabela 2. O percentual modifica nos TD (50% – primeira coluna) e AR (100% – terceira linha) dá um fator de impacto de 0,75.

O tamanho da melhoria é: PFM alterado = 5 x 0,75 = 3,8 PFM.

7. GLOSSÁRIO

Nota: este trabalho pressupõe que o leitor é familiarizado com a metodologia APF, seus conceitos e termos. Para mais informações recorra à publicação do IFPUG “Manual de Práticas de Contagem de Pontos de Função [IFPUG, 1] ou à publicação da NESMA “Guia de Contagem e Definições para a Aplicação de Análises de Pontos de Função” [NESMA, 1].

AIE

Arquivo de interface externa.

AL (Arquivo lógico)

Nome genérico para ALI e AIE; sinônimo de função de dados.

ALI

Arquivo lógico interno.

Alteração cosmética

Uma alteração somente na interface visível pelo usuário, apresentada por uma função de transação, sem qualquer alteração em sua lógica de processamento (independente de qualquer descrição de adição, alteração ou exclusão de TDs ou ARs).

Arquivo Referenciado (AR)

  • Um arquivo lógico interno (ALI) lido ou mantido por uma função de transação.
  • Um arquivo de interface externa (AIE) lido por uma função de transação.

Contagem de Ponto de Função Padrão

Uma contagem de ponto de função realizada usando a metodologia APF padrão, como descrita em [IFPUG, 1] e [NESMA, 1].

Fator de impacto

Unidade de medida que gradua as alterações nas funções de transação ou de dados. O valor do fator de impacto pode variar de acordo com a natureza e extensão da alteração.

Função

Entrada externa (EE), saída externa (SE), consulta externa (CE), arquivo lógico interno (ALI) ou arquivo de interface externa (AIE) como definido na metodologia APF padrão (veja exemplo [IFPUG, 1] ou [NESMA, 1]). Na análise de pontos de função, a função é também uma função de transação ou uma função de dados.

Função de dados

Um Arquivo Lógico Interno (ALI) ou um Arquivo de Interface Externa (AIE).

Função de transação

Entrada externa, saída externa e consulta externa.

Manutenção

No contexto deste guia, a manutenção engloba todas as atividades necessárias para operar um sistema de informação automatizado e gerenciar os aspectos técnicos, organizacionais e financeiros associados. A manutenção envolve a execução do trabalho necessário para garantir a operação continuada do sistema sem alterar o escopo ou estrutura do sistema ou seus armazenamento de dados associados (depois Looijen).

Melhoria

Melhoria é o trabalho necessário para realizar mudança em um sistema de informação operacional ou em uma estrutura dos dados armazenados desse sistema.
A definição de melhoria é derivada de Vollmar: “Melhoria é uma mudança efetiva em um sistema de informação ou na uma estrutura dos dados armazenados”. A definição é independente do ciclo de vida no qual o sistema de informação pode existir e permite a adição de novas funções, a remoção e alterações de funções existentes.

PFM

Ponto de Função de Melhoria.

PFT

Ponto de Função de Teste.

Ponto de Função de Melhoria

Unidade de medida do tamanho da melhoria.

Ponto de Função de Teste (Teste Function Point)

Unidade de medida das funções que serão objeto de teste.

Proposta de melhoria

Uma requisição formal de melhoria em um sistema operacional. A proposta deve ser clara o suficiente para permitir que o escopo e o impacto da melhoria sejam determinados.

TD

Tipo de dado elementar.

8. BIBLIOGRAFIA

[IFPUG, 1] IFPUG Manual de Práticas de Contagem de Pontos de Função

Versão 4.2.1 Este manual descreve Metodologia Padrão da APF e pode ser usado juntamente com o Manual do NESMA. Para mais informações veja o site do IFPUG

www.ifpug.org.

Data de publicação: Janeiro / 2004

ISBN 0-963-1742-9-0

[NESMA, 1] Definições e orientações a contar para a aplicação da análise de ponto de função. O Manual Prático

Versão 2.1. (Inglês).

Este Manual é também chamando de NESMA Manual de Contagens Práticas. Ele descreve o a Metodologia Padrão da APF, e muitos aspectos relacionadas com o uso da APF. Ele pode ser usado juntamente com o Manual do IFPUG. É idêntico à Versão 2.2 em Holandês. Para mais informações, veja o site da NESMA www.nesma.org (Ingês).

Data de publicação: Novembro / 2004

140 páginas, Formato A4

ISBN 978-90-76258-19-5

[NESMA, 2] Begrotingsmodel voor de exploitatielasten van informatiesystemen (Orçamento dos custos operacionais dos Sistemas de Informação; Somente disponível em Holandês)

Data de publicação: Novembro / 1998

Tamanho: 117 páginas, Formato A4

ISBN 90-76258-11-2

• [NESMA, 3] Onderhoud en Functiepuntanalyse

Versão 2.2 (Análise de Pontos de Função para Melhoria de Software)

Data de publicação: August 2008.

Tamanho: 21 páginas, Formato A4

ISBN 90-76258-13-9

© Copyright 2009, NESMA. Todos os direitos reservados. Associação dos Usuários de Métricas de Software da Holanda (NESMA), chamada anteriormente de NEFPUG. Nada nesta publicação pode ser reproduzido ou publicado em nenhuma forma ou método sem a permissão escrita da NESMA.

Ao contrário de outros manuais e guias da NESMA, esta regra vale também para membros da NESMA.

Após a permissão ser concedida, o título da página do documento contendo o material reproduzido ou publicado deve incluir os seguintes dizeres: “Esta publicação contém material do guia profissional “Análise de Pontos de Função para Melhoria de Software” publicado pela NESMA. Esta publicação foi feita com permissão da NESMA”. 

Nota da tradução: esta tradução foi publicada com permissão da NESMA.