28/09/2025
APF
Análise de Pontos de Função
UNIP – Universidade Paulista - Campus J. K.
Disciplina: QUALIDADE de Software
Professor: Cícero M. Oliveira
Email: [Link]@[Link]
Curso: Ciência da Computação
Turma: CC78P28
2º semestre – 2025
Engenharia de Software
É uma área do conhecimento da informática voltada para a
especificação, desenvolvimento e 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.
1
28/09/2025
Crise do Software
Década de 60
• Engenharia de software: consequência da crise do software:
- inadequação do software;
- cronograma e custos imprecisos;
- insatisfação dos usuários e clientes;
- comunicação deficiente entre as partes envolvidas;
- dificuldade na manutenção.
Surgiu então a Engenharia de Software, estabelecendo:
- padrões de qualidade;
- ferramentas; e
- procedimentos para tornar o processo de desenvolvimento de
software sistemático e controlado.
Engenharia de Software
Como fazer?
Envolve tarefas do tipo:
- planejamento;
- estimativa do projeto;
- análise de requisitos de software e sistemas;
- Projeto quanto a estrutura de dados, arquitetura do programa e
algoritmo de processamento; e
- codificação, testes e manutenção.
2
28/09/2025
Procedimentos de Engenharia de Software
(vantagens da utilização)
• formam o elo que mantém juntos os métodos e as ferramentas;
• possibilita a evolução do software de computador;
• definem sequência que os métodos serão aplicados, entrega de
produtos (documentos, relatório, formulários, etc.), os controles que
auxiliam e asseguram a qualidade do software;
• delimita o projeto para posterior avaliação de progresso do projeto
pelos gerentes.
Gerenciamento de Projetos
“O tempo é o mais valioso bem disponível a um
engenheiro de software. Se houver tempo suficiente, um
problema pode ser adequadamente analisado, uma
solução pode ser compreensivelmente projetada, o
código-fonte, cuidadosamente implementado e o
programa, minuciosamente testado. Mas parece que
nunca há tempo o bastante (PRESSMAN, 2001).”
3
28/09/2025
Análise e Gestão de Riscos
Compostas por quatro atividades distintas:
- identificação;
- Projeção;
- Avaliação; e
- administração dos riscos;
Identificação de riscos
Consiste em dividir em categorias macro como:
• riscos de projeto: aqueles ligados a problemas com orçamento, cronograma,
de pessoal, de recursos, de clientes e de requisitos e o impacto dos mesmos
no projeto.
• riscos técnicos: ocorrem devido aos problemas que, durante o projeto
acabam ganhando um nível de complexidade maior do que o suposto
anteriormente, dificultando mais sua resolução.
• riscos de negócios: estão relacionados a fatores como falta de mercado para
o produto, marketing ineficiente, mudanças administrativas que podem
ocasionar perda de apoio ao projeto e falta de comprometimento com os
orçamentos estabelecidos e com pessoal.
4
28/09/2025
Projeção de Riscos
Classifica os riscos de duas maneiras:
- a probabilidade de ocorrência; e
- as consequências dos problemas associados ao risco caso se torne
real.
Gerenciamento e Monitoração dos Riscos
Compostas pelo trio: descrição, probabilidade e impacto dos riscos.
- associa a cada risco uma base a partir da qual os passos de
gerenciamento são desenvolvidos.
- tais passos de administração de riscos estão organizados num Plano de
Administração e Monitoramento dos Riscos (PAMR) - usado pelo gerente
de projeto como parte do plano de projeto global.
5
28/09/2025
Monitoração dos Riscos
(rastreamento do projeto com três objetivos)
(1) avaliar se um risco previsto, de fato, ocorre;
(2) garantir que os passos de reversão definidos para o risco estejam
sendo aplicados adequadamente; e
(3) coletar informações para servir de histórico para serem usadas em
análises de risco futuras.
Cronogramação do Projeto
• Cronogramação: consiste em estabelecer metas e prazos, sempre tendo
em vista uma data final previamente decidida por meio de análises da
distribuição dos esforços e recursos utilizados.
- determinação precisa do cronograma de um projeto tem grande
importância, às vezes superando a importância da determinação dos
custos do projeto.
- cronograma com deficiências na elaboração ou que tenha sofrido uma
série de atrasos no cumprimento das metas tem efeitos bastante
negativos sobre o produto, como insatisfação de clientes, possíveis
aumentos de custos, e perda de credibilidade junto ao mercado.
- deve-se ter bem definidas as tarefas críticas, ou seja, tarefas que devem
ser concluídas dentro dos prazos estabelecidos durante a
cronogramação sem sofrer nenhum tipo de atraso.
6
28/09/2025
Garantia de Qualidade de Software (SQA)
É uma atividade aplicada ao longo de todo o processo de engenharia.
A SQA abrange:
- métodos e ferramentas de análise, projeto, codificação e teste;
- revisões técnicas formais que são aplicadas durante cada fase de ES;
- estratégia de teste de múltiplas fases;
- controle da documentação de software e das mudanças feitas nela;
- procedimento para garantir a adequação aos padrões de
desenvolvimento de software; e
- mecanismos de medição e divulgação.
Acompanhando a Performance do Processo
“Não se consegue controlar o que não se consegue
medir.”
Tom DeMarco, Controlling Software Projects, Yourdon Press, 1982.
7
28/09/2025
Acompanhando a Performance do Processo
• Eficiência do Processo - Produtividade
Estamos cumprindo os compromissos atuais e objetivos
planejados?
• Eficácia do Processo – Defeitos, Retrabalho
Quanto esforço adicional está sendo despendido devido a
retrabalho?
Produtividade no Desenvolvimento de Sistemas
Produtividade = Medida do Produto do
Trabalho / Esforço para Produzi-lo
• A medida do produto do trabalho deve ser padronizada e uniforme
para tarefas iguais ou similares.
8
28/09/2025
APF - ANÁLISE DE PONTO POR FUNÇÃO
Desenvolvida em meados da década de 70 pela IBM como uma
alternativa às métricas baseadas em linhas de código.
• Objetivo: estabelecer uma medida de “tamanho” de software
utilizando pontos por função (PF), através da quantificação das
funções implementadas sob o ponto de vista do usuário que solicita
um sistema, adotando um enfoque empresarial ao invés de técnico, o
que torna o método de avaliação independente do hardware e da
tecnologia de desenvolvimento
APF - ANÁLISE DE PONTO POR FUNÇÃO
Princípios básicos dessa métrica:
• foco na fase de especificação de requisitos;
• visa obter estimativas de tempo, custo, esforço e recursos na fase
inicial do projeto ou na manutenção de software;
• os resultados das estimativas a partir da APF são independentes da
tecnologia utilizada para desenvolver um software.
9
28/09/2025
Determinação do Tipo de Contagem
A APF pode ser utilizada para diversos tipos de necessidade por ser
aplicada desde o início até o término do projeto. A utilização da APF
gera estimativas mais precisas, o que acarreta em uma melhoria no
gerenciamento de projetos de desenvolvimento de sistemas. Antes de
iniciar a contagem de pontos por função, é preciso definir o tipo de
contagem, o escopo e a fronteira da aplicação.
Tipo de Contagem
A contagem de pontos por função representa a função para estimar o
projeto, podendo esse projeto ser de:
• Desenvolvimento;
• de manutenção; ou
• uma aplicação já finalizada.
10
28/09/2025
a) Projeto de Desenvolvimento
Tem por objetivo medir as funções oferecidas ao usuário na primeira
instalação do software. Esse tipo de contagem mede as
funcionalidades disponibilizadas por um novo desenvolvimento e pode
incluir a contagem de software destinado à conversão de dados ou
migração de dados.
b) Projeto de Melhoria
Tem por objetivo medir as modificações funcionais efetuadas
em uma aplicação existente. As modificações efetuadas em
um software já existentes podem incluir, alterar ou excluir
uma funcionalidade.
11
28/09/2025
Funções do Tipo “Dado”
Os dados mantidos (atualizados) ou dados referenciados pelos
processos elementares da aplicação refletem as funções de dados.
Essas funções consistem de:
• Arquivos Lógicos Internos (ALIs): estão contidos na própria aplicação
que está sendo contada; e
• Arquivos de Interface Externa (AIEs): são processos contidos em
outras aplicações que interagem com a aplicação que está sendo
contada.
Arquivo Lógico Interno
(internos à aplicação)
Na identificação de um ALI, observa-se as seguinte regras:
• Se o grupo de dados ou informações de controle é lógico e pode ser identificado
pelo usuário;
• Se o grupo de dados é mantido por meio de um processo elementar dentro da
fronteira da aplicação que a ser contada.
A identificação do grau de complexidade dos ALIs é feita através do número de
itens de dados e de registro lógicos.
12
28/09/2025
Arquivo Lógico Interno (cont.)
Como exemplos de ALIs, podem ser observados:
• Dados da aplicação (arquivos mestres como cadastro de clientes ou funcionários);
• Arquivos de dados de segurança da aplicação;
• Arquivos de dados de auditoria;
• Arquivos de mensagem de auxílio;
• Arquivos de mensagens de erro;
• Arquivo de cópia de segurança. Considerado somente se for solicitado pelo usuário para
atender requisitos da aplicação.
• Arquivo que sofra manutenção por mais de uma aplicação.
Arquivo Lógico Interno (cont.)
Não são considerados como ALI:
• Arquivos temporários;
• Arquivos de trabalho;
• Arquivos de classificação;
• Arquivos de cópia de segurança requerido pelo CPD.
• Arquivos introduzidos somente por causa da tecnologia usada. Ex.: arquivos de parâmetro
para um software WFL, JCL, etc.;
• Operações de junção e projeção.
• Arquivos de índices alternativos
13
28/09/2025
Pontuação de dados (internos) por sua
complexidade
Arquivo de Interface Externa
Um AIE nada mais é do que um dado ou um grupo de dados que são
apenas referenciados pela aplicação contada, sendo mantido por uma
outra aplicação.
Após determinar a complexidade de um AIE, devemos determinar a
contribuição que ele vai proporcionar. Na tabela a seguir verifica-se o
número de pontos por função que um arquivo de interface externa
proporciona em função da complexidade.
14
28/09/2025
Pontuação de dados (externos) por sua
complexidade
Funções do Tipo “Transação”
As funções de transação incluem os processos, tratando os dados e
informações de controle que entram pela fronteira da aplicação e em
seguida apresentam a informação desejada ao usuário. Essas funções
também mantem os arquivos lógicos interno do sistema
15
28/09/2025
Entrada Externa
Uma entrada externa (EE) deve ser considerada quando houver um
processo elementar ou informações de controle oriundas de fora da
fronteira da aplicação e a intenção primária mantiver um ou mais
arquivos lógicos internos ou ainda a intenção primária alterar o
comportamento do sistema.
Contagem de Itens de Dados e
Arquivos
A partir do número de itens de dados e arquivos referenciados,
determina-se o grau de complexidade de uma EE. As quantidades de
itens de dados e arquivos referenciados devem ser determinadas de
acordo com as regras de contagem, conforme tabela 5- Complexidade
da Entrada Externa.
16
28/09/2025
Contagem de Itens de Dados e Arquivos
Saída Externa
Uma saída Externa (SE) é um processo elementar que envia dados ou informações de
controle para fora da fronteira da aplicação. Ela deve ser considerada quando existir um
processo elementar enviando dados e informações de controle para fora da fronteira da
aplicação ou quando as informações apresentadas aos usuários seja o objetivo principal do
processo elementar ou quando a lógica do processo elementar contiver ao menos uma
fórmula matemática ou ainda os dados gerados sejam derivados.
O objetivo principal de uma saída externa é enviar dados para fora da fronteira da aplicação,
podendo ainda manter um ou mais Arquivos Lógicos Internos e alterar o comportamento do
sistema.
17
28/09/2025
Saída Externa (cont.)
Umas das opções abaixo devem ocorrer para que um processo
elementar seja contado como uma SE:
• Utilização de fórmula matemática ou cálculo;
• Geração de dados derivados;
• Manutenção de Arquivos Lógicos Internos;
• Alteração do comportamento do sistema.
Contagem de Itens de Dados e Arquivos
Referenciados
Após determinar a complexidade de uma SE, deve-se determinar a
contribuição que ela vai proporcionar (VASQUEZ et al, 2003). Na tabela 8
verifica-se o número de pontos por função que uma SE proporciona em
função da complexidade.
18
28/09/2025
Consulta Externa
• Uma Consulta Externa (CE) é um processo elementar que envia dados ou
informações de controle para fora da fronteira da aplicação a partir de
dados recuperados no armazenamento.
• Ela deve ser considerada quando a lógica de processamento não possuir
fórmula matemática, cálculo, nem criar dado derivado e quando não
houver alteração do comportamento do sistema.
• O objetivo principal da consulta externa é apresentar informações para o
usuário sem a ocorrência da atualização de arquivos lógicos internos,
cálculos ou procedimentos para obter dados derivados, nem mudança
de comportamento do sistema.
Consulta Externa (cont.)
Na tabela abaixo verifica-se o número de pontos por função
que uma CE proporciona em função da complexidade.
19
28/09/2025
Pontos Por Função Não-Ajustados
Com base na classificação (simples, média ou complexa), dada às funções do tipo
dado e do tipo transação, são calculadas as contribuições. A somatória das
contribuições de todas as funções do aplicativo é o número encontrado dos Pontos
por Função Não-Ajustados, conforme tabela a seguir:
Fator de Ajuste
O Fator de Ajuste (VAF – Value Adjustment Factor) é baseado nas
quatorze características gerais do sistema - CGS, descritas no subitem
4.7.1. As características gerais do sistema refletem as funções que
afetam a aplicação de uma maneira geral. Cada CGS recebe um valor
de influência de 0 a 5 mostrados na tabela abaixo:
20
28/09/2025
Contagem de Projetos de
Desenvolvimento
Um projeto de desenvolvimento de sistema pode envolver três tipos
de funcionalidades na contagem de pontos por função, são elas:
• funcionalidade da aplicação: existente nos requisitos do projeto,
solicitado pelo usuário ao desenvolvedor do sistema, deve ser obtida
a partir da aplicação instalada;
• funcionalidade de conversão: também existente nos requisitos, é
disponibilizada no momento da instalação da aplicação; e
• fator de ajuste da aplicação: é obtido a partir das características
gerais do sistema.
Fórmula de contagem – Processo de
Desenvolvimento
Dado na equação:
DFP = (UFP + CFP) * VAF (2)
Onde:
· DFP (Development Function Points) – Pontos de Função do Projeto de
Desenvolvimento
· UFP (Unadjusted Function Points) – Pontos de Função Não-Ajustados
· CFP (Conversion Function Points) – Contagem não ajustada das funções
acrescentadas pelo processo de conversão.
· VAF (Value Adjustment Factor) – Fator de Ajuste.
21
28/09/2025
Contagem de Projetos de Melhoria
A contagem de pontos por função de um projeto de melhoria também
envolve os três tipos de funcionalidades:
• funcionalidade da aplicação: composta de pontos por função
identificados a partir da funcionalidade incluída, a partir da
funcionalidade alterada e da funcionalidade excluída pelo projeto de
melhoria;
• funcionalidade de conversão: composta por programas de conversão
de dados, migração de arquivos, geração de relatórios específicos da
conversão ou migração de dados; e
• o fator de ajuste da aplicação: obtido a partir das características
gerais do sistema, considerados antes e depois do desenvolvimento.
Equação na contagem de um projeto de
melhoria
EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL * VAFB)
Onde:
· ADD (Added) – Contagem não ajustada das funções acrescentadas à aplicação durante um
projeto.
· CHGA (Changed After) – Contagem não ajustada das funções modificadas, após o projeto com
base na complexidade funcional.
· CFP (Conversion Function Points) – Contagem não ajustada das funções acrescentadas pelo
processo de conversão.
· VAFA (VAF After) – Fator de Ajuste após o projeto de melhoria.
· DEL (Deleted) – Contagem não ajustada das funções excluídas pelo projeto.
· VAFB (VAF Before) – Fator de Ajuste antes do projeto de melhoria.
22
28/09/2025
Contagem de Aplicações
Para a contagem de Pontos por Função de uma aplicação, primeiro é
necessário estabelecer a fórmula que será utilizada. Existem duas
fórmulas para esse tipo de contagem: a fórmula para estabelecer o
tamanho inicial da aplicação e a fórmula para atualizar a contagem
após um projeto de melhoria.
Fórmula para Estabelecimento do Tamanho Inicial
Para estabelecer o tamanho Inicial do projeto, apenas os requisitos são
levados em consideração, à funcionalidade de conversão não está incluída na
fórmula da equação:
AFP = ADD * VAF
Onde:
· AFP (Application Function Points) – Pontos de Função da Aplicação.
· ADD (Added) – Contagem não ajustada das funções acrescentadas à
aplicação durante um projeto.
· VAF (Value Adjustment Factor) – Fator de Ajuste.
23
28/09/2025
Fórmula para atualizar a contagem após a melhoria
A funcionalidade inicial de uma aplicação pode ser alterada após um
projeto de melhoria de software. Essa alteração pode incluir uma nova
funcionalidade, implicando em um aumento do tamanho da aplicação
e também excluir uma funcionalidade antiga existente, acarretando em
uma redução do tamanho da aplicação. Na contagem de uma
aplicação, a funcionalidade de conversão, assim como na fórmula para
o estabelecimento do tamanho, não é considerada.
Fórmula para atualizar a contagem após a melhoria
(cont.)
A Fórmula para calcular o tamanho da aplicação após um projeto de melhoria é
dada pela equação:
AFP = [(UFPB + ADD + CHGA) – (CHGB + DEL)] * VAFA
Onde:
· UFPB – Pontos de Função Não-Ajustados, antes do projeto de melhoria.
· ADD (Added) – Contagem não ajustada das funções acrescentadas à aplicação
durante o projeto.
· CHGA (Changed After) – Contagem não ajustada das funções modificadas.
· CHGB (Changes Before) – Contagem original não ajustada das funções
modificadas.
· DEL (Deleted) – Contagem não ajustada das funções excluídas pelo projeto.
· VAFA (VAF After) – Fator de Ajuste após o projeto de melhoria.
24
28/09/2025
Conclusão
Métricas são utilizadas pelas empresas para dimensionar tamanho do
projeto, visando obter custo do projeto e o prazo de desenvolvimento
do mesmo. As métricas são utilizadas também como indicadores de
qualidade de software, permitindo um melhor gerenciamento em todo
ciclo do projeto.
APF é uma metodologia extremamente rica, que requer profissionais
qualificados e certificados para sua utilização.
No caso da APF os pontos fortes da metodologia sobrepõem os pontos
fracos, ou seja, mesmo com o esforço exigido para a contagem e a
utilização da Análise de Pontos por Função em cada fase, ainda assim,
sua precisão nas estimativas são consideradas muito altas,
aumentando a qualidade do software e a satisfação de clientes de
maneira geral.
25