Análise de Pontos de Função - Engenharia de Software

Nesse tópico, trataremos do FPA (Function Points Analisys) que em português, Análise de Pontos de Função.

Darei alguns exemplos teóricas de como utilizar os métodos que compõem os Pontos de Função.

Introdução

Engenharia de Software

É uma área do conhecimento da informática voltada para a especificação, desenvolvimento em manutenção de sistemas de software aplicando tecnologias e práticas de ciência da computação, gerência de projetos e outras disciplinas, objetivando organização, produtividade e qualidade.


APF Análise de Pontos de Função

Histórico

1979 Allan Albrecht (IBM) cria as primeiras regras da APF
1983 primeiro curso de APF no Brasil (Unisys)
1984 primeiro manual de APF
1986 criação da primeira diretoria do IFPUG *
1996 primeiro exame CFPS no Brasil
1998 criação do BFPUG
2004 CFPS no Brasil = 200
2007 CPM (Manual de Práticas de Contagem) versão 4.2.1 em
português

* International Function Point Users Group

O que é a Análise de Pontos de Função e pra que serve?

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 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.
Medidas do Tamanho do Produtos
Os Pontos de Função podem ser utilizados para medir sistemas em várias fases do ciclo de vida, no desenvolvimento ou na manutenção.
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.
 Para identificar arquivos como sendo Arquivos Lógicos Internos, todas as questões seguintes devem ser respondidas afirmativamente: 
✤ O grupo de dados reflete os requisitos funcionais definidos pelo usuário? 
✤ O grupo de dados é armazenado dentro da fronteira da aplicação? 
✤ O grupo de dados é alterado dentro da fronteira da aplicação? 
✤ O grupo de dados é alterado através de processos dessa aplicação? 
✤ O grupo de dados não foi contado como Arquivo de Interface Externa nessa aplicação?
 Podem ser considerados ALI: 
✥ cadastro de clientes, 
✥ cadastro de produtos, 
✥ cadastro de funcionários, etc. 
• Não são considerados ALI: 
✦ arquivos temporários, 
✦ arquivos de classificação, 
✦ arquivos incluídos por motivos de tecnologia, etc.

  Exemplos:
· Banco de Dados (cada arquivo lógico segundo cada visão do usuário);
· Tabelas do usuário;
· Arquivos de dados extras;
· Arquivos de Mensagens (Mantidos pela aplicação);
· Arquivos de documentação;
· Arquivos de Controle / Parâmetros.
Arquivos de Interface Externa –  Correspondem aos arquivos utilizados pelo sistema sendo contado, porém mantidos por outros sistemas. Em outras palavras, Um Arquivo de Interface Externa (AIE) é um grupo de dados logicamente relacionados, utilizados no sistema que está sendo analisado, mas que é mantido fora da fronteira da aplicação que está sendo contada.
Para identificar arquivos como sendo Arquivos de Interface Externa, todas as questões devem ser verdadeiras: 
✮ O grupo de dados é armazenado fora da fronteira da aplicação. 
✮ O grupo de dados não é alterado pela aplicação que está sendo contada. 
✮ O grupo de dados é contado como ALI em outra aplicação. 
✮ O grupo de dados não foi contado como ALI nessa aplicação.

Exemplos:
·   Banco de Dados compartilhado;
·   Arquivo de parâmetros compartilhado;
·   Nível de Complexidade do Arquivo de Interface externa.

Arquivos Lógicos Internos e Arquivos de Interface Externa

ALI
AIE
USUÁRIO
TRANSAÇÃO POR PERFIL
PERFIL
  PESSOA FÍSICA
TRANSAÇÃO
ESTABELECIMENTO
PERFIL POR USUÁRIO
SETOR UA
APLICAÇÃO
 UNIDADE ADMINISTRATIVA


                                                 
 Entradas Externas –  Correspondem a transações cujo objetivo é a manutenção de arquivos ou a alteração do comportamento do sistema. Uma Entrada Externa (EE) é qualquer função ou transação que leva dados ou informações de controle de fora para dentro da fronteira da aplicação. Geralmente esses dados são usados para atualizar informações internas da aplicação.
Para identificar um dado como sendo uma Entrada Externa, deve-se analisar dados ou informações de controle que vêm de fora da fronteira da aplicação. As questões seguintes devem ser respondidas afirmativamente: 
✳ O dado é recebido de fora da fronteira da aplicação? 
✳ O dado é armazenado em um Arquivo Lógico Referenciado e é manipulado através de um processo da aplicação?

Exemplos de EE:
EE podem ser dados de negócio, dados de controle, entre outros. Dados de negócio: Nome do Cliente, Endereço, Telefone, etc. Dados de Controle: São os elementos de dados que invocam uma transação ou mudam o comportamento da aplicação. No desenvolvimento de um banco de dados por exemplo, cada “check box” representa um elemento de dado. Os “radio buttons” da lista de classificação de clientes bem como os do formato da hora representam um elemento de dado.
A tela a seguir é usada para adicionar um novo cliente a uma aplicação. O botão Confirmar adiciona um novo cliente à base de dados.
1) Quantos elementos de dados existem nessa tela de entrada? 
2) Se essa tela atualiza um arquivo Lógico, quantos PF essa tela representa? 
3) Quantos elementos de dados representa o número do telefone? 
4) O botão “Eliminar” é contado como um elemento de dado?

Exemplos:
·   Tela de entrada de dados;
·   Transação em disquete.
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. Uma Consulta Externa (CE) é uma transação que combina transações de entrada e saída, resultando em recuperação de dados.

Para identificar uma Consulta Externa, deve-se observar onde ocorrem as solicitações de recuperação de informação na aplicação. 
As questões seguintes devem ser respondidas afirmativamente. 
– A solicitação de consulta deve “entrar” na aplicação. 
– Os resultados de saída devem ser disponibilizados para fora das fronteiras da aplicação. 
– O processo resulta em recuperação de dados. 
– O processo não atualiza um Arquivo Lógico Interno (ALI).

Exemplos de Consulta Externas: 
– consulta ao cadastro de clientes, 
– telas de logon com funções de segurança, 
– telas de menu se solicitadas pelo usuário, 
– tela de menu que provê seleção de tela e consulta de dados. 
• Não são consideradas Consulta Externas: 
– menus de navegação, 
– telas de consulta, 
– tela de menu que só prove seleção de telas, 
– tela de logon que só provê segurança da aplicação.

Exemplos de Mensagens de Erro e de Confirmação: 
a) o usuário inicia uma consulta e a mensagem “aguarde...procurando” é apresentada - é do lado da entrada. 
b) a mensagem “todos os campos devem ser preenchidos” - também é uma mensagem do lado da entrada. 
c) a mensagem “cliente não encontrado” - é do lado da saída, pois a entrada não teve nenhum erro; o erro ocorreu do lado da saída da transição.

Exemplos:
·   Consulta com resposta na tela sem dados derivados nem atualização de arquivo lógico interno;

·   Relatórios sem campos derivados nem atualização de arquivo lógico interno;

·   Tela de Help (Desde que o conteúdo tenha sido recuperado de um arquivo lógico interno ou de interface).
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. Uma Saída Externa (SE) fornece dados ou informações de controle para fora da aplicação que está sendo contada.  São transações que extraem informações do sistema para outros aplicativos.

 Para identificar uma Saída Externa, deve-se observar os dados ou informações de controle que estão sendo enviados para fora da fronteira e as seguintes regras devem ser respondidas afirmativamente. 
– A função ou transação envia dados ou informações de controle, para fora da fronteira da aplicação? 
– O dado ou informação de controle é enviado através de um processo da aplicação?

Exemplos Saídas Externas: 
– relatório com relação de clientes, 
– transferência de dados para outra aplicação, 
– fatura de um cliente, etc.
 • Não são consideradas Saídas Externas : 
– menus de navegação, 
– telas de auxílio, 
– telas de consulta, etc. 

Exemplos:

·   Saída de dados 

·  Saída de informações de controle para o usuário.


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 Contagem 
A 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.

Cálculo dos Pontos de Função Brutos
Somam-se os tipos de Entrada, Saída, Arquivo, Interface e Consulta, classificados individualmente em simples, médios ou complexos.
Deve-se aplicar aos totais encontrados em cada categoria os pesos estabelecidos pela metodologia TPF, conforme a tabela abaixo, determinando-se assim os subtotais ponderados de cada uma delas cuja soma será então o total de pontos de função brutos da aplicação.

Ajuste dos Pontos de Função Brutos
A metodologia TPF estabelece um procedimento para avaliarmos quatorze características que normalmente influenciam a complexidade de processamento da aplicação como um todo, afetando igualmente todas as suas funções.
A forma de considera-Ias é atribuir-lhes individualmente um certo fator, segundo critérios previamente estabelecidos, denominado nível de influência (NI), cuja totalização nos dará o "NI" total. Este fator nos permitirá calcular o fator de ajuste a ser aplicado ao total de pontos de funções brutos.

Critério de Avaliação das Características Gerais e seu NI.
De um modo geral, cada uma das 14 características gerais deve ser avaliada e a ela atribuído um nível de influência, (que é um fator variando de 0 a 5), segundo a tabela abaixo.

Nível de Influência
Descrição
0
Não existe ou não exerce
1
Pouca Influência
2
Influência Moderada
3
Influência Média
4
Influência Significativa
5
Influência Total

As 14 Características Gerais da Aplicação


1. TELEPROCESSAMENTO
2. PROCESSAMENTO DISTRIBUÍDO
3. PERFORMANCE
4. CARGA DE MÁQUINA
5. VOLUME DE TRANSAÇÕES
6. ENTRADA DE DADOS ON-LINE
7. ATUALIZAÇÕES ON-LINE
8. EFICIÊNCIA DO USUÁRIO FINAL
9. COMPLEXIDADE DE PROCESSAMENTO
10. REUTILIZAÇÃO DE CÓDIGO
11. FACILIDADE DE IMPLANTAÇÃO
12. FACILIDADE DE OPERAÇÃO
13. FACILIDADE DE MANUTENÇÃO / ALTERAÇÕES

14. OPERAÇÃO EM MÚLTIPLOS LOCAIS

Características Gerais do Sistema 
1. O sistema exige backup e recuperação confiáveis? 
2. É requerida comunicação de dados? 
3. Existem funções de processamento distribuído? 
4. O desempenho é crítico? 
5. O sistema funcionará num sistema operacional existente e intensamente utilizado? 
6. São requeridas entrada de dados on-line? 
7. As entradas on-line requerem que as transações de entrada sejam construídas com várias telas e operações?
8. Os arquivos são atualizados on-line? 
9. Entradas, saídas, arquivos e consultas são complexos? 
10. O processamento interno é complexo? 
11. O código é projetado para ser reusável? 
12. A conversão e a instalação estão incluídas no projeto? 
13. O sistema é projetado para múltiplas instalações em diferentes organizações? 
14. A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário?

Cálculo do Fator de Ajuste
1 - Atribuir peso de 1 a 5 para cada uma das 14 características gerais do sistema 
2 - Calcular o nível de influência (NI) através da soma dos pesos de cada uma das 14 características 
3- Calcular o Fator de Ajuste (FA) através da equação : FA= (NI * 0,01) +0,65 4 - Cálculo do Pontos de Função Ajustados: FPA= PFBrutos * FA
SHARE

Sobre o Autor... Leandro

    Blogger Comment
    Facebook Comment

0 comentários: