0% acharam este documento útil (0 voto)
3 visualizações25 páginas

Material 5 - APF

O documento aborda a Engenharia de Software, sua importância e as práticas envolvidas na análise e gestão de riscos, cronogramação e garantia de qualidade. Destaca a Análise de Pontos de Função (APF) como uma métrica para estimar o tamanho do software, focando na especificação de requisitos e na melhoria do gerenciamento de projetos. A APF é aplicada em diferentes tipos de projetos, como desenvolvimento e manutenção, e considera a complexidade das funções para determinar a contagem de pontos.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações25 páginas

Material 5 - APF

O documento aborda a Engenharia de Software, sua importância e as práticas envolvidas na análise e gestão de riscos, cronogramação e garantia de qualidade. Destaca a Análise de Pontos de Função (APF) como uma métrica para estimar o tamanho do software, focando na especificação de requisitos e na melhoria do gerenciamento de projetos. A APF é aplicada em diferentes tipos de projetos, como desenvolvimento e manutenção, e considera a complexidade das funções para determinar a contagem de pontos.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

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

Você também pode gostar