Você está na página 1de 45

Análise de Pontos de Função

Por Denize Terra Pimenta


dpimenta_aula@yahoo.com.br

1
“Não se consegue controlar o que
não se consegue medir.”

2
Bibliografia
„ "Function Point Analysis: Measurement
Practices for Successful Software Projects", de
David Garmus e David Herron
„ "Análise de Pontos de Função: Medição,
Estimativas e Gerenciamento de Projetos de
Software", de Carlos Vazquez, Gulherme Simões e
Renato Albert

3
Referências On Line
„ http://www.ifpug.org
„ http://www.bfpug.com.br
„ http://www.isbsg.org.au

4
Conteúdo
„ O que é APF ?
„ Objetivos da Técnica
„ Como se Calcula – Processo de Contagem
„ Definições
„ Tipo de Contagem
„ Funções de Dados
„ Funções de Transação
„ Cálculo dos Pontos não Ajustados
„ Fator de Ajuste
„ Cálculo dos Pontos Ajustados
„ Dúvidas e Dicas
„ Prática – Exemplo e exercícios

5
O que é APF ?
„ “É uma medida de dimensionamento
de software através da funcionalidade
implementada em um sistema, sob o
ponto de vista do usuário.”

6
Objetivos da Técnica
„ Medir o que foi requisitado e recebido pelo usuário
(visão do usuário);
„ Medir independentemente da tecnologia utilizada
para implementação (linguagem, método,
plataforma);
„ Prover uma métrica de medição para apoiar a
análise de produtividade e qualidade;
„ Prover uma forma de estimar o tamanho do
software; e
„ Prover um fator de normalização para comparação
de software.

7
Benefícios da Técnica
„ Determinar o tamanho de um produto adquirido
através da contagem de todas as funções incluídas –
é saber o que se está comprando.
„ Auxilia a análise do tipo make or buy
„ Auxilia a análise de produtividade e qualidade
„ Apoia o gerenciamento de escopo de projetos
(aumento ou diminuição do escopo).
„ Complementa o gerenciamento dos requisitos
(solidez e completeza).

8
Benefícios da Técnica
„ Estimar custo e recursos para o desenvol-
vimento e manutenção de software.
„ Meio para fundamentar a negociação de
contratos.
„ Comparativo de softwares ou produtividade.

9
Definições
„ Escopo da contagem – define quais
funcionalidades (de uma ou mais
aplicações) serão incluídas em uma
determinada contagem.
„ Fronteira da aplicação – é a interface
conceitual que delimita o software que
será medido e o mundo exterior.

10
Definições
„ Processo elementar – menor unidade de
atividades significativa para o usuário. Deve
ser completo em si mesmo, independente, e
deixar o negócio da aplicação em estado
consistente.
„ Arquivo Lógico Interno (ALI) – são os dados
ou informações mantidas pela aplicação a
ser contada.
„ Arquivo de Interface Externa (AIE) – são os
dados lidos de outra aplicação.

11
Definições
„ Entrada Externa (EE) – É a função que faz a
manutenção dos dados da aplicação.
„ Saída Externa (SE) – É a função que tem
processamento da informação a ser exibida.
„ Consulta Externa (CE) – É uma consulta
simples da informação armazenada na
aplicação.

12
Como se Calcula:
1. A definição do propósito da contagem deve ser feita
definindo-se o tipo de contagem e identificando-se
o escopo da contagem e a fronteira da aplicação.
2. O cálculo dos pontos não ajustados é feito em
seguida, identificando-se e classificando as Funções
de Dados e de Transação.
3. Deve ser determinado e calculado o fator de ajuste.
4. Finalmente calcula-se o valor dos pontos por função
ajustados aplicando-se a fórmula adequada.

13
Como se Calcula – Processo de Contagem

Contar 2
Funções do Tipo
Dados Calcular
Contagem de
Pontos de 4
Função não
Contar Ajustados
Determinar 1 Definir a Fronteira Funções do Tipo Calcular
da Aplicação e Transação Número de
o Tipo de
o Escopo da Pontos de
Contagem
Contagem Função
Determinar/Calcular Ajustados
Valor do
Fator de Ajuste

14
1- Definir Propósito da Contagem
„ Para esta definição devemos:
„ Identificar o tipo de contagem;
„ Definir a fronteira da aplicação;
„ Definir o escopo da contagem.

15
1.1- Identificar o Tipo de
Contagem
„ Projeto de Desenvolvimento – para a primeira
instalação do software, conta também se houver
atividade de conversão de dados (do sistema antigo
para o novo – que está sendo contado).
„ Projeto de Melhoria – é a contagem para
manutenção de um sistema, exclusão, alteração ou
inclusão de funcionalidades.
„ Aplicação – também chamado de baseline é a
contagem real de um software ou parte dele.

16
1.2- Definir a Fronteira Aplicação
„ Para determinação da fronteira:
„ Deve ter base no ponto de vista do
usuário. O foco deve estar no que ele
pode entender e descrever;
„ A fronteira entre aplicações deve ser
baseada na separação das funções
conforme estabelecido pelo negócio e
não em considerações tecnológicas;

17
1.2- Definir a Fronteira Aplicação
„ Para determinação da fronteira (cont.):
„ Em projetos de melhoria, a fronteira
estabelecida no início do projeto deve
estar de acordo com a fronteira
estabelecida para a aplicação.

18
1.3- Definir o Escopo Contagem
„ O escopo da contagem pode abranger:
„ Todas as funcionalidades disponíveis;
„ Funcionalidades efetivamente utilizadas
pelo usuário;
„ Algumas funcionalidades específicas
(relatórios, módulos, etc)

19
2- Cálculo dos pontos não ajustados
„ Para o cálculo dos pontos não
ajustados devemos:
„ Identificar as funções de dados e de
transação da aplicação;
„ Identificar a complexidade de cada um;
„ Atribuir o valor dos pontos
(contribuição);
„ Somar o total dos pontos encontrados.

20
2.1- Contar Funções de Dados
„ Arquivo Lógico Interno (ALI) – um grupo de
dados ou informações de controle;
identificável pelo usuário; logicamente
relacionados; mantido dentro da fronteira da
aplicação.
A principal intenção de um ALI é armazenar
dados mantidos por meio de um ou mais
processos elementares da aplicação.

21
2.1- Contar Funções de Dados
„ Exemplos de ALI:
„ Tabelas que armazenam dados mantidos pela aplicação;
„ Arquivos de configuração mantidos pela aplicação;
„ Arquivos de segurança de acesso à aplicação (senhas),
mantidos por ela;
„ Arquivos de help, desde que mantidos pela aplicação;
„ Arquivos de mensagens de erro, desde que mantidos pela
aplicação;
„ Arquivos mantidos não só pela aplicação, mas também
por outra aplicação.

22
2.1- Contar Funções de Dados
„ Não-Exemplos de ALI:
„ Arquivos temporários, de trabalho ou de
classificação
„ Arquivos gerados para processamento em outra
aplicação.
„ Arquivos de backup;
„ Arquivos introduzidos exclusivamente em função
da tecnologia utilizada;
„ Arquivos de índices;
„ Operações de junção e projeção, visões (views).

23
2.1- Contar Funções de Dados
„ Arquivo de Interface Externa (AIE) – é um
grupo de dados ou informações de controle;
identificável pelo usuário; logicamente
relacionados; referenciado (lido) pela
aplicação.
A principal intenção de um AIE é armazenar
dados referenciados por meio de um ou mais
processos elementares dentro da fronteira
da aplicação. Um AIE deve ser um ALI de
outra aplicação.

24
2.1- Contar Funções de Dados
„ Exemplos de AIE:
„ Dados de referência externos utilizados pela
aplicação;
„ Arquivos de help, desde que mantidos por outra
aplicação;
„ Arquivos de mensagens de erro, desde que
mantidos por outra aplicação.

25
2.1- Contar Funções de Dados
„ Não-Exemplos de AIE:
„ Arquivos de movimento recebidos de outra
aplicação para manter um ALI;
„ Dados mantidos pela aplicação e utilizados por
outra aplicação;
„ Dados formatados e processados para uso de
outras aplicações.

26
Tabela de Complexidade ALI e AIE
1 a 19 itens de 20 a 50 itens 51 ou mais
dados de dados itens de dados
referenciados referenciados referenciados

1 registro SIMPLES SIMPLES MÉDIA


lógico

2 a 5 registros
SIMPLES MÉDIA COMPLEXA
lógicos

6 ou mais
MÉDIA COMPLEXA COMPLEXA
registros
lógicos

27
2.2- Funções de Transação (EE)
„ Entrada Externa - É um processo
elementar, que processa dados ou
informações de controle recebidos de
fora da fronteira da aplicação, cuja
principal intenção é manter um ou mais
ALIs e/ou modificar o comportamento
do sistema.

28
2.2- Funções de Transação (EE)
„ Exemplos de EE:
„ Telas de inclusão, exclusão ou de
alteração
„ Entradas batch que mantém um ALI
„ Importar dados de outras aplicações

29
2.2- Funções de Transação (EE)
„ Tabela de Complexidade (EE)
1 a 4 itens de 5 a 15 itens de 16 ou mais
dados dados itens de dados
referenciados referenciados referenciados

1 arquivo SIMPLES SIMPLES MÉDIA


referênciado

2 arquivos
SIMPLES MÉDIA COMPLEXA
referênciados

3 ou mais
MÉDIA COMPLEXA COMPLEXA
arquivos
referênciados

30
2.2- Funções de Transação (SE)
„ Saída Externa - É um processo elementar,
que envia dados ou informações de controle
para fora da fronteira da aplicação, cuja
principal intenção é apresentar informação
ao usuário por meio de lógica de
processamento (fórmula, cálculo criar dados
derivados) que não seja apenas a
recuperação de dados ou informações de
controle. Pode manter um ou mais ALIs e/ou
alterar o comportamento do sistema.

31
2.2- Funções de Transação (CE)
„ Consulta Externa - É um processo elementar,
que envia dados ou informações de controle
para fora da fronteira da aplicação, cuja
principal intenção é apresentar informação
ao usuário por meio de uma simples
recuperação de dados ou informações de
controle de um ALI ou AIE. Não contém
fórmulas ou cálculos, não mantêm ALIs nem
altera o comportamento do sistema.

32
2.2- Funções de Transação (CE)
„ Tabela de Complexidade (SE ou CE)
1 a 5 itens de 6 a 19 itens de 20 ou mais
dados dados itens de dados
referenciados referenciados referenciados

1 arquivo SIMPLES SIMPLES MÉDIA


referênciado

2 ou 3 arquivos
SIMPLES MÉDIA COMPLEXA
referênciados

4 ou mais
MÉDIA COMPLEXA COMPLEXA
arquivos
referênciados

33
Tabela de Contribuição
Funções de Dados e de Transações
Nível de Complexidade

Tipo de Função SIMPLES MÉDIO COMPLEXO

Arquivo Lógico Interno (ALI) 7 10 15


(Internal Logical Files - ILF)

Arquivo de Interface Externa (AIE) 5 7 10


(External Interface Files - EIF)

Entrada Externa (EE) 3 4 6


(External Inputs - EI)

Saída Externa (SE) 4 5 7


(External Outputs - EO)

Consulta Externa (CE) 3 4 6


(External Inquiries - EQ)

34
Sumário da Lógica de Processamento
Usadas por Funções de Transação
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
Filtros 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 pode pode pode
unicidade do PE)

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
Pode – a transação pode executar este tipo de lógica de processamento, mas não é obrigatório
Não – atransação não pode executar este tipo de lógica de processamento

35
5- Cálculo dos Pontos não Ajustados

36
Fator de Ajuste
O valor do FATOR DE AJUSTE é calculado a partir de 14
características gerais dos sistemas, que permitem uma
avaliação geral da funcionalidade da aplicação. Estas
características são:
1. Comunicação de Dados
2. Processamento Distribuído
3. Performance
4. Utilização do Equipamento
5. Volume de Transações
6. Eficiência do Usuário Final
7. Entrada de dados “on-line”

37
Fator de Ajuste
8. Atualização “on-line”
9. Processamento Complexo
10. Reutilização de Código
11. Facilidade de Implantação
12. Facilidade Operacional
13. Mútiplos Locais
14. Facilidade de Mudanças

38
Fator de Ajuste
„ Fórmula:
Fator de Ajuste = ( NI * 0,01 ) +
0,65
„ Nível de Influência (NI)
0 - Nenhuma influência
Para cada um dos 14 índices 1 - Influência mínima
deve ser analisado o NI, somado 2 - Influência moderada
e então aplicado à fórmula. 3 - Influência média
4 - Influência significativa
5 - Grande influência

39
Cálculo dos Pontos Ajustados

40
Dúvidas e Dicas
„ Tenho várias consultas na tabela de clientes, uma
consulta detalhada retornando quase todos os itens
de dados da tabela e em outra tela tenho uma lista
de clientes mostrando apenas CPF e Nome – Como
contar ?
Neste caso serão contadas duas Consultas Externas
„ Em uma funcionalidade de alteração altero um
campo mas consulto outros n itens. Quantos itens
de dados tenho, um ou n+1 ?
Os itens de dados devem ser somados (n+1)
„ Como pontuar a manutenção de um sistema que só
terá seu padrão visual alterado ?
Neste caso a contagem de ponto de função não será útil.

41
Dúvidas e Dicas
„ Como classificar um arquivo texto que é importado
pelo sistema ?
A importação é uma Entrada Externa pois alimentam ALIs.
„ Mesmo se a aplicação atualizar a data da importação
no arquivo texto ?
Não pode ser contado como ALI pois os itens de dados são
contados dentro das tabelas do banco; não pode ser AIE pois
têm manutenção nos dados, portanto deve ser contado como
EE e para esta função contar também a data como item de
dados.

42
Dúvidas e Dicas
„ Uma gravação em disquete com dados da
base, é uma CE ou SE ?
Se a extração tiver processamento (cálculo de registros) é SE
se for cópia da base é CE.
„ Tenho um relatório que é somente extração da
base, mas sendo que se ultrapassar o limite de 100
linhas o relatório sai em arquivo. Como pontuar ?
Neste caso devemos contar como SE, pois há o cálculo das
linhas e é de conhecimento do usuário que o relatório
ultrapassar o limite (há contagem de linhas) o relatório será
gravado em disco, senão será impresso.

43
Dúvidas e Dicas
„ O meu sistema tem uma tela para atualizar o
endereço do trabalhador e irá utilizar um
método e uma tabela de outro sistema para
atualizar os registros, como deve ser
contado isso ?
De acordo com a descrição acima, o sistema a ser contado
tem um processo elementar (atualizar trabalhador) que
deverá ser contado como uma EE e esta terá um arquivo
referenciado (o ALI trabalhador).

Se A Contagem Foi De Desenvolvimento Não Se


Esqueça De Contar A Migração Dos Dados.

44
Prática – Exemplo e exercícios

45

Você também pode gostar