05/10/2017      Métricas de Software

Análise de pontos de função (APF) na prática


A análise de pontos de função é uma maneira independente de linguagem de expressar a funcionalidade que está incluída em um programa ou outra unidade de software executável. Ela foi proposta por Albrecht e refinados por Albrecht e Gaffney em 1983. Conheça descrevem o uso prático de pontos de função em projetos de software.

A produtividade é expressa como o número de pontos de função que são implementados por pessoa/mês. Um ponto de função não é uma característica única, mas é calculado combinando várias medidas ou estimativas diferentes. Você calcula o número total de pontos de função em um programa medindo ou estimando os seguintes recursos do programa:

  • entradas e saídas externas
  • interações do usuário
  • interfaces externas
  • arquivos usados ​​pelo sistema
  •  

Obviamente, algumas entradas e saídas, interações e assim por diante são mais complexas do que outras e levam mais tempo para serem implementadas. A métrica de ponto de função leva isso em consideração, multiplicando a estimativa do ponto de função inicial por um fator de ponderação de complexidade.

Como usar a análise de pontos de função na prática

A análise de pontos de função tem como objetivo estimar projetos em andamento em termos de esforços, prazo e valor monetário. Esse processo é extremamente necessário na hora de gerar um orçamento para a otimização de uma empresa.

- Essa análise é ideal e pode beneficiar o desenvolvedor na hora de estimar o tamanho funcional do projeto que está sendo criado. Dessa forma, os esforços podem ser direcionados da melhor forma possível para criar o projeto ideal.

- A intenção da análise de pontos de função é também atuar na fase inicial do projeto na hora de se aproximar ao máximo do valor real necessário para a contagem, mesmo que só se tenha disponível a proposta da empresa que oferece, na teoria, pouca informação para a realização de estimativas.

- Especialistas observam que a natureza subjetiva das estimativas de complexidade mostra que a contagem do ponto de função em um programa depende do estimador.

Diferentes pessoas têm diferentes noções de complexidade. Existem, portanto, grandes variações na contagem do ponto de função dependendo do julgamento do estimador e do tipo de sistema que está sendo desenvolvido.

- Além disso, os pontos de função são tendenciosos em relação aos sistemas de processamento de dados que são dominados pelas operações de entrada e saída. É mais difícil estimar contagens de pontos de função para sistemas orientados a eventos.

Por esse motivo, algumas pessoas pensam que a análise de pontos de função não é uma maneira muito útil de medir a produtividade do software. No entanto, seus usuários argumentam que, apesar de suas falhas, ela é efetiva em situações práticas.

Alternativas ao uso da análise de pontos de função

Os pontos de aplicação são uma alternativa a análise de pontos de função. Eles foram originalmente chamados de “pontos de objeto” e podem ser usados ​​ como linguagens de programação de banco de dados ou linguagens de script. O número de pontos de aplicação em um programa é uma estimativa ponderada de:

- O número de telas separadas que são exibidas. As telas simples contam como 1 ponto de objeto, as telas moderadamente complexas contam como 2 e telas muito complexas contam como 3 pontos de objeto.

- A quantidade de relatórios produzidos. Para relatórios simples, contam-se 2 pontos de objeto, para relatórios moderadamente complexos, contam-se 5 e para relatórios que provavelmente serão difíceis de produzir, contam-se 8 pontos de objeto.

- O número de módulos em linguagens de programação imperativas, como Java ou C ++, que deve ser desenvolvido para complementar o código de programação do banco de dados. Cada um desses módulos conta como 10 pontos de objeto.

A vantagem dos pontos de aplicação em relação a análise de pontos de função é que eles são mais fáceis de estimar a partir de uma especificação de software de alto nível.

A análise de pontos de função apenas diz respeito a telas, relatórios e módulos em linguagens de programação convencionais, não estando preocupados com os detalhes de implementação e a estimativa do fator de complexidade é muito mais simples. Portanto, fica a critério do usuário seu método favorito.

Comentários