Você está na página 1de 2

Este documento contém material que foi extraído do Manual

de Práticas de Contagem do IFPUG. Está reproduzido neste Copyright © 2001 - 2006 by FATTO CONSULTORIA E SISTEMAS LTDA.
Análise de Pontos de Função
Funções
Calcular
documento com permissão do IFPUG.

www.fattocs.com.br Tipo
Contagem
Dado
de Pontos
Calcular
Fronteira de Função
Funções Número de
Propósito Tipo da não
Tipo Pontos de
da de Aplicação e Ajustados
Transação Função
Contagem Contagem Escopo da
Ajustados
Contagem Calcular
Valor do
Fator de
Ajuste
FA O
Proibida a reprodução total ou parcial sem
autorização por escrito da FATTO Consultoria e Sistemas
IMPRESSO

Definição da APF Usuário Fronteira da Aplicação


Método padrão para medir software do ponto de vista É qualquer pessoa que especifica requisitos É a interface conceitual que delimita o software que
do usuário pela quantificação da funcionalidade funcionais do usuário e/ou qualquer pessoa ou coisa será medido e o usuários. Ela:
fornecida. que, a qualquer momento, interaja com o sistema. - Define o que é externo à aplicação;
- É a interface conceitual entre o 'interno' ao sistema e
Objetivos da Técnica Visão do Usuário ‘externo' do mundo usuário;
- Medir a funcionalidade que o usuário solicita e recebe; Representa uma descrição formal das necessidades
do negócio do usuário em seu próprio linguajar, - Age como uma 'membrana' através da qual dados
- Medir o desenvolvimento e melhoria de software de processados por transações (EE,SE,CE) passam
sendo compreendida por ambos usuários e
forma independente da tecnologia utilizada para sua entrando e saindo da aplicação;
desenvolvedores.
implementação. - É uma descrição das funções do negócio. - Compreende os dados mantidos pela aplicação (ALI);
- É aprovada pelo usuário. - Apóia na identificação de dados referenciados, mas
Objetivos do Processo de Contagem - Pode ser usada para contar pontos de função.
não mantidos, dentro da fronteira da aplicação (AIE).
- Ser simples o suficiente para minimizar o trabalho - Pode variar em sua forma física.
Regras para determinação da fronteira da aplicação:
adicional envolvido no processo de medição;
- Sua determinação deve ser feita com base no Ponto
- Uma medida consistente entre vários projetos e Propósito da Contagem
organizações. Fornece uma resposta a um problema de negócio. de Vista do Usuário. O foco deve estar no que o usuário
Determina o tipo e o escopo da contagem. pode entender e descrever;
Influencia o posicionamento da fronteira. - A fronteira entre aplicações deve ser baseada na
Benefícios
separação das funções conforme estabelecido pelos
- Determinar o tamanho de um pacote adquirido; Aplicação
- Ajudar usuários a determinar os benefícios de um processos do negócio, não em considerações técnicas;
Um conjunto coeso de procedimentos automa-
pacote para sua organização; tizados e dados suportando um objetivo de negócio. - Em projetos de melhoria, a fronteira estabelecida no
- Suportar a análise de produtividade e qualidade; Consiste de um ou mais componentes, módulos ou início do projeto deve estar de acordo com a fronteira
- Estimar custo e recursos para desenvolvimento e subsistemas, frequentemente usado como sinônimo já estabelecida para a aplicação sendo modificada.
manutenção de software; para Sistema, Sistema de Informação ou Sistema
- Fator de normalização para comparação de software. Aplicativo.
2

Escopo da Contagem Processo Elementar (PE) Arquivo Lógico Interno (ALI)


Define a funcionalidade que será incluída em uma Menor unidade de atividade significativa para o usuário. Grupo de dados ou informações de controle
determinada contagem de pontos de função. Deve ser completo em si mesmo, independente, e deixar
logicamente relacionados, reconhecido pelo usuário,
O escopo da contagem: o negócio da aplicação em estado consistente.
Define um (sub)conjunto do sistema sendo mantido dentro da fronteira da aplicação. Sua principal
dimensionado. intenção é armazenar dados mantidos através de um
É determinado pelo propósito da contagem;
Lógica de Processamento (LP)
Requisitos especificamente solicitados pelo usuário para ou mais PEs da aplicação sendo contada.
Identifica quais funcionalidades serão dimensionados;
completar um processo elementar. Estes requisitos
Pode incluir mais de uma aplicação.
podem incluir ações descritas no Sumário das Lógicas de
Processamento usadas por EEs, SEs, e CEs Arquivo de Interface Externa (AIE)
Grupo de dados ou informações de controle
Tipo de Contagem
Projeto de Desenvolvimento: mede as .Arquivo Referenciado logicamente relacionados, reconhecido pelo usuário,
funcionalidades fornecidas ao usuário na primeira É um ALI lido ou mantido pela função transacional ou referenciado pela aplicação, mas mantido dentro da
instalação da aplicação. Inclui também toda a um AIE lido pela função transacional. fronteira de outra aplicação. Sua principal intenção é
funcionalidade necessária à conversão de dados. armazenar dados referenciados através de um ou mais
Projeto de Melhoria: mede modificações que Informações de Controle PEs da aplicação sendo contada. Um AIE contado para
incluem, excluem ou alteram funcionalidades em Dados que influenciam um PE. Comandos de ação, uma aplicação deve ser um ALI para outra aplicação.
aplicações existentes. Inclui também toda a parâmetros de consulta; enfim, informação que
funcionalidade necessária à conversão de dados. especifica o que, quando, ou como os dados devem
Aplicação: mede a aplicação instalada. Também
Tipo de Dado (TD)
ser processados.
chamada de “baseline”. Reflete a funcionalidade Campo único, não repetido e reconhecido pelo usuário.
atualmente fornecida pela aplicação. É inicializada ao
término do projeto de desenvolvimento e atualizada ao
Reconhecido pelo Usuário Tipo de Registro (TR)
término de cada projeto de melhoria que altera a Requisitos definidos para processos e/ou grupos de Subgrupo de tipos de dados, reconhecido pelo usuário
funcionalidade da aplicação. dados acordados e entendidos tanto pelo usuário e componente de um ALI ou AIE. Pode ser opcional ou
quanto pelo desenvolvedor. obrigatório.
3

Entrada Externa (EE) Consulta Externa (CE) utilização de dados existentes na criação de dados
adicionais.
PE que processa dados ou informações de controle PE cuja principal intenção é enviar dados ou
vindos de fora da fronteira da aplicação e cuja principal informações de controle para fora da fronteira da
intenção é manter um ou mais ALIs e/ou alterar o aplicação através de uma simples recuperação de
Tipos de Requisito
comportamento do sistema. dados de ALIs e/ou AIEs. Sua LP não deve conter Requisitos Funcionais: Representam as práticas e
fórmula matemática ou cálculo, nem criar dados procedimentos que o software deve executar para
derivados, nem manter um ou mais ALI nem atender às necessidades do usuário. Excluem
Saída Externa (SE) tampouco alterar o comportamento do sistema. Requisitos de Qualidade e Requisitos Técnicos.
PE cuja principal intenção é enviar dados ou Requisitos de Qualidade: Descreve em que nível
informações de controle para fora da fronteira da Requisitos Funcionais e técnicos são atendidos.
aplicação. Sua LP deve conter fórmula matemática ou Dado Derivado Requisitos Técnicos: São relacionados à tecnologia e
cálculo, criar dados derivados, manter um ou mais ALIs Requer outro processamento além da recuperação, ambiente, para o desenvolvimento, a manutenção, o
e/ou alterar o comportamento do sistema. conservação e edição direta de dados. Criado pela suporte e a execução do software.

Complexidade Funcional
ALI e AIE EE SE e CE*
Referenciados (AR)

Referenciados (AR)

Tipos de Dados (TD) Tipos de Dados (TD) Tipos de Dados (TD)


Registros (TR)

Arquivos

Arquivos

<5 5-15 >15


Tipos de

<20 20-50 >50 <6 6 -19 >19


*
1 Baixa Baixa Média <2 Baixa Baixa Média <2 Baixa Baixa Média
2-5 Baixa Média Alta 2 Baixa Média Alta 2-3 Baixa Média Alta
>5 Média Alta Alta >2 Média Alta Alta >3 Média Alta Alta
* A CE deve referenciar ao menos 1 ALI ou AIE 4

Características Gerais do Sistema (CGS) Contribuição Projeto de Melhoria (EFP)

[01] Comunicação de Dados Funcionalidade Baixa Média Alta


[02] Processamento Distribuído
[03] Performance
ALI 7 10 15 [EFP] PF de projeto de melhoria.
[ADD] UFP das novas funcionalidades.
[04] Configuração Altamente Utilizada AIE 5 7 10 [CHGA] UFP das funcionalidades alteradas,
[05] Volume de Transações EE 3 4 6 depois da melhoria.
[06] Entrada de Dados on-line [VAFA] VAF depois da melhoria.
[07] Eficiência do Usuário Final SE 4 5 7 [DEL] UFP das funcionalidades excluídas.
[08] Atualização on-line CE 3 4 6 [VAFB] VAF antes da melhoria.
[09] Processamento Complexo
Aplicação – 1ª Instalação (AFP)
[10] Reusabilidade
[11] Facilidade de Instalação AFP = ADD x VAF
[12] Facilidade de Operação Projeto de Desenvolvimento (DFP) [AFP] PF da aplicação
[13] Múltiplos Locais
[14] Modificação Facilitada Aplicação – Após Melhoria (AFP)

[DFP] PF de projeto de desenvolvimento. AFP = [(UFPB + ADD + CHGA) –


Valor do Fator de Ajuste [VAF] [UFP] PF não ajustados da aplicação a ser (CHGB + DEL)] x VAF
instalada. [UFPB] UFP da aplicação antes do projeto
Nível de Influência [DI] = 0..5 [CFP] PF incluídos de conversão de dados. de melhoria.
Nível de Influência Total [TDI] = S
DI [VAF] Valor do fator de ajuste. [CHGB] UFP das funcionalidades alteradas,
Fator de Ajuste [VAF] = [TDI] x 0,01 + 0,65 antes da melhoria.
5

Sumário das Lógicas de Processamento usadas por EEs, SEs, e CEs

Tipo de Lógica de Processamento EE SE CE


-Validações pode pode pode
-Cálculos e fórmulas matemáticas pode deve* não
-Conversão em valores equivalentes pode pode pode
-Filtro e seleção de dados com base em critérios específicos na comparação de vários conjuntos dados pode pode pode
-Análise de condições para que se determine quais se aplicam pode pode pode
-Atualização de pelo menos um ALI deve* deve* não
-Referencia pelo menos um ALI ou AIE pode pode deve
-Recuperação de dados ou informações de controle pode pode deve
-Criação de dados derivados pode deve* não
-Alteração do comportamento do sistema deve* deve* não
-Preparação e apresentação de informação para fora da fronteira pode deve deve
-Capacidade de aceitar dados ou informação de controle que entra pela fronteira deve pode pode
-Mudança da ordenação ou organização de um conjunto de dados (não suficiente para garantir unicidade do PE) pode pode pode
Deve – A transação deve obrigatoriamente executar este tipo de lógica de processamento
Deve* – A transação deve executar pelo menos uma das lógicas de processamento classificadas como deve*
Pode – A transação pode executar este tipo de lógica de processamento, mas não é obrigatório
Não – A transação não pode executar este tipo de lógica de processamento
6
1. Comunicação de Dados 2. Processamento Distribuído 3. Performance
Descreve o nível em que a aplicação comunica-se diretamente Descreve em que nível a aplicação transfere dados Descreve em que nível os requisitos estabelecidos pelo
com o processador. entre seus componentes.
Os dados ou informações de controle utilizados pela aplicação usuário, sobre tempo de resposta, influenciam o projeto,
são enviados ou recebidos através de recursos de comuni- desenvolvimento, instalação e suporte da aplicação.
cação. Protocolo é um conjunto de convenções que permitem a
transferência ou intercâmbio de informações entre dois
sistemas ou dispositivos. Todos os links de comunicação
necessitam de algum tipo de protocolo. O usuário não estabeleceu nenhum requisito especial
0 sobre performance.
A aplicação não participa na transferência de dados
A aplicação é puramente batch ou uma estação de
0 0 ou processamento de funções entre os componentes Requisitos de performance e projeto foram
trabalho isolada. do sistema. estabelecidos e revisados mas nenhuma ação em
1 especial foi tomada.
A aplicação é batch mas possui entrada de dados ou A aplicação prepara dados para processamento pelo
1 impressão remota. 1 usuário final em outro componente do sistema, como Tempo de resposta ou taxa de transações são críticos
planilhas eletrônicas ou banco de dados. durante as horas de pico. Não é necessário nenhum
2 projeto especial para a utilização de CPU. O limite para o
A aplicação é batch mas possui entrada de dados e Dados são preparados para transferência, então processamento é o dia seguinte.
2 impressão remota. 2 são processados em outro componente do sistema
(não para processamento pelo usuário final). Tempo de resposta ou taxa de transações são críticos
durante todas as horas de trabalho. Não foi necessário
3 nenhum projeto especial para a utilização de CPU. O
A aplicação possui coleta de dados on-line, front-end Processamento distribuído e transferência de dados
3 de teleprocessamento para um processamento batch 3 limite de processamento é crítico.
são feitos em linha e em apenas uma direção.
ou sistema de consulta.
Adicionalmente, requisitos especificados pelo usuário
Processamento distribuído e transferência de dados
4 são exigentes o bastante para que tarefas de análise de
A aplicação é mais que um front-end, mas suporta
4 apenas um tipo de protocolo de comunicação. 4 performance sejam necessárias na fase de projeto.
são feitos em linha e em ambas as direções.
Adicionalmente, ferramentas de análise de performance
O processamento de funções são executadas devem ser utilizadas nas fase de projeto,
A aplicação é mais que um front-end, e suporta mais
5 que um tipo de protocolo de comunicação. 5 dinamicamente no componente mais apropriado do 5 desenvolvimento e/ou implementação para que os
sistema requisitos de performance do usuário sejam atendidos.
7

4. Configuração Altamente Utilizada 5. Volume de Transações 6. Entrada de Dados On-line

Descreve em que nível restrições computacionais Descreve em que nível o alto volume de transações Descreve em que nível são efetuadas entradas de dados na
influenciam no desenvolvimento da aplicação. Por exemplo, o influencia o projeto, desenvolvimento, instalação e aplicação por meio de transações interativas.
usuário deseja executar a aplicação em um equipamento já suporte da aplicação.
existente ou comprado e que será altamente utilizado.

Não é antecipado nenhum período de pico de


0 transações.
Não existem restrições operacionais implícitas ou
0 explícitas nos requisitos. 0 Todas as transações são processadas em lote.
São previstos períodos de pico de processamento
Existem restrições operacionais, mas são menos 1 (Ex.: Picos mensal, quinzenal, periódico, anual), mas
o impacto no esforço do projeto é mínimo. De 1% a 7% das transações são entradas de dados
1 restritivas que uma aplicação típica. Não há esforço 1 on-line.
especial necessário ao atendimento destas restrições.
Volumes de transação regulares (Ex.: Picos semanais)
Existem restriçoes operacionais, mas são restrições
2
são previstos. Há algum impacto no esforço do projeto. De 8% a 15% das transações são entradas de dados
2 típicas da aplicação. Há esforço especial necessário 2 on-line.
ao atendimento dessas restrições. Altos volumes de transação (Ex.: Picos diários) são
3 previstos, consequentemente com impacto significa-
Existem requisitos específicos de processador para tivo no esforço do projeto. De 16% a 23% das transações são entradas de dados
3 uma parte específica da aplicação. 3 on-line.
Altas taxas de transação definidos pelo usuário nos
Restrições operacionais explícitas necessitam de um requisitos ou os níveis de serviço acordados são altos
4 o bastante para requererem tarefas de análise de De 24% a 30% das transações são entradas de dados
4 processador dedicado ou utilização pesada do 4 on-line.
processador central. performance na fase de projeto.

Adicionalmente, existem requisitos de ferramentas de Mais de 30% das transações são entradas de dados
Adicionalmente, existem limitações na aplicação
5 nos componentes distribuídos do sistema. 5 análise de performance nas fases de projeto, 5 on-line.
desenvolvimento e/ou instalação.
8

7. Eficiência do Usuário Final 8. Atualização On-Line

As funções on-line fornecidas pela aplicação enfatizam um Descreve em que nível os arquivos lógicos internos são
projeto para o aumento da eficiência do usuário final. O atualizados de forma on-line.
projeto inclui:
0 Não há nenhuma atualização on-line.
0 Nenhum dos itens acima
Existe a atualização on-line de um a três arquivos
- Auxilio para navegação como, por exemplo, teclas de função,
1 1 de controle. Volume de atualização é pequeno e a
saltos, menus gerados dinamicamente; De um a três dos itens acima.
recuperação é fácil.
- Menus;
- Ajuda on-line e documentação; 2 De quatro a cinco dos itens acima. Existe a atualização on-line de quatro ou mais
- Movimentação automática de cursor; arquivos de controle.
Seis ou mais dos itens acima, mas não existem 2 Volume de atualização é pequeno e a recuperação é
- Paginação; 3 requisitos específicos do usuário associados a fácil.
- Impressão remota através de transações on-line; eficiência.
- Teclas de Função pré definidas; A atualização da maioria dos arquivos internos é
- Tarefas em lote submetidos de transações on-line; Seis ou mais dos itens acima, e requisitos explícitos 3
4 on-line.
sobre a eficiência para o usuário final são fortes o
- Drop-down list box;
bastante para necessitarem de tarefas de projeto
- Uso intenso de vídeo reverso, brilho, cores e outros incluírem fatores humanos como minimizar o número Adicionalmente, a proteção contra a perda de dados é
indicadores; de batidas no teclado, maximizar padrões de campo 4 essencial e foi especialmente projetada e programada
- Interface de mouse; e uso de templates no sistema.
- Janelas pop-up;
- Utilização de número mínimo de telas para executar uma Seis ou mais dos itens acima e requisitos explícitos Adicionalmente, o alto volume de processamento
função do negócio; 5 sobre a eficiência para o usuário final são fortes o 5 torna necessária a análise do custo do processo de
- Suporte a dois idiomas (conte como 4 itens); bastante para necessitarem do uso de ferramentas e recuperação. São incluídos procedimentos altamente
processos especiais para demonstrar que os objetivos automatizados com um mínimo de intervenção do
- Suporte a mais de dois idiomas (conte como 6 itens);
foram alcançados. operador.
-Impressão de documentação;
9

9. Processamento Complexo 10. Reusabilidade

Descreve em que nível a aplicação e seu código foram


Descreve em que nível o processamento lógico ou especificamente projetadas, desenvolvidas, e suportadas
matemático influencia o desenvolvimento da aplicação. Os para serem utilizadas em outras aplicações.
seguintes componentes estão presentes:

0 Não há código reutilizável.


Controle sensível (por exemplo processamento especial
- 0 Nenhum dos itens acima.
de auditoria) e/ou processamento específico de segurança
1 Código reutilizável é utilizado na aplicação.
da aplicação. Qualquer um dos itens acima.
1
Processamento lógico extensivo.
-
Menos de dez por cento do código fonte da aplicação
Processamento matemático extensivo.
- 2 foi construído levando em consideração o uso em
Muito processamento de exceção resultando em
- 2 Quaisquer dois itens acima. mais de uma aplicação.

transações incompletas que devem ser processadas Dez por cento ou mais do código fonte da aplicação foi
novamente, por exemplo, transações incompletas em ATM
3 construído levando em consideração o uso em mais
3 Quaisquer três itens acima. de uma aplicação.
em função de problemas de teleprocessamento, falta de
A aplicação foi especificamente empacotada e/ou
dados ou problemas de edição. 4 documentada para fácil reutilização, ela é
Processamento complexo para manipular múltiplas
- 4 Quaisquer quatro itens acima. customizada pelo usuário ao nível de código.

possibilidades de entrada e saída, como por exemplo, A aplicação foi especificamente empacotada e/ou
multimedia, ou independência de dispositivo. documentada para fácil reutilização, ela é
5 Todos os cinco itens acima. 5 customizada pelo usuário através de manutenção de
parâmetros.
10

11. Facilidade de Instalação 12. Facilidade de Operação

Um plano e/ou ferramentas de conversão e instalação


foram fornecidos e testados durante a fase de teste do
sistema. Descreve em que nível a aplicação atende a alguns aspectos operacionais como: inicialização, segurança e recuperação.
A aplicação minimiza a necessidade de atividades manuais, como montagem de fitas, manipulação de papel e
intervenção manual pelo operador.
O usuário não definiu considerações especiais, assim
0 como não é requerido nenhum setup para a instalação.

O usuário não definiu considerações especiais, mas é 0 Não foram estabelecidas pelo usuário outra consideração que não os procedimentos de segurança normais.
1 necessário setup para a instalação.

Requisitos de instalação e conversão foram definidos


2 pelo usuário, e guias de conversão e instalação foram Um, alguns ou todos os seguintes itens são válidos para a aplicação.
fornecidos e testados. Não é considerado importante o Selecione todos aqueles que sejam válidos. Cada item tem um valor de um ponto, a exceção de onde seja citado o
impacto da conversão. contrário.
-Procedimentos de inicialização, salva e recuperação foram fornecidos, mas é necessária a intervenção do operador.
1-4
Requisitos de instalação e conversão foram definidos -Procedimentos de inicialização, salva e recuperação foram fornecidos, e não é necessária a intervenção do operador
3 pelo usuário, e guias de conversão e instalação foram (conte como dois itens).
fornecidos e testados. É considerado importante o -A aplicação minimiza a necessidade de montagem de fitas.
impacto da conversão. -A aplicação minimiza a necessidade de manipulação de papel.

Além do item 2 acima, ferramentas de instalação e


4 conversão automáticas foram fornecidas e testadas.
Aplicação projetada para operação não assistida. Isto é, não é necessária nenhuma intervenção do operador para
5 operar o sistema, que não seja a inicialização e término da aplicação. A recuperação automática de erros é uma
Além do item 3 acima, ferramentas de instalação e
5 característica da aplicação.
conversão automáticas foram fornecidas e testadas.

11

13. Múltiplos Locais 14.Facilidade de Mudanças

Descreve em que nível a aplicação foi especificamente desenvolvida para facilitar a


Descreve em que nível a aplicação foi especificamente projetada, desenvolvida e suportada para mudança de sua lógica de processamento ou estrutura de dados.
diferentes ambientes de hardware e software. As seguintes características podem ser válidas para a aplicação:
- São fornecidos mecanismos de consulta e reporte flexível, que permitem a manipulação
de pedidos simples; por exemplo, lógica de e/ou aplicada a apenas um arquivo lógico
(conte como um item).
- São fornecidos mecanismos de consulta e reporte flexível, que permitem a manipulação
Os requisitos do usuário não consideram a necessidade de mais de um usuário/local de de pedidos de média complexidade; por exemplo, lógica de e/ou aplicada a mais de um
0 instalação. arquivo lógico (conte como dois itens).
- São fornecidos mecanismos de consulta e reporte flexível, que permitem a manipulação
de pedidos complexos; por exemplo, lógica de e/ou combinadas em um ou mais arquivos
Necessidade de múltiplos locais foi considerada no projeto, e a aplicação foi projetada para lógicos (conte como três itens).
1 operar apenas nos mesmos ambientes de hardware e software. - Dados de controle do negócio são mantidos pelo usuário através de processos
interativos, mas as alterações só tem efeito no próximo dia útil.
- Dados de controle do negócio são mantidos pelo usuário através de processos
Necessidade de múltiplos locais foi considerada no projeto, e a aplicação foi projetada interativos, e as alterações tem efeito imediato (conte como dois itens).
2 para operar apenas ambientes de hardware e software similares.
0 Nenhum dos itens acima.
Necessidade de múltiplos locais foi considerada no projeto, e a aplicação foi projetada
3 para operar ambientes diferentes de hardware e software. 1 Qualquer um dos itens acima.

2 Quaisquer dois itens acima.


Adicionalmente aos itens 1 e 2, plano de suporte e documentação são fornecidos e
4 testados para suportar a aplicação em múltiplos locais. Quaisquer três itens acima.
3

4 Quaisquer quatro itens acima.


Adicionalmente ao item 3, plano de suporte e documentação são fornecidos e testados
5 para suportar a aplicação em múltiplos locais.
5 Todos os cinco itens acima.
12

Você também pode gostar