Buscar

605638

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
*
Universidade Estácio de Sá 
Medidas do Esforço no
Desenvolvimento de Software
Prof.: George Hamilton
*
*
*
Pontos de Função
Medem a funcionalidade entregue ao usuário.
Independem de: 
plataforma ou linguagem de programação;
estilo de programação utilizado.
Permitem comparações entre empresas, linguagens, etc.
*
*
*
Pontos de Função
Histórico
Foram propostos por Allan Albrecht em 1979.
A formalização das regras de contagem teve início em 1984, pela IBM.
Em 1986 foi criado o IFPUG:
International Function Points Users Group.
Atualmente, o manual de contagem encontra-se na versão 4.1.1.
*
*
*
Pontos de Função
Objetivos
Mensurar a funcionalidade que o software oferece a seus usuários.
Independentemente da tecnologia utilizada para implementação.
Oferecer uma forma de contagem:
simples o suficiente para minimizar o overhead gerado pela medição; e,
consistente entre diferentes projetos e organizações.
*
*
*
Pontos de Função
A Análise de Pontos de Função (APF) permite:
determinar o tamanho de uma aplicação a partir da funcionalidade nela contida;
mensurar o desenvolvimento de software para analisar qualidade e produtividade;
estimar custo e recursos necessários ao desenvolvimento ou manutenção;
normalizar dados para comparação.
*
*
*
Pontos de Função
Principais vantagens:
Transparência para o usuário final.
Apoio à estimativa de tempo, recursos e custos:
desde o início do ciclo de desenvolvimento mesmo sem ter todas as informações necessárias sobre o sistema.
Melhora na qualidade dos contratos de terceirização.
*
*
*
ETAPAS DO PROCESSO
1. Identificação das funções do sistema 
2. Classificação de cada função quanto à complexidade funcional relativa como: simples, média ou complexa 
3. Cálculo dos pontos de função brutos através da aplicação dos pesos de acordo com uma tabela específica
4. Avaliação de 14 características gerais do sistema
5. Determinação do Fator de Ajuste
6. Cálculo dos pontos de função ajustados 
*
*
*
Contagem de Pontos de Função
Tipos de Pontos de Função: 
Entradas externas:
Processo elementar no qual dados cruzam a fronteira da aplicação de fora para dentro com o objetivo de alterar o comportamento da aplicação ou dados.
Consultas externas:
Processo elementar no qual dados cruzam a fronteira da aplicação de fora para dentro sem envolver cálculos ou alteraçào de dados.
*
*
*
Contagem de Pontos de Função
Tipos de Pontos de Função 
Saídas externas:
Processo elementar no qual dados cruzam a fronteira da aplicação de dentro para fora.
Arquivos lógicos internos:
Grupo de dados logicamente correlatos, identificável pelo usuário, mantido dentro da fronteira da aplicação.
*
*
*
Contagem de Pontos de Função
Tipos de Pontos de Função 
Arquivos de interface externa:
Grupo de dados logicamente correlatos, identificável pelo usuário, mantido por outra aplicação. 
*
*
*
Sistema de Informação
Arquivos
Lógicos
Internos
Consultas
Outro Sistema
Entradas
Saídas
A complexidade de cada elemento é classificada como simples, média, ou complexa com base em tabelas fixas. 
Arquivos Interface Externa 
Contagem de Pontos de Função
*
*
*
Contagem de Pontos de Função
Identificação de funções de transação
Exemplo – em um sistema de biblioteca
Incluir Obra
Alterar dados existente
Consultar lista de títulos
Registrar empréstimo
Emitir relatório de empréstimos por período
...
*
*
*
Contagem de Pontos de Função
Contagem de elementos:
Para cada função de dados:
Contar os Tipos de registros e os Campos de dados.
Para cada função de transação:
Contar os Arquivos referenciados e os Campos de dados.
Classificar cada tipo de função quanto à complexidade: Baixa, Média ou Alta.
*
*
*
Contagem de Pontos de Função
Atribuição de pesos:
Cada tipo de função possui um peso, de acordo com sua complexidade.
O peso corresponde à quantidade de PF não ajustados que a função agrega à aplicação.
Somando-se os pesos de todas as funções, obtém-se o total de PF não ajustados.
*
*
*
Contagem de Pontos de Função
Atribuição de pesos – tabela de referência
*
*
*
PONTOS DE FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
 Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
 Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
entradas de usuário (formulários) que forneçam dados estáticos
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
 Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
saídas de usuário que forneçam informações (cada página de um website)
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
 Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
entrada on-line de formulários que resulte em saída on-line
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
 Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7
10
externas
Contagem-Total
cada arquivo lógico
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
PONTOS POR FUNÇÃO É APLICADO ATRAVÉS DE 03 PASSOS:
1) Completar a seguinte tabela:
 Fator de Ponderação
Parâmetro Contagem Simples Médio Complexo
No. de entradas x 3 4 6
do usuário
No. de saídas x 4 5 7
do usuário
No. de consultas x 3 4 6
do usuário
No. de arquivos x 7 10 15
No. de interfaces x 5 7 10
externas
Contagem-Total
todas as interfaces usadas para transmitir informação para outro sistema
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
CÁLCULO DE PONTOS DE FUNÇÃO
SIMPLES 
MÉDIA
COMPLEXA
SIMPLES
MÉDIA
COMPLEXA
SIMPLES
MÉDIO
COMPLEXO
99
52
12
163
32
30
28
90
91
20
15
126
054
433
ENTRADAS
TOTAL
SAÍDAS
TOTAL
ARQUIVOS
TOTAL
---
33
13
2
48
8
6
4
18
13
2
1
16
--
3
4
6
4
5
7
7
10
15
--
--
---»»
 TOTAL BRUTO DE PONTOS DE FUNÇÃO = 433
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
Contagem de Pontos de Função
 Passos para calcular o fator de ajuste: 
Avaliar o impacto de cada uma das quatorze características atribuindo para cada característica um peso de 0 a 5.
Calcular o nível de influência através da soma dos pesos de cada uma das características.
Calcular o fator de ajuste a partir da equação Fator = (NI * 0,01) + 0,65.
*
*
*
Critério de Avaliação das Características Gerais e seu NI
Cada uma das 14 características gerais deve ser avaliada e a ela atribuído um nível de influência que varia de 0 a 5.
*
*
*
É requerida comunicação de dados?
Existem funções de processamento distribuído?
O desempenho é crítico?
A conversão e a instalação estão incluídas no projeto?
O sistema exige backup e recuperação confiáveis?
São requeridas entrada de dados on-line?
Entradas, saídas, arquivos e consultas são complexos? 
Os arquivos são atualizados on-line? 
O processamento interno é complexo? 
O código é projetado para ser reusával?
As entradas on-line requerem que as transações de entrada sejam construídas com várias telas e operações? 
O sistema funcionará num sistema operacional existente e intensamente utilizado? 
O sistema é projetado para múltiplas instalações em diferentes organizações?
A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário? 
 ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
NÍVEIS DE INFLUÊNCIA 
 FATOR DE AJUSTE
0,65 + (0,01 * NI) = FA
 0,65 + (0,01 * 42) = 1,07
 PONTOS DE FUNÇÃO AJUSTADO
PF * FA = PFajustado
433 * 1,07 = 463
ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
3) Ajustar os Pontos por Função de acordo com a complexidade 
 do sistema, através da seguinte fórmula:
Fi = valores de ajuste da complexidade
 das perguntas 1-14
MÉTRICAS DERIVADAS
ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
PONTUAÇÃO
O tamanho de uma sistema independe do ambiente tecnológico ou metodologias utilizadas no seu desenvolvimento 
Um sistema de 500 PF terá o mesmo tamanho independente do ambiente
Ex: Cliente-servidor, mainframe, orientação a objeto, etc
O esforço para desenvolver um sistema depende da produtividade do ambiente tecnológico selecionado
ANÁLISE DE PONTOS DE FUNÇÃO
*
*
*
Tamanho do sistema: 500 PF
Produtividade 
Ambiente A: 2,0 horas/PF
Ambiente B: 5,0 horas/PF
Tempo de Desenvolvimento
Ambiente A: 1.000 horas/homem
Ambiente B: 2.500 horas/homem
PRODUTIVIDADE - Exemplo
*
*
*
Solicitação de melhoria de um sistema
Cliente requer a mudança em 6 meses
Acredita-se que a modificação pode ser feita com uma equipe de 3 técnicos no prazo solicitado
O gerente de projetos é chamado a opinar ... 
EXEMPLO DE UTILIZAÇÃO DA APF
*
*
*
As implementações solicitadas foram dimensionadas pela APF em 750 PF
Modificações neste sistema registraram no passado produtividade de 25 PF/homem mês
O gerente de projetos pode assumir o compromisso ou negociar:
mais pessoas 		- quantas ?
maior prazo 		- quando ?
menos modificações 	- quanto ?
ANÁLISE DA SITUAÇÃO
*
*
*
Alocar mais 2 técnicos qualificados
750 PF / (6 meses * 25 PF/hm) = 5 homens
Aumentar o prazo em 4 meses
750 PF / (3 homens * 25 PF/hm) = 10 meses
Reduzir o volume de modificações em 40%
3 homens * 6 meses * 25 PF/hm = 450 PF
OPÇÕES PARA O GERENTE
*
*
*
A indústria considera aplicações com mais de 500 Pontos de Função como complexas.
 
A produtividade média da linguagem JAVA fica em torno de 15 a 20 horas/PF 
Considerando a produtividade de 15 horas/PF e um produto a ser desenvolvido em JAVA com 671 PF 
Conclui-se que o desenvolvimento das funcionalidades do produto levariam em média 10.065 horas (671 * 15) para serem implementadas.
Ou seja, seriam necessários 76,3 homem-meses para desenvolver o software considerando um mês com 22 úteis e um dia com 6 horas de produtividade efetiva (10.065 / (22*6)).
 CONSIDERAÇÕES
*
*
*
VANTAGENS:
DESVANTAGENS:
• Independentes da linguagem
• Ideal para aplicações que usam linguagem não procedimental 
• Baseados em dados mais fáceis de serem conhecidos durante a evolução do projeto
• Cálculo baseado em dados subjetivos
• Não é uma medida direta; é apenas um número
MÉTRICAS ORIENTADAS A FUNÇÃO
*
*
*
Coletar dados, calcular e analisar métricas são passos que devem ser implementados para iniciar um programa de métricas
 CONSIDERAÇÕES
*
*
*
Contagem de Pontos de Função
*
*
*
Contagem de Pontos de Função
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais