SlideShare une entreprise Scribd logo
1  sur  62
C A R L O S A U G U S T O D E S O U Z A L I M A
J O S É C O R R Ê A V I A N A
Análise por Pontos de Função
APF
OBJETIVOS
 Medir funcionalidade do sistema de acordo com a
perspectiva do usuário;
 Medir o desenvolvimento e manutenção do software
independente da tecnologia utilizada;
 Comparar a produtividade entre diferentes ambientes de
desenvolvimento (P=PF/Esforço);
 Prover uma forma para estimativa de software;
 Fornecer um padrão para medição de software;
BENEFÍCIOS
 Auxilia na análise Make or buy;
 Apóia no gerenciamento do projeto de escopo
(aumento ou diminuição do escopo);
 Completa o gerenciamento de requisitos (torna-se
mais sólido e completo);
 Meio para fundamentar a negociação de contratos.
PROCEDIMENTO PARA CONTAGEM
ETAPA 1: DETERMINAR O TIPO DE CONTAGEM
Existem três tipos de contagem:
 Contagem de um projeto de desenvolvimento: usado para a
primeira instalação do software, um novo software;
 Contagem de um projeto de melhoria: contagem para
manutenção, exclusão, alteração ou inclusão de
funcionalidades (CRUD);
 Contagem de uma aplicação (ou baseline): mede a
funcionalidade de uma aplicação já instalada, fornecendo uma
medida atual da funcionalidade obtida pelo usuário da
aplicação.
ETAPA 2: IDENTIFICAR O ESCOPO DA CONTAGEM E A
FRONTEIRA DA APLICAÇÃO
 Escopo da Contagem
 Define a funcionalidade que será incluída em uma particular
contagem de pontos de função;
 Define quais funções serão incluídas na contagem, podendo
abranger:
 Todas as funcionalidades disponíveis;
 Apenas as funcionalidades efetivamente utilizadas pelo usuário;
 Algumas funcionalidades específicas;
 Se abrangerá um ou mais sistemas ou apenas parte de um sistema.
ETAPA 2: IDENTIFICAR O ESCOPO DA CONTAGEM E A
FRONTEIRA DA APLICAÇÃO
 Fronteira da Aplicação
 Define o que é externo à aplicação;
 Interface conceitual entre a aplicação “interna” e o mundo
“externo” do usuário;
 Dependente da visão de negócio do usuário;
 Independente de considerações tecnológicas.
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Arquivo Lógico Interno (ALI):
 Grupo de dados ou informações de controle;
 Identificáveis pelo usuário;
 Mantidos dentro da fronteira de aplicação;
 A principal intenção de um ALI é armazenar dados mantidos
por meio de um ou mais processos elementares da aplicação.
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Arquivo de Interface Externa (AIE):
 Grupo de dados ou informações de controle;
 Identificáveis pelo usuário;
 Mantido dentro da fronteira de outra aplicação (referenciado 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.
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
Passo Ação Como Fazer
1 Identificar os ALI’s Aplicar as regras de identificação de
ALI’s
2 Identificar os AIE’s Aplicar as regras de identificação de
AIE’s
3 Determinar a complexidade
dos ALI’s e AIE’s e suas
contribuições
Seguir os procedimentos para calcular
a complexidade e a contribuição para
contagem não ajustada de pontos de
função
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Tabela de complexidade funcional dos ALI e AIE:
 Um ALI contendo 45 tipos de dados e 1 tipo de registro é
de complexidade baixa e outro AIE contendo 55 tipos de
dados e 1 tipo de registro é de complexidade média.
####### < 20 20 – 50 > 50
1 Baixa Baixa Média
2 - 5 Baixa Média Alta
> 5 Média Alta Alta
Tipos de dados
TiposdeRegistros
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Cada ALI ou AIE deve ser classificado de acordo com
sua complexidade, com base em:
 Número de Tipos de Dados (TD);
 Número de Tipos de Registros (TR);
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Determinação da Contribuição dos PF não ajustados:
Tipo de Função Baixa Média Alta
Arquivo Lógico Interno (ALI) 7 PF 10 PF 15 PF
Arquivo de Interface Externa (AIE) 5 PF 7 PF 10 PF
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Tipos de Dados: são campos reconhecidos pelo usuário como únicos e
não repetidos, incluindo atributos de chave estrangeira, mantidos no
arquivo.
 Tipos de Registros: são subgrupos de dados contidos dentro de um ALI
ou AIE. Subgrupos são tipicamente representados em um DER como
entidades de Subtipos. São classificados em:
 Opcionais: usuário tem a opção de não informar no processo
elementar que cria ou adiciona dados ao arquivo;
 Obrigatórios: usuário requer que sejam sempre utilizados para criar
ou adicionar dados ao arquivo
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
 Exemplo entidade de Subtipos:
 Designam entidades cujas ocorrências herdam atributos de
uma super-entidade e que possuem atributos específicos às
ocorrências dessa mesma sub-entidade;
 Endereço Comercial e Endereço Residencial são Subtipos
de Endereço (que é um Supertipo).
Endereço
Endereço
Comercial
Endereço
Residencial
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
EXEMPLO
 Exemplo:
 CD de Música;
 CD: Cantor, Grupo, Gravadora, Nome, Data e Músicas;
 Música: Nome da Música, Compositor e Tempo de Duração;
 ALI: 1 (O CD de música);
 Tipo de Dado (TD): 9 (Campos únicos) ;
 Tipo de Registro (TR): 2 (Grupo CD e Grupo Música).
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
EXEMPLO
 Exemplo:
 Pessoa (AIE): matrícula, nome, senha criptografada e tipo
(gerente ou trabalhador);
 Apontamento (ALI): matrícula, data, horário de entrada,
horário de saída;
 Justificativa (ALI): matrícula, data, texto.
Descrição Tipo TD TR Complexidade
Pessoa AIE 4 1 BAIXA
Apontamento ALI 4 1 BAIXA
Justificativa ALI 3 1 BAIXA
Controle de Ponto – Análise de Pontos de Função – pág. 96
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
EXEMPLO
 Porque complexidade baixa? Lembre-se da tabela de
complexidade:
###### < 20 20 – 50 > 50
1 Baixa Baixa Média
2 - 5 Baixa Média Alta
> 5 Média Alta Alta
Tipos de dados
TiposdeRegistros
Descrição Tipo TD TR Complexidade
Pessoa AIE 4 1 BAIXA
Apontamento ALI 4 1 BAIXA
Justificativa ALI 3 1 BAIXA
ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS
EXEMPLO
Tipo de Função Complexidade
Funcional
Totais por Tipo
de
Complexidade
Totais por Tipo
de Função
ALI 2 (BAIXA) x 7
0 (MÉDIA) x 10
0 (ALTA) x 15
= 14
= 0
= 0
14
AIE 1 (BAIXA) x 5
0 (MÉDIA) x 7
0 (ALTA) x 10
= 5
= 0
= 0
5
Tipo de Função Baixa Média Alta
Arquivo Lógico Interno (ALI) 7 PF 10 PF 15 PF
Arquivo de Interface Externa (AIE) 5 PF 7 PF 10 PF
Utilização da Tabela de Contribuição para chegar ao total de PF não ajustados
CONTAGEM DAS FUNÇÕES DE DADOS NÃO AJUSTADOS
EXEMPLO
• Internal Logical File (ILF): Arquivo Lógico Interno (ALI);
•External Interface File (EIF): Arquivo de Interface Externa (AIE).
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Representam a funcionalidade fornecida ao usuário
para atender às suas necessidades de
processamentos de dados pela aplicação.
 São classificadas em:
 Entradas Externas (EE);
 Saídas Externas (SE);
 Consultas Externas (CE).
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Entradas Externas (EE):
 Processo elementar;
 Processa dados ou informações de controle recebidos de fora
da fronteira de aplicação;
 Principal intenção é manter (incluir, alterar ou excluir dados)
um ou mais ALI e/ou manter o comportamento do sistema.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Entradas Externas (EE) – Exemplos:
 Transações que recebem dados externos utilizados na
manutenção de ALI’s;
 Janela que permite adicionar, excluir ou alterar registros
arquivos contribui com 3 entradas externas.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Exemplo – Entrada Externa (EE):
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Saída Externa (SE):
 Processo elementar;
 Envia dados ou informações de controle para fora da fronteira de
aplicação;
 Principal intenção é apresentar informação para o usuário através de
lógica de processamento, ou seja, conter ao menos uma fórmula
matemática ou cálculo;
 Criar dados derivados;
 Manter um ou mais ALI’s e/ou alterar o comportamento do sistema.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Saída Exerna (SE) – Exemplos:
 Relatórios com totalização de dados;
 Consultas com cálculos ou apresentação de dados derivados;
 Informações em formato gráfico;
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Exempo – Saída Externa (SE):
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Consulta Externa (CE):
 Processo Elementar;
 Envia dados ou informações de controle para fora da fronteira da aplicação;
 Apresentar informação ao usuário por meio de uma simples recuperação de
dados ou informações de controle de ALI’s ou AIE’s;
 A lógica de processamento não contém fórmulas matemáticas ou cálculos;
 Não cria dados derivados;
 Não altera o comportamento do sistema.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Consulta Externa (CE) – Exemplos:
 Informações em formato gráfico;
 Menus gerados dinamicamente com base em configuração da
aplicação.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Exemplo – Consulta Externa (CE):
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
TERMOS UTILIZADOS
 Processo Elementar: menor quantidade de
unidade significativa para o usuário final;
 Inclusão, alteração, consulta e exclusão são os mais aplicados;
 Regras de negócio podem alterar um registro;
 “Alterar dados” por exemplo; pode contemplar os vários
processos de negócios existentes.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
TERMOS UTILIZADOS
 Informação de Controle: dados que influenciam um
processo elementar da aplicação que está sendo
controlada;
 Especificam o quê, quando ou como os dados devem ser
processados; são parâmetros;
 Exemplos:
 O quê: determinado campo especifica que o cálculo da parcela deve
contemplar somente o valor vencido ou o valor corrigido com juros e
multa;
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
TERMOS UTILIZADOS
 Quando: Uma enquete pode ter um fechamento automático
(votações finalizadas) definido pela data de seu encerramento;
 Como: durante a compra de uma passagem aérea, o cliente informa
em um campo como deseja receber a confirmação da compra: por e-
mail, torpedo SMS ou fax.
 Em uma loja de comércio eletrônico, a operação de
compra possui uma informação de controle – forma de
pagamento – que determina como o processo ocorrerá:
emissão de boleto, débito na conta ou cartão de crédito;
 Cada forma de pagamento possui um tratamento
diferenciado.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
TERMOS UTILIZADOS
 Dado Derivado: Informação criada a partir de dados
existentes, gerado através de ALI ou AIE;
 Dado apresentado pelo sistema, porém não está
armazenado em um arquivo lógico;
 Criado através de uma lógica de processamento, como
cálculo por exemplo;
 Total de faturamento, tempo médio entre falhas,
participação em % de um produto em uma venda.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
TERMOS UTILIZADOS
 Lógica de Processamento:
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
TERMOS UTILIZADOS
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Determinação da Complexidade:
 Cada EE, SE ou CE é classificada em relação à sua
Complexidade baseado no número de Arquivos Referenciados
(AR) e no número e Tipos de Dados (TD);
 Determinadas as quantidades de AR’s e TD’s sua complexidade
pode ser medida pelas seguintes tabelas:
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
< 5 5 – 15 > 15
< 2 BAIXA BAIXA ALTA
2 BAIXA MÉDIA ALTA
> 2 MÉDIA ALTA ALTA
Arquivos
Referenciados
(AR’s)
Tipos de Dados (TD’s)
< 5 5 – 15 > 15
< 2 BAIXA BAIXA ALTA
2 BAIXA MÉDIA ALTA
> 2 MÉDIA ALTA ALTA
Arquivos
Referenciados
(AR’s)
Tipos de Dados (TD’s)
Tabela de complexidade para entradas externas (EE’s)
Tabela de complexidade para saídas externas (SE’s) e consultas extenas (CE’s)
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Arquivo Referenciado (AR)
 É um ALI lido ou mantido pela função do tipo de transação;
OU
 AIE lido pela função do tipo de transação.
• Tipo de Dado (TD): Campo único, reconhecido pelo
usuário, não repetido.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Após a determinação da complexidade, se calcula a
contribuição através da seguinte tabela:
TIPO DE FUNÇÃO BAIXA MÉDIA ALTA
Entrada Externa (EE) 3 PF 4 PF 6 PF
Saída Externa (SE) 4 PF 5 PF 7 PF
Consulta Externa (CE) 3 PF 4 PF 6 PF
Tabela de contribuição dos pontos de função não ajustados das funções do tipo de transação
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Exemplo de contribuição de Funções do Tipo de
Transação:
Tipo de
Função
Complexidade
Funcional
Totais por Tipo
de
Complexidade
Totais por Tipo
de Função
EE
2 (BAIXA) x 3
2 (MÉDIA) x 4
0 (ALTA) x 6
= 6
= 8
= 0
14
SE
1 (BAIXA) x 4
2 (MÉDIA) x 5
0 (ALTA) x 7
= 4
= 10
= 0
14
CE
1 (BAIXA) x 3
0 (MÉDIA) x 4
0 (ALTA) x 6
= 3
= 0
= 0
3
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
 Observa-se que as EE contribuem com 14 pontos de
função não ajustados para a aplicação, as SE com 14
pontos de função não ajustados e as CE com 3 pontos
de função não ajustados.
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
EXEMPLO
ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS
VISÃO GERAL
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
 O Valor de Fator de Ajuste é baseado em 14
características gerais de sistema (CGS):
1. Comunicação de Dados;
2. Processamento de Dados Distribuído (Funções
Distribuídas);
3. Performance;
4. Configuração do equipamento;
5. Volume de Transações;
6. Entrada de Dados On-Line;
7. Interface com o usuário;
8. Atualização On-Line;
9. Processamento Complexo;
10. Reusabilidade;
11. Facilidade de Implantação;
12. Facilidade Operacional;
13. Múltiplos Locais;
14. Facilidade de mudanças.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
 Cada característica possui um nível de influência
sobre a aplicação que pode variar de um intervalo de
0 a 5:
 0. Nenhuma influência;
 1. Influência Mínima;
 2. Influência Moderada;
 3. Influência Média;
 4. Influência Significativa;
 5. Grande Influência.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
 O Valor Fator de Ajuste (VFA) é calculado pela
fórmula:
VFA = (TDI x 0,01) + 0,65
 TDI = somatório dos níveis de influência das
características gerais
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
 Exemplo: Em um sistema apurou-se que o nível de
influência de cada uma das características gerais é o
seguinte:
CGS Peso
Comunicação de Dados 5
Processamento
Distribuído
2
Performance 2
Configuração Altamente
Utilizada
2
Volume de Transações 2
Entrada de Dados Online 5
Eficiência do Usuário
Final
2
CGS Peso
Atualização Online 5
Complexidade de
Processamento
2
Reusabilidade 0
Facilidade de
Instalação
1
Facilidade de
Operação
2
Múltiplos Locais 2
Facilidade de
Mudanças
2
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
 Logo, o nível de influência será: TDI = 34.
 E o fator de ajuste: VAF = (34 x 0,01) + 0,65 = 0,99.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
 Fórmula para contagem inicial da aplicação:
AFP = ADD x VAF
 AFP: Valor dos pontos de função ajustados;
 ADD: Valor total dos Pontos de Função não ajustados;
 VAF: Valor do fator de ajuste da aplicação.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Calcule os pontos de função para um sistema que mantém
um Cadastro de Clientes onde é possível tirar uma
listagem por ordem alfabética e exportar o cadastro para
outro sistema através de um arquivo texto.
 Contagem
 ALI = 01(Arquivo de Clientes)
 AIE = 0
 EE = 01 (Processo de inclusão)
 SE = 01 (Listagem por ordem alfabética)
 CE = 01 (Exportação de Arquivo Texto)
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Nesse exemplo considera-se que todos os tipos de
função tem complexidade BAIXA;
ADD = ALI x 7 + AIE x 5 + EE x 3 + SE x 4 + CE x 3
= 1 x 7 + 0 x 5 + 1 x 3 + 1 x 4 + 1 x 3
= 17 (Pontos de função não ajustados)
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Contado-se os fatores de ajuste segundo os níveis
de influência temos, considerando-se TDI
(somatório) = 45, temos:
VAF = 0,65 + (0,01*45 ) = 1,1 (Fator de Ajuste)
AFP = VAF x ADD = 1,1 x 17 = 18,7
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Estimando custo, tempo e prazo:
 Produtividade no desenvolvimento = Horas por PF
 Esforço de desenvolvimento = Produtividade(H/PF) *
Tamanho(PF)
 Custo de software = Tamanho (PF) * Custo(R$/PF)
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 1. Considerando que uma produtividade média de 10 hrs
/ PF;
 2. Considerando que a média de jornada de trabalho é de
6 horas;
 Possuem 4 pessoas alocadas ao desenvolvimento da
aplicação;
 3. Considerando que o valor de uma hora de trabalho é
de R$ 25,00.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Concluímos que :
 Esforço = 10hs / PF = 10 x 18,7 = 187 horas
 Prazo = 187 h / ( 4 x 6 ) = 7,8 dias
 Custo = 187 h x R$ 25,00 = R$ 4.675,00
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Algumas aplicações da APF:
 Produtividade no desenvolvimento: Horas por PF
 Esforço de desenvolvimento: Produtividade (H/PF) * Tamanho
(PF)
 Custo de software: Tamanho (PF) * Custo (R$/PF)
 Taxa de produção de software: PF/Mês; PF/Ano
 Taxa de manutenção de software: PF manutenção / PF aplicativo
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Influências:
 Linguagem de codificação;
 Tamanho do sotware;
 Exeperiência da equipe;
 Métodos estruturados;
 Ambiente de desenvolvimento;
 Qualidade de expansão/manutenção;
 Reutilização de código;
 Métodos de remoção de erros;
 Organização da equipe.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Vantagens:
 Uma ferramenta para determinar o tamanho de um pacote de aplicação comprado contando
todas as funções incluídas no pacote;
 Uma ferramenta para ajudar os usuários a determinar o benefício de um pacote de aplicação
para a sua organização contando funções que especificamente atendam seus requisitos;
 Uma ferramenta para medir as unidades de um produto de software para apoiar a análise de
qualidade e produtividade;
 Um veículo para calcular custos e recursos requeridos para desenvolvimento e manutenção de
software;
 Um fator de normalização para comparação de softwares.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 Limitações e/ou desvantagens:
 Para ter uma boa utilização é necessária uma base
histórica;
 É necessário ter uma boa visão (profundidade do sistema
para poder estimar com mais segurança);
 Utilização de pesos para definir a classificação das
funções.
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
 International Function Point Users Group:
http://www.ifpug.org/
 IFPUG -Function Point Counting Practices Manual
 BFPUG Brazilian Function Point Users Group:
http://www.bfpug.com.br/
 “Análise de Pontos de Função – Medição, Estimativas e
Gerenciamento de Projetos de Software”, Carlos Eduardo
Vazquez
 http://www.analisetotal.hpg.ig.com.br/Material/APFTexto.pdf
 www.cin.ufpe.br/~if720/slides/Pontos-de-funcao.ppt
ETAPA 5: DETERMINAR O FATOR DE AJUSTE
EXEMPLO
OBRIGADO!
 Carlos Augusto de Sousa Lima:
 carloslima_2008@hotmail.com
 José Corrêa Viana
 jcorreavian@hotmail.com

Contenu connexe

Tendances

X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Sérgio Souza Costa
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de SoftwareCapgemini
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Segurança em sistemas de informação
Segurança em sistemas de informaçãoSegurança em sistemas de informação
Segurança em sistemas de informaçãoClausia Antoneli
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
Introdução à Informática - Módulo 2 - Conceitos Básicos
Introdução à Informática - Módulo 2 - Conceitos BásicosIntrodução à Informática - Módulo 2 - Conceitos Básicos
Introdução à Informática - Módulo 2 - Conceitos BásicosMinistério Público da Paraíba
 
O que é Interação Humano-Computador?
O que é Interação Humano-Computador?O que é Interação Humano-Computador?
O que é Interação Humano-Computador?Sidney Roberto
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 

Tendances (20)

Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Segurança em sistemas de informação
Segurança em sistemas de informaçãoSegurança em sistemas de informação
Segurança em sistemas de informação
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Uml Diagramas Estruturais
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturais
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Introdução à Informática - Módulo 2 - Conceitos Básicos
Introdução à Informática - Módulo 2 - Conceitos BásicosIntrodução à Informática - Módulo 2 - Conceitos Básicos
Introdução à Informática - Módulo 2 - Conceitos Básicos
 
Ciclo desenvolvimento de sistemas
Ciclo desenvolvimento de sistemasCiclo desenvolvimento de sistemas
Ciclo desenvolvimento de sistemas
 
O que é Interação Humano-Computador?
O que é Interação Humano-Computador?O que é Interação Humano-Computador?
O que é Interação Humano-Computador?
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 

En vedette

Análise de Pontos de Função
Análise de Pontos de FunçãoAnálise de Pontos de Função
Análise de Pontos de FunçãoCristhiano Garcia
 
Guia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de FunçãoGuia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de FunçãoFernando Palma
 
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...Leonardo Molinari
 
Comportamento de compra do consumidor fatores psicológicos
Comportamento de compra do consumidor fatores psicológicosComportamento de compra do consumidor fatores psicológicos
Comportamento de compra do consumidor fatores psicológicosodlachris
 
Passo a passo para baixar slides
Passo a passo para baixar slidesPasso a passo para baixar slides
Passo a passo para baixar slidesDênia Cavalcante
 

En vedette (9)

Análise de Pontos de Função
Análise de Pontos de FunçãoAnálise de Pontos de Função
Análise de Pontos de Função
 
Guia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de FunçãoGuia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de Função
 
Engenharia de Software - Pontos de função
Engenharia de Software - Pontos de funçãoEngenharia de Software - Pontos de função
Engenharia de Software - Pontos de função
 
Aula 01
Aula 01Aula 01
Aula 01
 
A P F Radial
A P F  RadialA P F  Radial
A P F Radial
 
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
 
Comportamento de compra do consumidor fatores psicológicos
Comportamento de compra do consumidor fatores psicológicosComportamento de compra do consumidor fatores psicológicos
Comportamento de compra do consumidor fatores psicológicos
 
Estilos Gestao Conflitos
Estilos Gestao ConflitosEstilos Gestao Conflitos
Estilos Gestao Conflitos
 
Passo a passo para baixar slides
Passo a passo para baixar slidesPasso a passo para baixar slides
Passo a passo para baixar slides
 

Similaire à Análise por Pontos de Função

Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforçoelliando dias
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturadaWagner Bonfim
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01gtiprotec
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masieroMaitsudá Matos
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalAlexandre Duarte
 
Análise essencial
Análise essencialAnálise essencial
Análise essencialTiago Serra
 
Estrutura de processos apresentação
Estrutura de processos apresentaçãoEstrutura de processos apresentação
Estrutura de processos apresentaçãoRafael Dos Santos
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2Matheus Brito
 
RSI - Aula 2 - Fundamentos de sistemas de informacao.pptx
RSI - Aula 2 - Fundamentos de sistemas de informacao.pptxRSI - Aula 2 - Fundamentos de sistemas de informacao.pptx
RSI - Aula 2 - Fundamentos de sistemas de informacao.pptxAdrianoC8
 
Katálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IVKatálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IVKatálysis Científica
 
Katálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IVKatálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IVKatálysis Científica
 
Analise essencial
Analise essencialAnalise essencial
Analise essencialTiagoSerra
 

Similaire à Análise por Pontos de Função (20)

Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforço
 
Apf
ApfApf
Apf
 
Apf
ApfApf
Apf
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturada
 
Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01Documento de requisitos_-_especificacoes 01
Documento de requisitos_-_especificacoes 01
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Aula3
Aula3Aula3
Aula3
 
Sobre Erp (Basico)
Sobre Erp (Basico)Sobre Erp (Basico)
Sobre Erp (Basico)
 
Visão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema OperacionalVisão Geral: Estruturas do Sistema Operacional
Visão Geral: Estruturas do Sistema Operacional
 
Análise essencial
Análise essencialAnálise essencial
Análise essencial
 
Apresentação DAMARECE
Apresentação DAMARECEApresentação DAMARECE
Apresentação DAMARECE
 
Fundamentos APF
Fundamentos APFFundamentos APF
Fundamentos APF
 
Estrutura de processos apresentação
Estrutura de processos apresentaçãoEstrutura de processos apresentação
Estrutura de processos apresentação
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Sistemas Operacionais parte 2
Sistemas Operacionais  parte 2Sistemas Operacionais  parte 2
Sistemas Operacionais parte 2
 
RSI - Aula 2 - Fundamentos de sistemas de informacao.pptx
RSI - Aula 2 - Fundamentos de sistemas de informacao.pptxRSI - Aula 2 - Fundamentos de sistemas de informacao.pptx
RSI - Aula 2 - Fundamentos de sistemas de informacao.pptx
 
Katálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IVKatálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IV
 
Katálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IVKatálysis - Webshow - Automação Laboratorial IV
Katálysis - Webshow - Automação Laboratorial IV
 
Analise essencial
Analise essencialAnalise essencial
Analise essencial
 

Análise por Pontos de Função

  • 1. C A R L O S A U G U S T O D E S O U Z A L I M A J O S É C O R R Ê A V I A N A Análise por Pontos de Função APF
  • 2. OBJETIVOS  Medir funcionalidade do sistema de acordo com a perspectiva do usuário;  Medir o desenvolvimento e manutenção do software independente da tecnologia utilizada;  Comparar a produtividade entre diferentes ambientes de desenvolvimento (P=PF/Esforço);  Prover uma forma para estimativa de software;  Fornecer um padrão para medição de software;
  • 3. BENEFÍCIOS  Auxilia na análise Make or buy;  Apóia no gerenciamento do projeto de escopo (aumento ou diminuição do escopo);  Completa o gerenciamento de requisitos (torna-se mais sólido e completo);  Meio para fundamentar a negociação de contratos.
  • 5. ETAPA 1: DETERMINAR O TIPO DE CONTAGEM Existem três tipos de contagem:  Contagem de um projeto de desenvolvimento: usado para a primeira instalação do software, um novo software;  Contagem de um projeto de melhoria: contagem para manutenção, exclusão, alteração ou inclusão de funcionalidades (CRUD);  Contagem de uma aplicação (ou baseline): mede a funcionalidade de uma aplicação já instalada, fornecendo uma medida atual da funcionalidade obtida pelo usuário da aplicação.
  • 6. ETAPA 2: IDENTIFICAR O ESCOPO DA CONTAGEM E A FRONTEIRA DA APLICAÇÃO  Escopo da Contagem  Define a funcionalidade que será incluída em uma particular contagem de pontos de função;  Define quais funções serão incluídas na contagem, podendo abranger:  Todas as funcionalidades disponíveis;  Apenas as funcionalidades efetivamente utilizadas pelo usuário;  Algumas funcionalidades específicas;  Se abrangerá um ou mais sistemas ou apenas parte de um sistema.
  • 7. ETAPA 2: IDENTIFICAR O ESCOPO DA CONTAGEM E A FRONTEIRA DA APLICAÇÃO  Fronteira da Aplicação  Define o que é externo à aplicação;  Interface conceitual entre a aplicação “interna” e o mundo “externo” do usuário;  Dependente da visão de negócio do usuário;  Independente de considerações tecnológicas.
  • 8. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Arquivo Lógico Interno (ALI):  Grupo de dados ou informações de controle;  Identificáveis pelo usuário;  Mantidos dentro da fronteira de aplicação;  A principal intenção de um ALI é armazenar dados mantidos por meio de um ou mais processos elementares da aplicação.
  • 9. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Arquivo de Interface Externa (AIE):  Grupo de dados ou informações de controle;  Identificáveis pelo usuário;  Mantido dentro da fronteira de outra aplicação (referenciado 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.
  • 10. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS Passo Ação Como Fazer 1 Identificar os ALI’s Aplicar as regras de identificação de ALI’s 2 Identificar os AIE’s Aplicar as regras de identificação de AIE’s 3 Determinar a complexidade dos ALI’s e AIE’s e suas contribuições Seguir os procedimentos para calcular a complexidade e a contribuição para contagem não ajustada de pontos de função
  • 11. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Tabela de complexidade funcional dos ALI e AIE:  Um ALI contendo 45 tipos de dados e 1 tipo de registro é de complexidade baixa e outro AIE contendo 55 tipos de dados e 1 tipo de registro é de complexidade média. ####### < 20 20 – 50 > 50 1 Baixa Baixa Média 2 - 5 Baixa Média Alta > 5 Média Alta Alta Tipos de dados TiposdeRegistros
  • 12. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Cada ALI ou AIE deve ser classificado de acordo com sua complexidade, com base em:  Número de Tipos de Dados (TD);  Número de Tipos de Registros (TR);
  • 13. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Determinação da Contribuição dos PF não ajustados: Tipo de Função Baixa Média Alta Arquivo Lógico Interno (ALI) 7 PF 10 PF 15 PF Arquivo de Interface Externa (AIE) 5 PF 7 PF 10 PF
  • 14. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Tipos de Dados: são campos reconhecidos pelo usuário como únicos e não repetidos, incluindo atributos de chave estrangeira, mantidos no arquivo.  Tipos de Registros: são subgrupos de dados contidos dentro de um ALI ou AIE. Subgrupos são tipicamente representados em um DER como entidades de Subtipos. São classificados em:  Opcionais: usuário tem a opção de não informar no processo elementar que cria ou adiciona dados ao arquivo;  Obrigatórios: usuário requer que sejam sempre utilizados para criar ou adicionar dados ao arquivo
  • 15. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS  Exemplo entidade de Subtipos:  Designam entidades cujas ocorrências herdam atributos de uma super-entidade e que possuem atributos específicos às ocorrências dessa mesma sub-entidade;  Endereço Comercial e Endereço Residencial são Subtipos de Endereço (que é um Supertipo). Endereço Endereço Comercial Endereço Residencial
  • 16. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS EXEMPLO  Exemplo:  CD de Música;  CD: Cantor, Grupo, Gravadora, Nome, Data e Músicas;  Música: Nome da Música, Compositor e Tempo de Duração;  ALI: 1 (O CD de música);  Tipo de Dado (TD): 9 (Campos únicos) ;  Tipo de Registro (TR): 2 (Grupo CD e Grupo Música).
  • 17. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS EXEMPLO  Exemplo:  Pessoa (AIE): matrícula, nome, senha criptografada e tipo (gerente ou trabalhador);  Apontamento (ALI): matrícula, data, horário de entrada, horário de saída;  Justificativa (ALI): matrícula, data, texto. Descrição Tipo TD TR Complexidade Pessoa AIE 4 1 BAIXA Apontamento ALI 4 1 BAIXA Justificativa ALI 3 1 BAIXA Controle de Ponto – Análise de Pontos de Função – pág. 96
  • 18. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS EXEMPLO  Porque complexidade baixa? Lembre-se da tabela de complexidade: ###### < 20 20 – 50 > 50 1 Baixa Baixa Média 2 - 5 Baixa Média Alta > 5 Média Alta Alta Tipos de dados TiposdeRegistros Descrição Tipo TD TR Complexidade Pessoa AIE 4 1 BAIXA Apontamento ALI 4 1 BAIXA Justificativa ALI 3 1 BAIXA
  • 19. ETAPA 3: CONTAGEM DAS FUNÇÕES DE DADOS EXEMPLO Tipo de Função Complexidade Funcional Totais por Tipo de Complexidade Totais por Tipo de Função ALI 2 (BAIXA) x 7 0 (MÉDIA) x 10 0 (ALTA) x 15 = 14 = 0 = 0 14 AIE 1 (BAIXA) x 5 0 (MÉDIA) x 7 0 (ALTA) x 10 = 5 = 0 = 0 5 Tipo de Função Baixa Média Alta Arquivo Lógico Interno (ALI) 7 PF 10 PF 15 PF Arquivo de Interface Externa (AIE) 5 PF 7 PF 10 PF Utilização da Tabela de Contribuição para chegar ao total de PF não ajustados
  • 20. CONTAGEM DAS FUNÇÕES DE DADOS NÃO AJUSTADOS EXEMPLO • Internal Logical File (ILF): Arquivo Lógico Interno (ALI); •External Interface File (EIF): Arquivo de Interface Externa (AIE).
  • 21. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Representam a funcionalidade fornecida ao usuário para atender às suas necessidades de processamentos de dados pela aplicação.  São classificadas em:  Entradas Externas (EE);  Saídas Externas (SE);  Consultas Externas (CE).
  • 22. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Entradas Externas (EE):  Processo elementar;  Processa dados ou informações de controle recebidos de fora da fronteira de aplicação;  Principal intenção é manter (incluir, alterar ou excluir dados) um ou mais ALI e/ou manter o comportamento do sistema.
  • 23. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Entradas Externas (EE) – Exemplos:  Transações que recebem dados externos utilizados na manutenção de ALI’s;  Janela que permite adicionar, excluir ou alterar registros arquivos contribui com 3 entradas externas.
  • 24. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Exemplo – Entrada Externa (EE):
  • 25. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Saída Externa (SE):  Processo elementar;  Envia dados ou informações de controle para fora da fronteira de aplicação;  Principal intenção é apresentar informação para o usuário através de lógica de processamento, ou seja, conter ao menos uma fórmula matemática ou cálculo;  Criar dados derivados;  Manter um ou mais ALI’s e/ou alterar o comportamento do sistema.
  • 26. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Saída Exerna (SE) – Exemplos:  Relatórios com totalização de dados;  Consultas com cálculos ou apresentação de dados derivados;  Informações em formato gráfico;
  • 27. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Exempo – Saída Externa (SE):
  • 28. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Consulta Externa (CE):  Processo Elementar;  Envia dados ou informações de controle para fora da fronteira da aplicação;  Apresentar informação ao usuário por meio de uma simples recuperação de dados ou informações de controle de ALI’s ou AIE’s;  A lógica de processamento não contém fórmulas matemáticas ou cálculos;  Não cria dados derivados;  Não altera o comportamento do sistema.
  • 29. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Consulta Externa (CE) – Exemplos:  Informações em formato gráfico;  Menus gerados dinamicamente com base em configuração da aplicação.
  • 30. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Exemplo – Consulta Externa (CE):
  • 31. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS TERMOS UTILIZADOS  Processo Elementar: menor quantidade de unidade significativa para o usuário final;  Inclusão, alteração, consulta e exclusão são os mais aplicados;  Regras de negócio podem alterar um registro;  “Alterar dados” por exemplo; pode contemplar os vários processos de negócios existentes.
  • 32. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS TERMOS UTILIZADOS  Informação de Controle: dados que influenciam um processo elementar da aplicação que está sendo controlada;  Especificam o quê, quando ou como os dados devem ser processados; são parâmetros;  Exemplos:  O quê: determinado campo especifica que o cálculo da parcela deve contemplar somente o valor vencido ou o valor corrigido com juros e multa;
  • 33. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS TERMOS UTILIZADOS  Quando: Uma enquete pode ter um fechamento automático (votações finalizadas) definido pela data de seu encerramento;  Como: durante a compra de uma passagem aérea, o cliente informa em um campo como deseja receber a confirmação da compra: por e- mail, torpedo SMS ou fax.  Em uma loja de comércio eletrônico, a operação de compra possui uma informação de controle – forma de pagamento – que determina como o processo ocorrerá: emissão de boleto, débito na conta ou cartão de crédito;  Cada forma de pagamento possui um tratamento diferenciado.
  • 34. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS TERMOS UTILIZADOS  Dado Derivado: Informação criada a partir de dados existentes, gerado através de ALI ou AIE;  Dado apresentado pelo sistema, porém não está armazenado em um arquivo lógico;  Criado através de uma lógica de processamento, como cálculo por exemplo;  Total de faturamento, tempo médio entre falhas, participação em % de um produto em uma venda.
  • 35. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS TERMOS UTILIZADOS  Lógica de Processamento:
  • 36. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS TERMOS UTILIZADOS
  • 37. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Determinação da Complexidade:  Cada EE, SE ou CE é classificada em relação à sua Complexidade baseado no número de Arquivos Referenciados (AR) e no número e Tipos de Dados (TD);  Determinadas as quantidades de AR’s e TD’s sua complexidade pode ser medida pelas seguintes tabelas:
  • 38. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS < 5 5 – 15 > 15 < 2 BAIXA BAIXA ALTA 2 BAIXA MÉDIA ALTA > 2 MÉDIA ALTA ALTA Arquivos Referenciados (AR’s) Tipos de Dados (TD’s) < 5 5 – 15 > 15 < 2 BAIXA BAIXA ALTA 2 BAIXA MÉDIA ALTA > 2 MÉDIA ALTA ALTA Arquivos Referenciados (AR’s) Tipos de Dados (TD’s) Tabela de complexidade para entradas externas (EE’s) Tabela de complexidade para saídas externas (SE’s) e consultas extenas (CE’s)
  • 39. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Arquivo Referenciado (AR)  É um ALI lido ou mantido pela função do tipo de transação; OU  AIE lido pela função do tipo de transação. • Tipo de Dado (TD): Campo único, reconhecido pelo usuário, não repetido.
  • 40. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Após a determinação da complexidade, se calcula a contribuição através da seguinte tabela: TIPO DE FUNÇÃO BAIXA MÉDIA ALTA Entrada Externa (EE) 3 PF 4 PF 6 PF Saída Externa (SE) 4 PF 5 PF 7 PF Consulta Externa (CE) 3 PF 4 PF 6 PF Tabela de contribuição dos pontos de função não ajustados das funções do tipo de transação
  • 41. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Exemplo de contribuição de Funções do Tipo de Transação: Tipo de Função Complexidade Funcional Totais por Tipo de Complexidade Totais por Tipo de Função EE 2 (BAIXA) x 3 2 (MÉDIA) x 4 0 (ALTA) x 6 = 6 = 8 = 0 14 SE 1 (BAIXA) x 4 2 (MÉDIA) x 5 0 (ALTA) x 7 = 4 = 10 = 0 14 CE 1 (BAIXA) x 3 0 (MÉDIA) x 4 0 (ALTA) x 6 = 3 = 0 = 0 3
  • 42. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS  Observa-se que as EE contribuem com 14 pontos de função não ajustados para a aplicação, as SE com 14 pontos de função não ajustados e as CE com 3 pontos de função não ajustados.
  • 43. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS EXEMPLO
  • 44. ETAPA 4: CONTAGEM DAS FUNÇÕES TRANSACIONAIS VISÃO GERAL
  • 45. ETAPA 5: DETERMINAR O FATOR DE AJUSTE  O Valor de Fator de Ajuste é baseado em 14 características gerais de sistema (CGS): 1. Comunicação de Dados; 2. Processamento de Dados Distribuído (Funções Distribuídas); 3. Performance; 4. Configuração do equipamento; 5. Volume de Transações; 6. Entrada de Dados On-Line; 7. Interface com o usuário; 8. Atualização On-Line; 9. Processamento Complexo; 10. Reusabilidade; 11. Facilidade de Implantação; 12. Facilidade Operacional; 13. Múltiplos Locais; 14. Facilidade de mudanças.
  • 46. ETAPA 5: DETERMINAR O FATOR DE AJUSTE  Cada característica possui um nível de influência sobre a aplicação que pode variar de um intervalo de 0 a 5:  0. Nenhuma influência;  1. Influência Mínima;  2. Influência Moderada;  3. Influência Média;  4. Influência Significativa;  5. Grande Influência.
  • 47. ETAPA 5: DETERMINAR O FATOR DE AJUSTE  O Valor Fator de Ajuste (VFA) é calculado pela fórmula: VFA = (TDI x 0,01) + 0,65  TDI = somatório dos níveis de influência das características gerais
  • 48. ETAPA 5: DETERMINAR O FATOR DE AJUSTE  Exemplo: Em um sistema apurou-se que o nível de influência de cada uma das características gerais é o seguinte: CGS Peso Comunicação de Dados 5 Processamento Distribuído 2 Performance 2 Configuração Altamente Utilizada 2 Volume de Transações 2 Entrada de Dados Online 5 Eficiência do Usuário Final 2 CGS Peso Atualização Online 5 Complexidade de Processamento 2 Reusabilidade 0 Facilidade de Instalação 1 Facilidade de Operação 2 Múltiplos Locais 2 Facilidade de Mudanças 2
  • 49. ETAPA 5: DETERMINAR O FATOR DE AJUSTE  Logo, o nível de influência será: TDI = 34.  E o fator de ajuste: VAF = (34 x 0,01) + 0,65 = 0,99.
  • 50. ETAPA 5: DETERMINAR O FATOR DE AJUSTE  Fórmula para contagem inicial da aplicação: AFP = ADD x VAF  AFP: Valor dos pontos de função ajustados;  ADD: Valor total dos Pontos de Função não ajustados;  VAF: Valor do fator de ajuste da aplicação.
  • 51. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Calcule os pontos de função para um sistema que mantém um Cadastro de Clientes onde é possível tirar uma listagem por ordem alfabética e exportar o cadastro para outro sistema através de um arquivo texto.  Contagem  ALI = 01(Arquivo de Clientes)  AIE = 0  EE = 01 (Processo de inclusão)  SE = 01 (Listagem por ordem alfabética)  CE = 01 (Exportação de Arquivo Texto)
  • 52. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Nesse exemplo considera-se que todos os tipos de função tem complexidade BAIXA; ADD = ALI x 7 + AIE x 5 + EE x 3 + SE x 4 + CE x 3 = 1 x 7 + 0 x 5 + 1 x 3 + 1 x 4 + 1 x 3 = 17 (Pontos de função não ajustados)
  • 53. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Contado-se os fatores de ajuste segundo os níveis de influência temos, considerando-se TDI (somatório) = 45, temos: VAF = 0,65 + (0,01*45 ) = 1,1 (Fator de Ajuste) AFP = VAF x ADD = 1,1 x 17 = 18,7
  • 54. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Estimando custo, tempo e prazo:  Produtividade no desenvolvimento = Horas por PF  Esforço de desenvolvimento = Produtividade(H/PF) * Tamanho(PF)  Custo de software = Tamanho (PF) * Custo(R$/PF)
  • 55. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  1. Considerando que uma produtividade média de 10 hrs / PF;  2. Considerando que a média de jornada de trabalho é de 6 horas;  Possuem 4 pessoas alocadas ao desenvolvimento da aplicação;  3. Considerando que o valor de uma hora de trabalho é de R$ 25,00.
  • 56. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Concluímos que :  Esforço = 10hs / PF = 10 x 18,7 = 187 horas  Prazo = 187 h / ( 4 x 6 ) = 7,8 dias  Custo = 187 h x R$ 25,00 = R$ 4.675,00
  • 57. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Algumas aplicações da APF:  Produtividade no desenvolvimento: Horas por PF  Esforço de desenvolvimento: Produtividade (H/PF) * Tamanho (PF)  Custo de software: Tamanho (PF) * Custo (R$/PF)  Taxa de produção de software: PF/Mês; PF/Ano  Taxa de manutenção de software: PF manutenção / PF aplicativo
  • 58. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Influências:  Linguagem de codificação;  Tamanho do sotware;  Exeperiência da equipe;  Métodos estruturados;  Ambiente de desenvolvimento;  Qualidade de expansão/manutenção;  Reutilização de código;  Métodos de remoção de erros;  Organização da equipe.
  • 59. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Vantagens:  Uma ferramenta para determinar o tamanho de um pacote de aplicação comprado contando todas as funções incluídas no pacote;  Uma ferramenta para ajudar os usuários a determinar o benefício de um pacote de aplicação para a sua organização contando funções que especificamente atendam seus requisitos;  Uma ferramenta para medir as unidades de um produto de software para apoiar a análise de qualidade e produtividade;  Um veículo para calcular custos e recursos requeridos para desenvolvimento e manutenção de software;  Um fator de normalização para comparação de softwares.
  • 60. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  Limitações e/ou desvantagens:  Para ter uma boa utilização é necessária uma base histórica;  É necessário ter uma boa visão (profundidade do sistema para poder estimar com mais segurança);  Utilização de pesos para definir a classificação das funções.
  • 61. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO  International Function Point Users Group: http://www.ifpug.org/  IFPUG -Function Point Counting Practices Manual  BFPUG Brazilian Function Point Users Group: http://www.bfpug.com.br/  “Análise de Pontos de Função – Medição, Estimativas e Gerenciamento de Projetos de Software”, Carlos Eduardo Vazquez  http://www.analisetotal.hpg.ig.com.br/Material/APFTexto.pdf  www.cin.ufpe.br/~if720/slides/Pontos-de-funcao.ppt
  • 62. ETAPA 5: DETERMINAR O FATOR DE AJUSTE EXEMPLO OBRIGADO!  Carlos Augusto de Sousa Lima:  carloslima_2008@hotmail.com  José Corrêa Viana  jcorreavian@hotmail.com