FPA - FUNCTION POINT ANALYSIS – SISTEMÁTICA DE MÉTRICA

Autor: Douglas José Peixoto de Azevedo

Este é o segundo artigo que tratará da técnica de mensurar software. A técnica apresentada é denominada de FPA Function Point Analysis (Análise de Pontos por Função), utilizada para estimar:

  • Esforço de desenvolvimento de software;
  • Custo de software;
  • Taxa de produção de software;
  • Taxa de manutenção de software.
  • Nível de produtividade da equipe;

Segundo Artigo

2 VISÃO GERAL DA FPA - ANÁLISE DE PONTO POR FUNÇÃO

A técnica FPA dimensiona uma aplicação na perspectiva do usuário final, em vez de levar em consideração as características técnicas da linguagem utilizada.

A FPA dimensiona software quantificando a funcionalidade que ele proporciona aos usuários baseado, principalmente, no seu desenho lógico.

 

2.1 Objetivos da Análise de Pontos por Função

Os objetivos da análise da técnica são: medir o que foi requisitado e recebido pelo usuário; medir independente da tecnologia utilizada para a implementação; prover uma métrica de medição para apoiar a análise de produtividade e qualidade; prover uma forma de estimar o tamanho do software e prover um fator de normalização para comparação de software.

Além de atingir os objetivos descritos, o processo de contagem de Pontos por Função deve ser: simples, para minimizar o trabalho adicional do processo de mensuração e conciso, para permitir consistência ao longo do tempo dos projetos e entre os usuários da técnica.

2.2 Aplicações da FPA

A função principal da técnica é medir o tamanho de uma aplicação ou de um projeto. Entretanto, quando utilizada em combinação com outras medidas, esta técnica pode ser utilizada para determinar: o nível de produtividade da equipe; o esforço de desenvolvimento de software; o custo de software; a taxa de produção e de manutenção de software.

2.3 Tipos de cálculo da técnica FPA

A técnica pode ser aplicada tanto no dimensionamento de projetos de aplicações já implantadas quanto no dimensionamento de projetos de desenvolvimento ou manutenção de aplicações.

No caso de dimensionamento de um projeto de desenvolvimento, este cálculo é utilizado para dimensionar em Pontos por Função o tamanho de um projeto de desenvolvimento de uma nova aplicação. O objetivo deste cálculo é quantificar as funções solicitadas e entregues ao usuário pela nova aplicação, incluindo neste caso, as funções referentes ao processo de conversão de dados. Este valor, menos os Pontos por Função associados às atividades de conversão de dados, torna-se o tamanho da aplicação, após sua implantação.

No caso de dimensionamento de um projeto de manutenção, este cálculo é utilizado para dimensionar o tamanho de um projeto de manutenção em uma aplicação já existente. O objetivo deste cálculo é medir todas as modificações de funções do usuário, incluindo, também, as funções providas pelo processo de conversão de dados. Ao final de um projeto de manutenção é necessário recalcular o tamanho da aplicação,para refletir as mudanças nas funções da aplicação.

No caso de dimensionamento de uma aplicação, este cálculo é utilizado para dimensionar o tamanho real de uma aplicação em Pontos por Função. O valor encontrado representa a funcionalidade da aplicação do ponto de vista do usuário. Esse valor pode diferir da dimensão do projeto de desenvolvimento desta aplicação, uma vez que não inclui as funções do processo de conversão de dados.

2.4 Visão Geral de uma Aplicação

Uma aplicação, vista sob a ótica do usuário, é um conjunto de funções ou atividades do negócio que o beneficiam na realização de suas tarefas. Essas funções podem ser divididas nos seguintes grupos.

Arquivo Lógico Interno

Grupo lógico de dados do ponto de vista do usuário cuja manutenção é feita internamente pela aplicação.

Arquivo de Interface Externa

Grupo lógico de dados utilizados na aplicação cuja manutenção pertence a outra aplicação.

 

Entrada Externa

 

Transações vindas diretamente do usuário que referenciam arquivos internos.

Saída Externa

São dados extraídos da aplicação, tais como relatórios e mensagens do terminal de vídeo.

Consulta Externa

Combinação de uma entrada e uma saída de dados, isto é, uma requisição de dados que gera uma aquisição e exibição imediata de dados.

Fronteiras da Aplicação

A fronteira de contagem separa o projeto ou aplicação que está sendo contado de aplicações externas, ou seja, outros sistemas da organização, demonstrado na tabela 2.

As fronteiras são utilizadas para estabelecer: o escopo do produto que está sendo medido; a propriedade do dado, requerido pela contagem, identificando se o dado pertence à aplicação que está sendo contada ou a outra aplicação; a propriedade das funções, identificando se a função pertence à aplicação que está sendo contratada.

2.5 Resumo do cálculo de Pontos Por Função

Segundo o IFPUG, determina-se os Pontos por Função de uma aplicação em três etapas de avaliação. A primeira resulta na contagem de função não-ajustados, que refletem as funções específicas e mensuráveis do negócio, provida ao usuário pela aplicação. A segunda etapa da avaliação gera o fator de ajuste, que representa a funcionalidade geral provida ao usuário pela aplicação. A terceira etapa resulta na contagem de Pontos por Função ajustados, que reflete o fator de ajuste aplicado ao resultado apurado na primeira etapa.

Para fazer o cálculo de função não-ajustados, uma função específica do usuário em uma aplicação é avaliada em termos do que é fornecido pela aplicação e não como é fornecido. Somente componentes solicitados pelo usuário e visíveis são contados. As funções específicas da aplicação vista pelo usuário devem ser identificadas e agrupadas por tipo de função. Os tipos de função são: arquivo lógico interno; arquivo de interface externa; entrada externa; saída externa e consulta externa. Cada tipo de função deve ser classificada de acordo com sua complexidade funcional relativa, como: simples, média ou complexa. O valor dos pontos varia de 3 a 15, dependendo do seu tipo e grau de complexidade.

Para fazer o cálculo do fator de ajuste é calculado a partir de 14 características gerais dos sistemas, que permitem uma avaliação geral da funcionalidade da aplicação. As características gerais de um sistema são: comunicação de dados; processamento distribuído; performance; utilização de equipamento; volume de transações; entrada de dados "on-line"; processamento complexo; reutilização de código; facilidade de implantação; facilidade operacional; múltiplos locais; facilidade de mudanças.

Atribui-se um peso de 0 a 5 para cada característica, de acordo com o seu nível de influência na aplicação.

 

0 - Nenhuma influência; 1 - Influência mínima; 2 - Influência moderada; 3 - Influência média; 4 - influência significativa; 5 - Grande influência

Para fazer o cálculo dos Pontos por Função ajustados, finalmente o total de Pontos por Função da aplicação pode ser encontrado multiplicando-se o fator de ajuste pela quantidade de Pontos por Função não ajustados.

O terceiro artigo da série, abordará regras de contagem da técnica FPA, Aguardem ...

REFERÊNCIAS BIBLIOGRÁFICAS

[BRA96] BRAGA, Antônio. Análise de pontos por função. Rio de Janeiro : Infobook. 1996.

[CON85] CONTE, S.D.; SHEN V.Y. Software engineering metrics and models. Menlo Park, 1985.

[FEN93] FENTON, Norman E. Software metrics a rigorous approach. London: Chapman & Hall,. 1993.

[HAL77] HALTEAD, M.H. Elements of software science. New York: Elsevier Computer Science Library, 1977.

[INT91] INTERNATIONAL FUNCTION POINT USER GROUP. Análise de pontos por função. [S.l.] : IFPUG, 1991. (Baseado na Release 3.4 do Manual de Práticas de Contagem do IFPUG).

[INT97] INTERNATIONAL FUNCTION POINT USER GROUP. Disponível na Internet http://www.bonnister.com/ifpug/home/docs/ifpughoe.html.

[JON91] JONES, Capers. The sociology of software measurement. Computerworld : In depth, Framingham,v.25,n.32,p.61-62,ago. 1991.

[MAC89] MACHADO, José Alberto. A medição da produtividade no desenvolvimento de software. Rio de Janeiro : UFRJ, 1989.

[PUT78] PUTNAM, L. Trends in measurement, estimation, and control. IEEE Software, 1991.

[SAC68] SACMAN, H. Exploratory experimental studies comparing online and offline programing performance. IEE CACM, vol. 11, n. 1, 1968.

[SHE95] SHEPPERD, Martin. Foundation of softwarre measurement. London: Prentice Hall, 1995.

[UNI93] MANUAL do curso de análise de pontos por função da Unisys Eletrônica Ltda. 1993.