You are on page 1of 6

Cartão de Referência de

Contagem de Pontos de Função

Etapas de Contagem de Pontos de Função


Pontos de Função (PF) Benefícios da APF Propósito da
Métrica para aferição do tamanho • Suportar a análise de Contagem
funcional do software baseada na qualidade e produtividade; Fornece uma reposta para uma
quantificação dos requisitos • Ser um meio para estimar o questão de negócio a ser
funcionais do usuário. custo, prazo e recursos de um resolvida. Influencia o escopo da
de um projeto de software; contagem e o tipo da contagem.
Análise de Pontos de • Fornecer um fator de
Função (APF) normalização para a Escopo da Contagem
Método padrão para medir software comparação de software; Conjunto de requisitos funcionais
em Pontos de Função, sob o ponto de • Determinar o tamanho de um a serem incluídos em uma
vista do usuário. pacote de software adquirido; contagem de Pontos de Função.
• Ajudar a determinar os Identifica quais funcionalidades
benefícios de um pacote de serão incluídas na contagem de
Objetivos da APF software. Pontos de Função. Pode incluir
• Medir as funcionalidades
mais de uma fronteira de
requisitadas e recebidas pelo
Usuário aplicação.
usuário;
• Medir projetos de Qualquer pessoa, aplicação,
hardware, midleware ou software Fronteira da Aplicação
desenvolvimento e de
que interage com o sistema sendo É a interface conceitual que
melhoria (manutenção
contado. delimita o sistema sendo medido
evolutiva)
(mundo interno) e os usuários e as
independentemente da
outras aplicações (mundo
metodologia e tecnologia Visão do Usuário externo). A fronteira da aplicação:
utilizadas na implementação. Descrição das necessidades de
negócio do usuário. Cabe ressaltar • Define o que é externo à
Principais Usos da APF que o usuário deve ser capaz de aplicação;
pelo Governo Brasileiro definir as necessidades e
• Atua como uma membrana
• Métrica de tamanho usada funcionalidades da aplicação e
pela qual os dados
como insumo para os geralmente exerce o papel de
processados pelas funções
modelos de estimativa de Analista de Negócios. A Visão do
transacionais (EE,CE, SE)
prazo, custo e esforço; Usuário:
atravessam, entrando ou
• Métrica padrão utilizada na saindo pela fronteira;
construção de indicadores da • É uma descrição das funções
• Envolve os dados lógicos
qualidade (defeitos/PF) e de negócio;
mantidos pela aplicação
produtividade (Horas/PF) • É aprovada pelo usuário; (ALIs);
• Métrica utilizada como base • Pode variar de forma física • Auxilia na identificação
para o estabelecimento de (Documento de Visão, dos dados lógicos
contratos de prestação de Especificação Funcional, referenciados, mas não
serviços de desenvolvimento Formalização Simples de mantidos pela aplicação
e manutenção de sistemas. Requisitos, Manual do (AIEs);
Usuário);
• É baseada na visão de
• Pode ser usada na Contagem negócio da aplicação,
de Pontos de Função. sendo independente de
considerações técnicas ou
de implementação.
Tipos de Contagem Processo Elementar (PE)
O processo elementar é definido como a menor
• Projeto de Desenvolvimento: Projeto para unidade de atividade significativa para o usuário. O
desenvolver e entregar a primeira versão de processo elementar deve constituir uma transação
uma aplicação de software. Seu tamanho completa, ser completo em si mesmo, e deixar a
funcional é a medida das funcionalidades aplicação em um estado consistente. Uma vez
entregues aos usuários pela aplicação. identificado o processo elementar, deve-se analisar o
Considera funções de conversão de dados objetivo principal dele para classificá-lo em EE, CE
(migração de dados). ou SE.

• Projeto de Melhoria: Projeto de manutenção Arquivo Lógico Interno (ALI)


evolutiva ou melhoria funcional. Seu tamanho É um grupo de dados, logicamente relacionados,
funcional é a medida das funcionalidades reconhecido pelo usuário, mantido por meio de um
incluídas, alteradas e excluídas ao final do processo elementar da aplicação que está sendo
projeto. Considera funções de conversão de contada.
dados (migração de dados).
Arquivo de Interface Externa (AIE)
• Aplicação: Seu tamanho funcional é uma É um grupo de dados, logicamente relacionados,
medida das funcionalidades que a aplicação reconhecido pelo usuário, mantido por meio de um
atual fornece ao usuário. Também é chamada processo elementar de uma outra aplicação e
de contagem de aplicação instalada ou de referenciado pela aplicação que está sendo contada. O
Baseline. Não considera funções de conversão AIE é obrigatoriamente um ALI de outra aplicação.
de dados (migração de dados).
Entrada Externa (EE)
Funções de Dados É um processo elementar que processa dados ou
As funções de dados representam a funcionalidade informação de controle que entram pela fronteira da
oferecida ao usuário para satisfazer requisitos de aplicação. Seu objetivo principal é manter um ou mais
dados internos e externos à aplicação. Uma função de ALI ou alterar o comportamento do sistema.
dados pode ser um Arquivo Lógico Interno (ALI) ou
um Arquivo de Interface Externa (AIE). O termo Saída Externa (SE)
arquivo não significa um arquivo físico ou tabela. O É um processo elementar que envia dados ou
arquivo refere-se a um grupo de dados logicamente informação de controle para fora da fronteira da
relacionados e não à implementação física destes aplicação. Seu objetivo principal é apresentar
grupos de dados. informação para um usuário ou outra aplicação através
de um processamento lógico adicional à recuperação
Funções Transacionais de dados ou informação de controle. O processamento
Uma função de transação é um Processo Elementar lógico deve conter cálculo, ou criar dados derivados,
(PE) que oferece funcionalidade ao usuário para o ou manter ALI ou alterar o comportamento do
processamento de dados. Uma função de transação é sistema.
uma Entrada Externa (EE), Saída Externa (SE), ou
Consulta Externa (CE). Consulta Externa (CE)
É um processo elementar que envia dados ou
informação de controle para fora da fronteira da
aplicação. Seu objetivo principal é apresentar
informação para o usuário através da recuperação de
dados ou informação de controle de ALI ou AIE. O
processamento lógico da CE Não contém cálculo, Não
cria dados derivados, Não mantém ALI e Não altera o
comportamento do sistema.
Tabela de Complexidade Funcional – Funções de Dados
(ALIs e AIEs)
1 a 19 Tipos de Dados 20 a 50 Tipos de Dados 51 ou mais Tipos de Dados
1 Registro lógico Baixa Baixa Média
2 a 5 registros lógicos Baixa Média Alta
6 ou mais registros lógicos Média Alta Alta

Registro Lógico (RL): Subgrupo de dados contido dentro de um ALI ou AIE.

Tipo de Dado (TD): São campos, atributos lógicos, reconhecidos pelo usuário como únicos e
não repetidos, incluindo atributos de chave estrangeira mantidos ou lidos em um ALI ou AIE.

Tabela de Complexidade Funcional – Funções Transacionais


(EEs, SEs, CEs)
Entrada Externa (EE)
1 a 4 tipos de dados 5 a 15 tipos de dados 16 ou mais tipos de dados
0 ou 1 arquivo referenciado Baixa Baixa Média
2 arquivos referenciados Baixa Média Alta
3 ou mais arquivos Média Alta Alta
referenciados

Saída Externa (SE)


1 a 5 tipos de dados 6 a 19 tipos de dados 20 ou mais tipos de dados
0 ou 1 arquivo referenciado Baixa Baixa Média
2 ou 3 arquivos referenciados Baixa Média Alta
4 ou mais arquivos Média Alta Alta
referenciados

Consulta Externa (CE)


1 a 5 tipos de dados 6 a 19 tipos de dados 20 ou mais tipos de dados
1 arquivo referenciado Baixa Baixa Média
2 ou 3 arquivos referenciados Baixa Média Alta
4 ou mais arquivos Média Alta Alta
referenciados

Arquivo Referenciado (AR): Os Arquivos Referenciados levam em consideração os ALIs e


AIEs atualizados ou lidos durante o processamento de uma EE, SE ou CE.

Tipo de Dado (TD): Os Tipos de Dados Referenciados correspondem ao total de atributos


identificados pelo usuário que atravessam a fronteira da aplicação durante o processamento de
uma EE, SE ou CE.
Tabela de Contribuição Funcional
Função Baixa Média Alta
Arquivo Lógico Interno 7 PFs 10 PFs 15 PFs
Arquivo de Interface Externa 5 PFs 7 PFs 10 PFs
Entrada Externa 3 PFs 4 PFs 6 PFs
Consulta Externa 3 PFs 4 PFs 6 PFs
Saída externa 4 PFs 5 PFs 7 PFs

Fórmulas de Cálculo de Pontos de Função

Projeto de Desenvolvimento:
PF_Desenvolvimento = PF_Incluído + PF_Conversão

Aplicação:
PF_Aplicação = PF_Incluído

Projeto de Melhoria (Manutenção Evolutiva):


PF_Melhoria = PF_Incluído + PF_Alterado + PF_Excluído+ PF_Conversão

Aplicação Após um Projeto de Melhoria:


PF_Aplicação_Pós_Melhoria = PF_Aplicação + PF_Incluído + PF_Alterado_Atual –
PF_Alterado_Anterior – PF_Excluído

PF_Incluído: PF associados às funcionalidades incluídas na aplicação por meio de um projeto


de desenvolvimento ou de melhoria.

PF_Aplicação: PF associados às funcionalidades da aplicação instalada

PF_Conversão: PF associados às funcionalidades de conversão de dados dos projetos de


Desenvolvimento ou Melhoria. Exemplos de funções de conversão incluem: migração ou
carga inicial de dados para popular as novas tabelas criadas no sistema e relatórios associados
à migração de dados.

PF_Alterado: PF associados às funcionalidades alteradas pelo projeto de melhoria. Considerar


o PF da nova funcionalidade entregue ao usuário.

PF_Excluído: PF associados às funcionalidades excluídas da aplicação por meio de um


projeto de melhoria.

PF_Alterado_Anterior: É o tamanho em PF das funcionalidades alteradas na aplicação


implantada anterior ao projeto de melhoria.

PF_Alterado_Atual: É o PF_Alterado do projeto de melhoria.


Lógicas de Processamento Utilizadas por EEs, CEs e SEs
Forma de Processamento Lógico EE SE CE
Validações são realizadas P P P
Cálculos são efetuados P O* N
Valores equivalentes são convertidos P P P
Filtro e seleção de dados com base em critérios P P P
específicos para comparar grupos de dados
Condições são analisadas para determinar quais P P P
são aplicáveis
Atualização de pelo menos um ALI O* O* N
No mínimo um ALI ou AIE é referenciado P P O
Dados ou informações de controle são recuperados P P O
Dados derivados são criados P O* N
Alteração do Comportamento do Sistema O* O* N
Prepara e apresenta informações fora da fronteira P O O
da aplicação
Capacidade de aceitar dados ou informações de O P P
controle que entram pela fronteira da aplicação
Reordena ou Reorganiza um conjunto de dados P P P

O: Obrigatório – Lógica de processamento obrigatória para a função.


O*: Pelo menos uma das lógicas O* é obrigatória para o tipo de função.
P: Pode – A lógica de processamento pode ser executada pela função.
N: Não Pode – Não pode ser executada pela função.

Observação: A unicidade de uma função transacional deve ser identificada se esta tiver
Arquivos Referenciados únicos, OU Tipos de Dados únicos OU Lógica de Processamento
única. Exceção: a lógica de ordenação de dados - “Reordena ou Reorganiza um conjunto de
dados” não fornece unicidade para a função transacional.