Perguntas e Respostas sobre Análise de Pontos de Função (APF)

@medidas-de-esforco-de-desenvolvimento-de-software ESTÁCIO EAD

Pré-visualização

Perguntas e respostas sobre Análise de Pontos de Função (APF) 
Definições:
1. O que é a Análise de Pontos de Função? E o que é Ponto de Função? 
2. Como os Pontos de Função São Contados?
3. Os Pontos de Função medem as horas necessárias ao desenvolvimento de um projeto?
4. Quem inventou a APF? Como ela surgiu?
5. A técnica APF é propriedade de alguma empresa?
6. O que é backfiring? 
7. O que vem a ser o padrão ISO/IEC de medição de tamanho funcional?
8. O que são Pontos por Caso de Uso (ou Use Case Points)?  
9. Quais as vantagens da APF sobre os Pontos por Caso de Uso (PCU)? 
10. O que é Feature Point? 

1. O que é a Análise de Pontos de Função? E o que é Ponto de Função? 
 Análise de Pontos de Função (APF) é uma técnica de medição das funcionalidades fornecidas por um software do ponto de vista de seus usuários. Ponto de função (PF) é a sua unidade de medida, que tem por objetivo tornar a medição independente da tecnologia utilizada para a construção do software. Ou seja, a APF busca medir o que o software faz, e não como ele foi construído.
 Portanto o processo de medição (também chamado contagem de pontos de função) é baseado em uma avaliação padronizada dos requisitos funcionais do usuário. Este procedimento padrão está descrito pelo IFPUG em seu Manual de Práticas de Contagem.
 As principais técnicas de estimativa de projetos de desenvolvimento de software assumem que o tamanho de um software é um vetor importante para a determinação do esforço para sua construção. Logo, saber o seu tamanho é um dos primeiros passos do processo de estimativa de esforço, prazo e custo.
 Daí é importante destacar que pontos de função não medem diretamente esforço, produtividade ou custo. É exclusivamente uma medida de tamanho funcional do software. Este tamanho, em conjunto com outras variáveis, é que poderá ser usado para derivar produtividade, estimar esforço e custo do projeto de software.
 Para saber um pouco mais, o artigo "O que é um Ponto de Função?" escrito por Carol Dekkers é uma boa opção.
 No Brasil, alguns usam o termo original do inglês: FPA - Function Point Analisys. Outros usam termos parecidos como "Análise de Pontos por Função", "Análise por Pontos de Função", ou "Análise por Pontos por Função", que são traduções ligeiramente diferentes da tradução oficial - Análise de Pontos de Função.

2.Como os Pontos de Função São Contados?
 A contagem de Pontos de Função é efetuada com base na especificação do sistema, complementada por informações dos usuários e analistas.
 I. Componentes Considerados
 São contados os seguintes componentes, conforme definidos na Análise de Pontos de Função:
 Arquivos Lógicos Internos – Correspondem aos arquivos mantidos e utilizados pelo sistema sendo contado.
Arquivos de Interface Externa –  Correspondem aos arquivos utilizados pelo sistema sendo contado, porém mantidos por outros sistemas.
Entradas Externas –  Correspondem a transações cujo objetivo é a manutenção de arquivos ou a alteração do comportamento do sistema.
Consultas Externas –  Correspondem a transações cujo objetivo é a apresentação de informações aos usuários, provenientes dos arquivos, sem a geração de dados derivados, atualização de arquivos ou a utilização de cálculos/fórmulas.
Saídas Externas – Correspondem a transações cujo objetivo é a apresentação de informações aos usuários, não necessariamente proveniente de arquivos, podendo ocorrer a geração de dados derivados, atualização de arquivos e a utilização de cálculos/fórmulas.
II. Etapas do Processo de Contagem
Identificação 
Inicialmente os componentes são identificados, o que exige a aplicação de uma série de regras, específicas para cada um deles. Esta é a etapa mais difícil e que exige a maior prática do Analista de Pontos de Função – equivale, em dificuldade, à Modelagem de Dados.
Complexidade e Contribuição 
Após a identificação, a cada um dos componentes é atribuída a complexidade baixa, média ou alta, conforme o número de campos no caso dos arquivos, ou o número de campos e referências a arquivos no caso das transações. Com base na complexidade e em tabelas específicas, a cada componente é atribuída uma quantidade de pontos de função, denominada contribuição do componente à contagem.
Pontos de Função Não Ajustados 
A soma das contribuições de todos os componentes resulta na quantidade de pontos de função não ajustados.
Pontos de Função Ajustados 
Os pontos de função ajustados, resultado final da contagem, são obtidos a partir da aplicação de 14 fatores, denominados Características Gerais dos Sistemas (CGS), os quais alteram a contagem anterior em –35% a +35% do valor inicial não ajustado.
III. Aplicação da ContagemA contagem de pontos de função é realizada para medir o tamanho funcional de um sistema, independentemente de sua forma de implementação. Podem ser medidos:
Um projeto de sistema – neste caso, a contagem inclui tanto o sistema entregue ao final, quanto as modificações efetuadas ao longo do projeto e os programas destinados especificamente à implantação.
Uma alteração em sistema – neste caso, a contagem inclui os novos componentes incluídos, os alterados e, também, os removidos do sistema original.
Um sistema – esta contagem é efetuada exclusivamente sobre o sistema entregue aos usuários, medindo o tamanho do sistema propriamente dito.
A técnica utilizada na contagem é a mesma em cada caso; a diferença está no que é considerado em cada um.

3. Os Pontos de Função medem as horas necessárias ao desenvolvimento de um projeto?
Embora exista uma  forte relação entre o tamanho funcional de um software (medido em Pontos de Função) e o esforço gasto no seu desenvolvimento (medido em pessoas-hora), os Pontos de Função não medem diretamente o esforço de desenvolvimento. Nesse sentido, os Pontos de Função são semelhantes ao metro quadrado na construção civil: embora o metro quadrado influa consideravelmente no esforço de construção e no custo de um imóvel, outros fatores poderão contribuir tanto ou mais quanto o metro quadrado. Exemplos de fatores são a localização do imóvel, a idade, o material utilizado na construcão e acabamento, o prestígio do arquiteto, etc. Da mesma forma, dois sistemas podem ter a mesma medida em Pontos de Função e preços  totalmente diferentes. Por exemplo, um sistema pode ser monousuário, implementado em uma ferramenta como o Access; o outro pode ser uma aplicação web com várias camadas, envolvendo um mainframe e sofisticados dispositivos de segurança. Neste caso, certamente a quantidade de horas e o preço de cada um desses sistemas será completamente diferente. A conclusão é que o tamanho em Pontos de Função é apenas um dos fatores que influem sobre o esforço de desenvolvimento e sobre o custo de um sistema. Outros importantes fatores são a confiabilidade desejada para o software, a metodologia de desenvolvimento utilizada, o nível de testes requerido, a complexidade dos algoritmos, a dificuldade da plataforma computacional, o estilo de interface com o usuário, o grau de reutilização desejado, a capacidade e experiência da equipe, a disponibilidade de ferramentas de software adequadas e outros.

4. Quem inventou a APF? Como ela surgiu? 
A APF surgiu em 1979 como resultado de um projeto desenvolvido por Allan Albrecht, pesquisador da IBM. O objetivo era encontrar uma técnica de estimativa para esforço de desenvolvimento de software que fosse independente da linguagem de programação utilizada.

5. A técnica APF é propriedade de alguma empresa?
Não. Apesar de ter surgida na IBM, o resultado desse projeto foi aberto à toda comunidade de software em 1984.

6. O que é backfiring? 
Esse método consiste em derivar o número de pontos de função da aplicação a partir de seu tamanho físico, medido em linhas de código (LOC), utilizando um fator de conversão constante dependente da linguagem de programação. A idéia possui bastante apelo, uma vez que a contagem de linhas de código pode ser feita através de ferramentas automáticas e consequentemente o número de pontos de função

Ainda não temos comentários aqui
Seja o primeiro!