Você está na página 1de 14

Análise de Pontos de Função

PLANEJAMENTO DE
 Os conceitos de Pontos de Função foram introduzidos
PROJETO DE SOFTWARE por Allan J. Albrecht, em uma conferência do GUIDE –
Parte 2 Grupo de Usuários IBM, em 1979.

 Em 1986, uma comunidade de usuários resolveu efetuar


Análise de Pontos de Função padronizações adicionais nas regras de contagem de
pontos de função.

Prática e Gerenciamento de Projetos  Foi então fundado o International Function Points Users
Profª Cássia Alves Perego Group – IFPUG, um grupo formalmente constituído e
sem finalidades lucrativas.
Material compartilhado com o Prof. Jair Tavares de Araujo Filho e
gentilmente cedido pela Profª Drª Andrea Jubileu Padovan 2

Análise de Pontos de Função Análise de Pontos de Função

 Desde a fundação do IFPUG, as regras de contagem  Pontos de função também ajudam as organizações a
evoluíram e melhoraram. normalizar dados como custo, esforço, duração, defeitos,
equipe, etc.

 A contagem de pontos de função é utilizada para medir


 No Brasil também existe uma organização de usuários de
sistemas e elaborar estimativas em todas as fases do
pontos de função, o Brazilian Function Points Users Group
ciclo de vida de desenvolvimento, inclusive na
(BFPUG – fundado em 1998).
manutenção.
 A contagem de pontos de função em sistemas, detalhada
 Além disso, a contagem de pontos de função é pelo manual de contagem do IFPUG, é também conhecida
independente da maneira como o sistema é como Análise de Pontos de Função (Function Point Analysis
desenvolvido e implementado. – FPA)
3 4

Análise de Pontos de Função Análise de Pontos de Função


Visão Geral do Processo de Visão Geral do Processo de
Análise de Pontos de Função Análise de Pontos de Função

Arquivos Externos Arquivos Externos


Pontos de Os pontos deInternos
função brutos Pontos de
Arquivos Internos Arquivos
Entradas Externas Função Brutos refletem especificamente
Entradas Externas a Função
Saídas Externas (não ajustados)
Saídasda
contagem Externas
funcionalidade Brutos
Consultas Externas Consultas Externas
provida ao usuário
pela aplicação.
Avaliação das 14 Pontos Avaliação das 14 Pontos
Fator Fator
características e de Função características e de Função
determinação do nível de determinação do nível de
Ajuste Ajustados Ajuste Ajustados
de influência de influência

5 6
Processo de Contagem de
Pontos de Função 1. Determinar o tipo de contagem
1. Determinar o tipo de contagem  De acordo com a finalidade a que se destina, pode-se
 projeto de desenvolvimento, realizar três tipos de contagem:
 aplicação já desenvolvida ou
 a contagem em projetos de desenvolvimento de software
 projeto de manutenção.
 a contagem de pontos de função de uma aplicação já
2. Identificar escopo da contagem e fronteira da desenvolvida e implantada
aplicação
 a contagem de pontos de função em projetos de manutenção
3. Contar funções do tipo dados (componentes lógicos) de software
Contar funções do tipo transação (componentes lógicos)
4. Determinar contagem de pontos de função não
ajustados
5. Determinar valor do fator de ajuste
6. Calcular o número de pontos de função ajustados

7 8

1. Determinar o tipo de contagem 1. Determinar o tipo de contagem


 De acordo com a finalidade a que se destina, pode-se  De acordo com a finalidade a que se destina, pode-se
realizar três tipos de contagem: realizar três tipos de contagem:
 a contagem em projetos de desenvolvimento de software  a contagem em projetos de desenvolvimento de software
 a contagem de pontos de função de uma aplicação já  a contagem de pontos de função de uma aplicação já
desenvolvida e implantada desenvolvida e implantada
 a contagem de pontos de função em projetos de manutenção  a contagem de pontos de função em projetos de manutenção
de software de software

• É utilizada para dimensionar o tamanho provável de uma nova


aplicação. • É utilizada para obter informações mais reais e físicas
• O objetivo desse cálculo é quantificar as funções solicitadas, do projeto
identificadas no modelo lógico do sistema,
e que deverão ser entregues ao usuário pela nova aplicação
9 10

Processo de Contagem de
1. Determinar o tipo de contagem Pontos de Função
 De acordo com a finalidade a que se destina, pode-se 1. Determinar o tipo de contagem
realizar três tipos de contagem:  projeto de desenvolvimento,
 aplicação já desenvolvida ou
 a contagem em projetos de desenvolvimento de software
 projeto de manutenção.
 a contagem de pontos de função de uma aplicação já
desenvolvida e implantada 2. Identificar escopo da contagem e fronteira da
aplicação
 a contagem de pontos de função em projetos de manutenção
de software 3. Contar funções do tipo dados (componentes lógicos)
Contar funções do tipo transação (componentes lógicos)
• É utilizada para dimensionar o tamanho da modificação
4. Determinar contagem de pontos de função não
que deve ser efetuada em uma aplicação já existente.
ajustados
• Isso quando a modificação é uma melhoria ou
5. Determinar valor do fator de ajuste
adição de funcionalidade a uma aplicação existente.
6. Calcular o número de pontos de função ajustados

11 12
2. Identificar fronteira da 2. Identificar fronteira da
aplicação aplicação
 Para se determinar os componentes lógicos, primeiramente deve-se  A fronteira da aplicação é a linha que separa o
determinar a Fronteira da Aplicação. projeto ou aplicação que está sendo contada de outras
aplicações ou sistemas da organização.

13 14

2. Identificar fronteira da 2. Identificar fronteira da


aplicação aplicação
 As seguintes regras podem ser aplicadas para auxiliar
 A determinação da fronteira é importante para que o estabelecimento das fronteiras:
se possa estabelecer:  A fronteira é determinada através do ponto de vista do
usuário. O foco deve estar no que pode ser
compreendido e descrito pelo usuário.
 o escopo do software que está sendo medido  A fronteira entre aplicações relacionadas é baseada em
funções empresariais separadas, conforme estabelecido
 a propriedade dos dados pelos processos de negócio, e não através de
necessidades tecnológicas.

 a propriedade das funções requeridas pela contagem (se


os dados ou função pertencem à aplicação que está Observação:
sendo contada ou à outra aplicação).  Pode haver mais de uma aplicação incluída no escopo de um
único projeto.
 Nesse caso, todas as fronteiras devem ser identificadas.
15 16

Processo de Contagem de
Análise Pontos por Função Pontos de Função
 APF mede, quantitativamente, a funcionalidade que 1. Determinar o tipo de contagem
um sistema de informação oferece ao usuário. Esta  projeto de desenvolvimento,
funcionalidade compreende transações lógicas e  aplicação já desenvolvida ou
arquivos de dados lógicos (componentes lógicos).  projeto de manutenção.

 Cinco tipos de componentes lógicos ou funções da 2. Identificar escopo da contagem e fronteira da


aplicação afetam de formas distintas o tamanho de um aplicação
sistema: 3. Contar funções do tipo dados (componentes lógicos)
Do tipo dados: Contar funções do tipo transação (componentes lógicos)
 Arquivos Lógicos Internos – ALI 4. Determinar contagem de pontos de função não
 Arquivos de Interface Externa – AIE
ajustados
Do tipo transações:
 Entradas Externas – EE 5. Determinar valor do fator de ajuste
 Saídas Externas – SE 6. Calcular o número de pontos de função ajustados
 Consultas Externas – CE
17 18
3.1 Identificar ALI
3. Contar componentes lógicos
EE
 Do tipo dados Fronteira da Aplicação
SE Arquivo Lógico Interno
 Arquivo Lógico Interno (ALI) ALI AIE
 Arquivo de Interface Externa (AIE) CE

 Do tipo transação
 Um Arquivo Lógico Interno (ALI) é um grupo de
dados logicamente relacionados, ou informações de
 Entrada Externa (EE)
controle, identificados e modificados pelo usuário e
 Saída Externa (SE)
mantidos dentro das fronteiras da aplicação que está
 Consulta Externa (CE)
sendo contada.

19 20

3.1 Identificar ALI 3.1 Identificar ALI

EE  Exemplos de Arquivos Lógicos Internos:


Fronteira da Aplicação
SE  arquivo de clientes, de produtos, de funcionários,
Arquivo Lógico Interno de dependentes,
ALI AIE
CE  arquivo de controle de acesso à aplicação,
 tabela de configuração mantida pela aplicação,
entre outros.
 Um Arquivo Lógico Interno (ALI) é um grupo de
dados logicamente relacionados, ou informações de
controle, identificados e modificados pelo usuário e
Na FPA, arquivo lógico é definido como
mantidos dentro das fronteiras
um grupoda aplicação
lógico que
de dados, está
podendo
sendo contada cada um ser composto por uma ou
mais entidades de dados.
21 22

3.1 Identificar ALI Práticas de contagem para ALI

 Exemplos que não são considerados ALI:  Dados de código: são implementações de requisitos
 arquivos temporários, técnicos e não devem influenciar o tamanho
 arquivos de classificação, funcional da aplicação.
 arquivos incluídos por motivos de tecnologia,  Por exemplo, um arquivo armazenando a sigla e o nome
 arquivos de índices para melhorar a performance na de unidades da federação => essa função de substituição
recuperação dos dados, de descrição pelo código é condição suficiente para que o
 visões de base de dados, arquivo seja considerado dados de código.
 arquivos de backup,  Arquivos que sempre armazenam apenas uma ocorrência
e cujo conteúdo de seus atributos raramente mudam. Por
 arquivos com dados consolidados cujo único fim é agilizar ex, arquivo com dados da empresa onde o sistema será
o processamento (trata-se de um requisito de utilizado.
desempenho),
 Com apenas um atributo. Por ex: tabela com sigla de
 entidades de ligação (compostas apenas por chaves das estados.
entidades associadas; originadas no relacionamento M:N);
23 24
Práticas de contagem para ALI 3.2 Identificar AIE

 Entidades dependentes: a entidade independente


analisada de forma isolada não é um arquivo lógico EE
Arquivos
Fronteira de Interface Externa
da Aplicação
quando tem uma ou mais entidades dependentes; o
mesmo se dá com as entidades dela dependentes; SE
 Nesse caso, um arquivo lógico é identificado pela análise da ALI AIE
entidade independente em conjunto com todas as suas
entidades dependentes; CE
 Generalização: a entidade supertipo em conjunto
com suas entidades dependentes subtipos formam
um único arquivo lógico.  Um Arquivo de Interface Externa (AIE) é um grupo
 Entidades associativas: entidades que relacionam de dados logicamente relacionados, ou informações de
duas ou mais outras entidades entre si. controle, utilizados no sistema que está sendo
 Trata-se de uma entidade dependente (só tem significado analisado, mas que são mantidos fora da fronteira da
em conjunto com as entidades que relaciona), não sendo, aplicação que está sendo contada.
portanto, um arquivo lógico isolado.
25 26

3.2 Identificar AIE 3.3 Determinar complexidade


ALI/AIE
 Exemplos de AIE  Cada função do tipo dado e transação é
 Dados de referência externos utilizados pela classificada com relação à sua complexidade
aplicação. em baixa, média e alta.

 Exemplos que não são considerados AIE:  A complexidade das funções do tipo dado é
 Dados mantidos pela aplicação e utilizados por outra determinada pela quantidade de tipos de dados
aplicação; e tipos de registro.
 Dados formatados e processados para uso de outras
aplicações;
 As funções do tipo transação têm sua
complexidade determinada pela quantidade de
tipos de dados e arquivos referenciados.

27 28

3.3 Determinar complexidade 3.3 Determinar complexidade


ALI/AIE ALI/AIE

É um campo único que está presente em um


A complexidade da função do tipo dado (Arquivo A complexidade da função
Arquivo Lógico Interno do tipo
(ALI) dado
ou em um (Arquivo
Lógico Interno e Arquivo de Interface Externa) Arquivo
Lógico Interno e de Interfacede
Arquivo Externa (AIE). Externa)
Interface
é calculada a partir: é calculada a partir:

 da quantidade de Tipos de Dados (TD)  da quantidade de Tipos de Dados (TD)

 da quantidade de Tipos de Registros (TR)  da quantidade de Tipos de Registros (TR)

29 30
Regras de Contagem de Tipos de Regras de Contagem de Tipos de
Dados Dados (cont.)
 Conte apenas os campos utilizados pela aplicação em
 Conte 1 TD para cada campo único reconhecido pelo
análise.
usuário e não repetido, mantido ou recuperado de um ALI
 Algumas vezes, mais de uma aplicação mantêm ou referenciam o
ou AIE. mesmo ALI/AIE, porém cada uma pode utilizar campos distintos
do mesmo ALI/AIE.

 Há casos em que vários campos implementam apenas 1  Quando um único arquivo lógico é composto por mais de
TD. uma tabela no banco de dados, a chave estrangeira
 Por exemplo: no agendamento de um recebimento, a data de usada para estabelecer o relacionamento entre estas
vencimento poderia estar armazenada em múltiplos campos (dia, mês tabelas não deve ser contada mais de uma vez como TD.
e ano), mas continuaria a ser contada como um único tipo de dado.
 Por exemplo, relacionamento 1: N da tabela OS com a tabela
Item_OS
 Campos calculados e armazenados em um ALI também são  Caso a chave estrangeira seja composta por vários
contados como 1 TD. campos, todos eles devem ser contados como TD.

31 32

3.3 Determinar complexidade Regras de Contagem de Tipo de


ALI/AIE Registro

 Conte 1 TR para cada subgrupo de um ALI ou AIE.


 Contar 1 TR para cada chave-primária presente no
A complexidadeÉ da um função
subgrupo do tipo dado (Arquivo
de dados, ALI/AIE;
Lógico Interno
dentro deeum
Arquivo de Interface
Arquivo Lógico Externa)
Interno (ALI)  Caso o ALI/AIE contenha apenas a própria chave
é calculada a partir:
ou de um Arquivo de Interface Externa (AIE). contar um único TR.

 da quantidade de Tipos de Dados (TD)  No caso de entidades dependentes, se puder existir a ocorrência
da entidade principal sem o respectivo par na entidade
dependente (ex: funcionários e dependentes), deve-se contar 2
 da quantidade de Tipos de Registros (TR) TR, caso contrário, 1 TR.

 No caso de entidades supertipo e subtipo (generalização), cada


uma delas é contada como 1 TR.

33 34

Tabela de Complexidade para


ALI e AIE 3. Contar componentes lógicos

 Do tipo dados
Tipos de Dados
Tipos de Registros

 Arquivo Lógico Interno (ALI)


< 20 20 - 50 > 50  Arquivo de Interface Externa (AIE)
1 Baixa Baixa Média

2–5 Baixa Média Alta


 Do tipo transação

>5 Média Alta Alta


 Entrada Externa (EE)
 Saída Externa (SE)
 Consulta Externa (CE)

35 36
3.4 Identificar EE 3.4 Identificar EE

EE Entradas Externas EE
Fronteira da Aplicação Fronteira da AplicaçãoSão
aqueles que chamam
SE SE Exemplo: uma transação ou alteram
ALI AIE Nome do Cliente,
ALI o comportamento
AIE de
CE Endereço,
CE Telefone etc. uma aplicação

Uma Entrada Externa (EE) é qualquer função ou transação Uma Entrada Externa (EE) é qualquer função ou transação
que leva dados ou informações de controle de fora para
que leva dados ou informações de controle de fora para
dentro da fronteira da aplicação.
dentro da fronteira da aplicação.
A principal intenção é manter (incluir, alterar ou excluir dados de) um ou
mais ALI e/ou modificar o comportamento do sistema.

37 38

3.4 Identificar EE 3.5 Identificar SE

 Os dados, geralmente, vem de uma tela de entrada EE


Fronteira
daAplicação
ou de outra aplicação. SE Saídas Externas
ALI AIE
 São exemplos de EE: CE
 Transações que recebem dados externos utilizados para
manter os ALIs; Uma Saída Externa (SE) é um processo que envia dados ou
 Processamento em lotes de atualização de bases cadastrais, informações de controle para fora da fronteira da aplicação.
a partir de arquivos de movimento. A intenção é apresentar informação ao usuário por meio de lógica de
processamento que não seja apenas a recuperação de dados ou
 Não são consideradas EE: informações de controle. A lógica de processamento deve
 Telas de filtro de relatórios e consultas; obrigatoriamente conter ao menos uma fórmula matemática ou cálculo,
 Menus; ou criar dados derivados.
 Telas de login. Pode, também, manter um ou mais ALIs e/ou alterar o comportamento
do sistema.
39 40

3.5 Identificar SE 3.5 Identificar SE

EE
Fronteira
daAplicação
SE Saídas Externas  Uma Saída Externa pode criar um relatório ou um
ALI AIE arquivo de saída enviado para outra aplicação.
CE

 Uma Saída Externa pode ser uma informação de


Uma Saída Externa (SE) é um processo que envia dados ou controle.
Dado Derivado
informações de controle para fora da fronteira da aplicação.
Ocorre quando um ou mais dados
A intenção é apresentar informação ao usuário por meio de lógica de
elementares
processamento que não seja apenas a recuperação de dados ou  Os relatórios, arquivos de saída ou informação de
informações de controle. A lógicasão combinados para
de processamento devegerar controle são criados a partir de dados contidos em um
elementos
obrigatoriamente conter ao menos de dados
uma fórmula adicionais
matemática ou cálculo, ou mais Arquivo Lógico Interno (ALI) ou Arquivo de
ou criar dados derivados. Interface Externa (AIE)
Pode, também, manter um ou mais ALIs e/ou alterar o comportamento
do sistema.
41 42
3.5 Identificar SE 3.6 Identificar CE

EE
 Exemplos de Saídas Externas: relatório com relação de Fronteira da Aplicação
clientes inadimplentes, transferência de dados para outra SE
aplicação, um “flag” indicando que uma folha de ALI AIE
pagamento foi produzida, telas de login (com criptografia) CE
Consultas Externas

 Não são consideradas Saídas Externas:


 Uma Consulta Externa (CE) é um processo que envia dados ou
 menus de navegação, informações de controle para fora da fronteira da aplicação;
 telas de help,  A intenção é apresentar ao usuário informações a partir de uma
 consultas e relatórios sem nenhum totalizador, que não recuperação de dados ou informações de controle de ALIs e/ou AIEs.
atualizam arquivos, não têm dados derivados ou modificam o  A lógica de processamento não deve conter fórmula matemática ou
comportamento do sistema. cálculo e nem criar dados derivados.
43 44

3.7 Determinar a complexidade


3.6 Identificar CE EE/SE/CE
 Exemplos de CE:
 Telas de help
 Drop-downs, desde que recuperem dados de um arquivo A complexidade de EE, SE e CE é calculada a
lógico (ALI ou AIE); os drop-downs estáticos, com os
valores codificados diretamente no programa-fonte, não partir:
são contados;
 Telas de login (sem criptografia)
 Menus gerados dinamicamente com base em configuração
da aplicação

 Não são exemplos de CE:  da quantidade de Tipo de Dados


 Menus estáticos
 Relatórios e consultas que contenham cálculo ou gerem
dados derivados.  da quantidade de Arquivos Referenciados

45 46

3.7 Determinar a complexidade Regras de Contagem de Tipo de


EE/SE/CE Dados
 Conte 1 TD para cada campo não repetido, que entra ou sai pela
fronteira da aplicação.
A complexidade de EE, SE e CE é calculada a  Mensagens (de Erro, de Confirmação, etc, são contabilizadas como
1 TD para cada EE, CE ou SE)
partir:  Comandos (mesmo que uma função possua várias formas de
especificar sua execução, conte apenas 1 TD)
 Em telas de atualização contar os campos-chave e os campos passíveis
É um campo único, de alteração.
reconhecido pelo usuário, não repetido.  Em telas de exclusão contar campos-chave, o comando e a mensagem.
 Se o campo tanto entra quanto sai pela fronteira da aplicação, deve ser
contado uma única vez.
 Ex: tela de filtro de relatório com nome do cliente. No relatório há
 da quantidade de Tipo de Dados todos os pedidos do cliente, inclusive o nome informado na tela de
filtro. Nesse caso, o nome do cliente é contado uma única vez.
 Obs: no caso onde um campo de busca permite especificar um
intervalo (na medida que especifica uma faixa de itens que pode ser
 da quantidade de Arquivos Referenciados apresentada), o que acontece qdo se pode digitar no campo de
busca itens parciais, esse deve ser contado como 1 TD.

47 48
Exemplo
Regras de Contagem de Tipo de 1 TD
Dados (cont.) 6 TD

 Os campos que durante o processamento são recuperados ou derivados


pelo sistema e armazenados em um ALI, mas não atravessam a fronteira Não conta
da aplicação, não devem ser contados como TD.
 Ex1: quando um cheque é impresso, um campo de situação no arquivo
de compromissos é atualizado. Esse campo não deve ser contado, uma
vez que não atravessou a fronteira da aplicação.
 Ex2: Ao emitir uma NF, o sistema automaticamente atualiza no 1 TD
estoque a nova quantidade de itens do produto. Esse tipo de dado não
deve ser contado.
 Obs: um campo derivado que atravessa a fronteira da aplicação deve
ser contado como 1 TD. É o caso, também, de vários dados (nome e 1 TD
endereço do cliente), processados na “etiqueta” em uma NF, por 1 TD
exemplo.
 Não contar literais.
 Ex: títulos de relatórios, identificação de telas, cabeçalhos de colunas,
nomes de campos. 1 TD 11 TD
 Não contar variáveis de páginação ou campos automáticos gerados pelo
sistema.
 Ex: Nº de página, setas de rolagem, campos de data/hora do sistema.
49 50

Exemplo
3.7 Determinar a complexidade
EE/SE/CE

A complexidade de EE, SE e CE é calculada a


1 TD partir:

É um conjunto de registros,
ou seja, um arquivo tratado ou utilizado pelo sistema,
podendo esse arquivo ser um ALI ou AIE.

 da quantidade de Tipo de Dados

 da quantidade de Arquivos Referenciados

1 TD TOTAL: 2 TD 51 52

Regras de Contagem de Arquivo Tabela de Complexidade para EE,


Referenciado SE e CE
Arquivos Referenciados

Tipos de Dados
EE
 Contar 1 AR para:
<5 5 - 15 > 15
 cada ALI mantido
 para cada ALI ou AIE referenciado (lido) durante o <2 Baixa Baixa Média
processamento
2 Baixa Média Alta
>2 Média Alta Alta SE e
CE
Arquivos Referenciados

Tipos de Dados

<6 6 - 19 > 19
<2 Baixa Baixa Média

2–3 Baixa Média Alta


53 >3 Média Alta Alta 54
Processo de Contagem de 4. Determinar contagem de
Pontos de Função pontos de função não ajustados
1. Determinar o tipo de contagem  A complexidade de cada tipo de função possui associado
 projeto de desenvolvimento, um valor em pontos de função não ajustados, fornecido
 aplicação já desenvolvida ou pela tabela, a seguir.
 projeto de manutenção.
2. Identificar escopo da contagem e fronteira da Tipo de Baixa Média Alta
aplicação Função
3. Contar funções do tipo dados (componentes lógicos) ALI 7 PF 10 PF 15 PF
Contar funções do tipo transação (componentes lógicos) AIE 5 PF 7 PF 10 PF
4. Determinar contagem de pontos de função não EE 3 PF 4 PF 6 PF
ajustados
SE 4 PF 5 PF 7 PF
5. Determinar valor do fator de ajuste
CE 3 PF 4 PF 6 PF
6. Calcular o número de pontos de função ajustados

55 56

Exemplo – Processo de Contagem de


Sistema de Controle de Ponto Pontos de Função
1. Determinar o tipo de contagem
 projeto de desenvolvimento,
 aplicação já desenvolvida ou
 projeto de manutenção.
2. Identificar escopo da contagem e fronteira da
aplicação
3. Contar funções do tipo dados (componentes lógicos)
Contar funções do tipo transação (componentes lógicos)
4. Determinar contagem de pontos de função não
ajustados
5. Determinar valor do fator de ajuste
6. Calcular o número de pontos de função ajustados

57 58

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste
 O cálculo do fator de ajuste representa a  O uso do fator de ajuste tornou-se opcional ao final
funcionalidade geral da aplicação provida ao do ano de 2002, como uma medida para aceitação
usuário pela aplicação e é obtido por meio da dos PF do IFPUG como um método padrão de medição
análise de 14 Características Gerais do Sistema funcional aderente à norma ISO/IEC 141431, porque
(CGS). várias das CGSs contemplam requisitos não
funcionais.
 Há grande variação na interpretação das CGSs;
 Quando a técnica de PF foi apresentada por Alan Albrecht,
em 1979, não havia as 14 CGS.  Algumas delas estão desatualizadas.
 O fator de ajuste era determinado de forma totalmente
subjetiva, o qual poderia produzir uma variação de ±
25% nos PF não ajustados.
 Na revisão da técnica, em 1984, foram introduzidas as
atuais 14 CGSs e o fator de ajuste foi alterado para
produzir a variação de ± 35%.

59 1 ISO/IEC 14143 Information technology -- Software measurement –60

Functional size measurement


5. Determinar valor do fator de 5. Determinar valor do fator de
ajuste 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

61 62

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste
1 - Atribuir peso de 1 a 5 para cada uma das 14
características gerais do sistema
 O peso de cada uma das características varia
2 - Calcular o nível de influência (NI) através da de zero até cinco:
soma dos pesos de cada uma das 14  Nenhuma influência (0), Influência mínima (1)
características  Influência moderada (2), Influência média (3)
3- Calcular o Fator de Ajuste (FA) através da  Influência significante (4), Influência forte (5).
equação :  Quando totalizados, os níveis podem alterar a
contagem de pontos de função em uma
FA= (NI * 0,01) +0,65 amplitude de –35% até +35%.
 O valor final do fator de ajuste pode variar de
0,65 até 1,35.

63 64

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste

1- Comunicação de Dados 2- Funções Distribuídas


 Diz respeito a como os dados e informações  A aplicação tem por característica o fato de
de controle usados na aplicação são enviados que os dados ou o processamento são
e recebidos de outros terminais, estações de distribuídos entre várias Unidades Centrais de
trabalho ou micros através da utilização de Processamento (CPUs)
recursos de comunicação de dados.

65 66
5. Determinar valor do fator de 5. Determinar valor do fator de
ajuste ajuste

3 - Performance 4 - Configuração de Equipamentos


 Devem ser analisados os objetivos de  Busca-se identificar o grau de utilização do(s)
performance do sistema, estabelecidos e computador(es) pelo sistema.
aprovados pelo usuário, em termos de tempo
de resposta, que influenciam o projeto, o
desenvolvimento, a implantação e o suporte
da aplicação.

67 68

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste

5 - Volume de Transações 6 - Entrada de Dados On-Line


 Descrever em que nível o alto volume de  Esta característica quantifica a entrada de
transações influencia o projeto, dados on-line provida pela aplicação.
desenvolvimento, instalação e suporte da
aplicação.

69 70

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste

7 - Interface com o Usuário 8 - Atualização On-Line


 Descrever em que nível considerações sobre  Verificar se a aplicação fornece atualização
fatores humanos e facilidade de uso pelo on-line dos Arquivos Lógicos Internos.
usuário final influenciam o desenvolvimento
da aplicação.

71 72
5. Determinar valor do fator de 5. Determinar valor do fator de
ajuste ajuste

9 - Processamento Complexo 10 - Reusabilidade


 Deve ser analisada a presença de alguns  Analisar se a aplicação e seu código
componentes. serão/foram projetados, desenvolvidos e
 Exemplo: Processamento gerando muitas exceções, mantidos visando utilização em outras
resultando em transações incompletas que devem ser
processadas novamente. Exemplo: transações de auto-
aplicações.
atendimento bancário interrompidas por problemas de
comunicação ou com dados incompletos.

73 74

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste
12 - Facilidade Operacional
 As especificações da aplicação podem
11 - Facilidade de Implantação demandar que sejam providos procedimentos
automatizados que minimizem a intervenção
 Verificar a existência de um plano de
manual de operadores.
conversão e de implantação e/ou a existência
de ferramentas de conversão providas e  Procedimentos de inicialização, salvamento e
testadas durante a fase de teste da aplicação. recuperação do sistema podem ser
fornecidos.
 Verificar se a aplicação minimiza a
necessidade de atividades manuais, tais como
montagem de fitas, manuseio de papel e
intervenção do operador.
75 76

5. Determinar valor do fator de 5. Determinar valor do fator de


ajuste ajuste

13 - Múltiplos Locais 14 - Facilidade de Mudanças (Flexibilidade)


 Verificar se a aplicação foi projetada,  A aplicação foi especificamente projetada,
desenvolvida e modificada para ser instalada desenvolvida e suporta manutenção, visando
em múltiplos locais ou para múltiplas facilidade de mudanças através de
organizações. capacidade de consultas e relatórios flexíveis,
bem como a parametrização dos dados de
controle do negócio, de forma que o cliente
possa modificá-lo a qualquer momento.

77 78
5. Determinar valor do fator de 5. Determinar valor do fator de
ajuste ajuste
1 - Atribuir peso de 1 a 5 para cada uma das 14 1 - Atribuir peso de 1 a 5 para cada uma das 14
características gerais do sistema características gerais do sistema
O valor varia de 0,65 a 1,35
2 - Calcular o nível de influência (NI) através da 2 - Calcular o nível de influência (NI) através da
soma dos pesos de cada uma das 14 soma dos pesos de cada uma das 14
características características
3- Calcular o Fator de Ajuste (FA) através da 3- Calcular o Fator de Ajuste (FA) através da
equação : equação :
FA= (NI * 0,01) +0,65 FA= (NI * 0,01) +0,65
O valor varia de 0 a 70

79 80

Processo de Contagem de 6. Calcular o número de pontos de


Pontos de Função função ajustados
1. Determinar o tipo de contagem
 projeto de desenvolvimento, FPA= PFBrutos *FA
 aplicação já desenvolvida ou
 projeto de manutenção.
2. Identificar escopo da contagem e fronteira da
aplicação
3. Contar funções do tipo dados (componentes lógicos) PONTOS DE PONTOS DE FATOR DE
Contar funções do tipo transação (componentes lógicos) FUNÇÃO FUNÇÃO AJUSTE
4. Determinar contagem de pontos de função não AJUSTADOS BRUTOS
ajustados
5. Determinar valor do fator de ajuste
6. Calcular o número de pontos de função ajustados

81 82

Bibliografia Trabalho – Contagem de PFA


 Baseado no Escopo de Projeto entregue em Engenharia de Software 2:
 PRESSMAN, R. S. Engenharia de Software. 6ª ed. Rio de Janeiro:  Elaborar o Modelo Lógico de Dados
McGrawHill, 2006.  Definir o lay-out das telas do sistema (cadastros, movimentações,
 SOMERVILLE, IAN. Engenharia de Software. 6ª edição. São Paulo: consultas, filtragem de relatórios e relatórios)
Addison Wesley, 2003.  Efetuar a contagem dos pontos de função brutos nos:
 BFPUG - Brazilian Function Point Users Group. Disponível em:  ALIs, AIEs, EEs, CEs e SEs (devem ser feitas observações para
<http://www.bfpug.com.br/>. Acesso em: 22 mar 2005. cada tipo de contagem, para facilitar a interpretação da professora
no momento da correção)
 IFPUG - International Function Point Users Group. Disponível em:  Para isso deve ser montada uma tabela conforme o slide 57
<http://www.ifpug.org/>. Acesso em: 22 mar 2005.
 Determinar valor do fator de ajuste de cada uma das 14
 NESMA - Netherlands Software Metrics Users Association. FPA – características
Function Point Analysis. Disponível em:  Calcular o nível de influência (NI) através da soma dos pesos
http://www.nesma.nl/english/index.htm. Acesso em: 22 mar 2005. do passo anterior
 SANCHES, ROSELY. Material Didático: Engenharia de Software.  Calcular o Fator de Ajuste (FA)
ICMC-USP, 2002.  Calcular o número de pontos de função ajustados
 Deve ser elaborado um documento contendo as
informações referentes a todos os passos anteriores...
83 84

Você também pode gostar