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

Análise de Pontos de Função: Estimativas e Métricas de Software

Enviado por

João Moreti
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)
50 visualizações49 páginas

Análise de Pontos de Função: Estimativas e Métricas de Software

Enviado por

João Moreti
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

Estimativas

Definição - Fundamentação

Profª Me. Aline Bampi


[Link]@[Link]
O que devemos estimar?

Tamanho do produto
• Quantidade de software a ser produzida
• Ex. no. linhas de código, no. pontos de função, n.o de requisitos,
pontos de casos de uso
Esforço
• Derivado da estimativa de tamanho
• Ex. dividindo a estimativa de tamanho por produtividade
produz-se o esforço
Prazo
• Geralmente são dirigidos a datas fornecidas pelo Cliente e/ou
calculadas conforme a medida/estimativa de produto ou esforço.
Opções para Estimativas
Usar um ou mais modelos para estimar o esforço do projeto
1. Modelos não paramétricos
define um tempo x para o projeto
2. Modelos paramétricos
a. Pontos de função
b. Casos de uso
c. Histórias
d. ...
Usar informação de projetos anteriores
1. Métricas de software
a. medidas quantitativas de projetos finalizados - histórico

3
Métricas de Software

MEDIDAS DO SOFTWARE

MEDIDAS DIRETAS MEDIDAS INDIRETAS


• Custo • Corretude
• Esforço (Pessoas-Mês) • Manutenibilidade
• Linhas de Código • Integridade
• Número de Erros • Usabilidade
• Velocidade de
processamento
Por que é difícil?
É difícil conhecer se é possível desenvolver o
produto desejado pelo cliente antes de
conhecer os detalhes do projeto.
Desenvolvimento é um processo gradual de
refinamento
• Incerteza da natureza do produto contribui
para a incerteza da estimativa
• Requisitos e escopo mudam

• Defeitos são encontrados e demandam


retrabalho
• Produtividade varia
Medir x Estimar
■ Estimar Medir
⚪ Definir cronograma
⚪ Acompanhar o andamento

Estimar
■ Medir Estimar
⚪ Produtividade monitorada
⚪ Histórico para definição de novos módulos/projetos
⚪ Registrar consumo de recursos (tempo, esforço, etc)
Medir
FPA – FUNCTION POINT ANALYSIS-
ANÁLISE POR PONTOS DE FUNÇÃO
Métrica Baseada na Função - FPA
Foco:
• Mede o tamanho funcional do sistema, sob a ótica do usuário,
pela quantificação das funcionalidades a ele fornecida.
Independentemente:
• Metodologia, linguagem de programação e ferramentas
utilizadas.

Permitem comparações entre empresas, sistemas, etc.

10
Elementos da Contagem

Tipos de função:
1. Dados: ALI/AIE
Fonte: Livro de Pontos de Função, p.48 2. Transação: CE/EE/SE
Elementos da Contagem
Processo de Contagem
Determinar tipo de contagem

Identificar escopo de contagem e fronteira da aplicação

Contar funções de dados

Contar funções transacionais

Determinar pontos de função não ajustados

Determinar o fator de ajuste

Calcular o total de pontos de função ajustados


Processo de Contagem
Etapa 1. Determinar tipo de contagem

Podem ser 03 tipos de contagem:


1. Projeto de desenvolvimento: mede funções fornecidas aos usuários finais do
software quando sua primeira instalação, e abrange funções de conversão de
dados, ou seja, a contagem é uma estimativa.
2. Projeto de melhoria: mede modificações em aplicações existentes, e também as
eventuais conversões de dados.
3. Aplicação em produção: entende-se por contagem do tipo aplicação um software
instalado, ou seja, a contagem após o término de um projeto de
desenvolvimento.

17
Etapa 2: Identificar o escopo de contagem e a
fronteira da aplicação

A fronteira da aplicação (interface conceitual)


separa o projeto a ser contado das aplicações
externas ao domínio do projeto.

O escopo define as funções que serão contadas de


acordo com a visão do usuário.

18
Processo de Contagem

Classificação dos Tipos de Função

Transações Funções de Dados

Arquivo Arquivo
Entrada Saída Consulta
Lógico de
externa Externa Externa
Interno Interface
EE SE CE
ALI Externa
Etapa 3: Calcular os PF não ajustados

■ Os PFs não ajustados permitem identificar o tamanho do sistema


apenas do ponto de vista de funcionalidades, sem considerar
características não funcionais que podem afetar o tamanho do
software.

■ A visão do usuário, base da contagem de pontos de função, é o


requisito funcional. Ela se materializa-se em documentos, como:
⚪ Estórias de usuário;
⚪ Especificação das necessidades de negócio;
⚪ Documento de visão;
⚪ Modelo conceitual de entidade e relacionamentos;
⚪ Diagrama e especificação de casos de uso
⚪ Protótipos e etc....
20
Arquivo Lógico Interno (ALI)
■ São:
⚪ Grupo de dados ou informações de controle;
⚪ Identificável pelo usuário;
⚪ Logicamente relacionado;
⚪ Mantido na fronteira da aplicação sendo contado.

■ Principal finalidade:
⚪ Armazenar dados mantidos (alterados, inclusos e/ou excluídos) por meio
de um processo da aplicação.

Obs.: Em geral, encontram-se implementados fisicamente em tabelas


de bancos de dados atualizadas pela aplicação.
Arquivo Lógico Interno (ALI)
■ Exemplos:

⚪ Tabelas que armazenam dados mantidos pela aplicação.


⚪ Arquivos de segurança de acesso (senhas) mantidos pela aplicação.
⚪ Arquivos de help, desde que mantidos pela aplicação.
⚪ Arquivos de mensagens de erros, desde que mantidos pela aplicação e
requeridos pelo usuário.
⚪ Arquivos de configuração mantidos pela aplicação.

22

Pag.83 livro ponto de função.


Arquivo de Interface Externa (AIE)
■ São grupos de dados necessários à aplicação, mas mantidos
e armazenados fora do seu escopo.

■ Não sofrem manutenção sobre a aplicação que está sendo


avaliada.

■ Correspondem aos arquivos utilizados pelo sistema sendo


contado, porém mantidos por outros sistemas.

23
Arquivo de Interface Externa (AIE)
■ Exemplos:
⚪ Dados de referência externos, utilizados pela aplicação
mantidos por outra aplicação.
⚪ Em sistemas de vendas on-line a consulta ao SPC (Serviço de
Proteção ao Crédito).

■ Dicas para descobrir AIEs:


⚪ não são atualizados no sistema

24
Definir os Pontos de Função: ALI e AIE

Para calcular os PFs não ajustados dos ALI´s e AIE´s


é necessário avaliar sua complexidade funcional
(baixa, média e alta), definida com base em dois
parâmetros:
⚪ Tipo de Dados (TD).
⚪ Campos

⚪ Tipo de registro (TR)


⚪ ALI e AIE
Definir os Pontos de Função: ALI e AIE
Determinar a Complexidade
Tipos de Dados (TD)

Registros
Tipos de
<20 20-50 >50

(TR)
1 Baixa Baixa Média
2-5 Baixa Média Alta
>5 Média Alta Alta

Determinar a contribuição Tipo de Baixa Média Alta


dos pontos de função,
conforme tabela: função
ALI 7PF 10PF 15PF
AIE 5PF 7PF 10PF
Exemplo:
Arquivo Lógico Interno (ALI)
Cadastro de Aluno (mantido dentro das fronteiras da
aplicação):
⚪ Campos de dados:
1. Matrícula N(5)
2. Nome S(30)
3. Data de nascimento N(8)
4. Nome do Responsável S(30)
5. Endereço S(30)
6. Telefone N(10)

⚪ Contagem:
• Tipos diferentes de registro lógico (TR) = 1
• Quantidade de itens referenciados (TD) = 6
• Complexidade = Baixa
• Tamanho = 7 FP
Fonte do exemplo: professores Sheila
Reinehr e Marco Paludo - PUCPR.
Exemplo:
Arquivo de Interface Externa (AIE)
Cadastro de Professor (mantido por outra
aplicação):
⚪ Campos de dados:
1. Código do Professor N(5)
2. Nome S(30)
3. Data de Admissão N(8)
4. Salário D(10,2)
5. Nº de parentes N(2) – não acessado pelo aplicação.
⚪ Contagem:
• Tipos diferentes de registro lógico (TR) = 1 (Professor)
• Quantidade de itens referenciados (TD) = 4 (conta-se apenas os
campos que forem acessados pela aplicação)
• Complexidade = Baixa
• Tamanho = 5 FP
Entrada Externa (EE)
■ Exemplos:
⚪ Transações que recebem dados externos utilizados na manutenção
de arquivos lógicos internos.
⚪ Janela que permite adicionar, excluir e alterar registros em
arquivos lógicos
⮚ Dica: possui termos bem característicos como: incluir, alterar,
excluir, editar, registrar, gravar, carregar.

■ Não são exemplos:


⚪ Menus (são apenas meio de agrupar as transações).
⚪ Tela de login cuja a principal intenção é dizer ao usuário se ele tem
ou não acesso (classificada como uma SE ou CE).

29
Definir os Pontos de
Função: EE
■ Determinar a Complexidade funcional

Tipos de Dados (TD)

Referenciados
Arquivos
<5 5-15 >15

(AR)
<2 Baixa Baixa Média
2 Baixa Média Alta
>2 Média Alta Alta

■ Determinar a contribuição
Tipo de função Baixa Média Alta

Entrada Externa 3PF 4PF 6PF

30
Exemplo:
Entrada Externa (EE)
■ Tela para inserir alunos no Cadastro de Alunos, considerando que possui
um conjunto de botões para manipular as operações e exibe 02
mensagens para consistência de telefone e data de nascimento.
⚪ Contagem:
■ Quantidade de arquivos referenciados (TR): 1 (apenas o Cadastro de Alunos)
■ Quantidade de campos de dados (TD): 9
⚪ 6 (todos os campos do Cadastro de Alunos)
⚪ 1 (conjunto de botões para manipular a tela)
⚪ 2 (mensagens de erro para o usuário)
■ Complexidade: Baixa
■ Tamanho: 3 FP

Fonte do exemplo: professores Sheila


Reinehr e Marco Paludo - PUCPR.

31
Saída Externa (SE)
■ É uma transação que envia dados ou informações de
controle para fora da fronteira da aplicação.

■ Função principal :
⚪ Apresentar ao usuário informação por meio de lógica de processamento que não
seja apenas uma simples recuperação de dados ou informações de controle.

⚪ A lógica de processamento Deve conter:


■ Utilização de cálculos/fórmulas matemáticas.

32
Saída Externa (SE)
■ Exemplos:
⚪ Relatórios que possuem totalização de dados.
⚪ Informações com formato gráfico (em geral que possuem cálculos e totalização)
⚪ Consultas que apresentam cálculos ou dados derivados.
⚪ Telas de login que em geral contemplam cálculos (criptografia).
⚪ Login que bloqueia o usuário após 3 tentativas.

Fonte: livro de análise de pontos por função p113.

33
Consulta Externa (CE)
■ É uma transação que envia dados ou informações
de controle para fora da fronteira da aplicação.

■ Função principal:
⚪ Apresentar informações aos usuários por meio de uma simples
recuperação de dados dos arquivos ALIs e/ou AIEs.
⚪ A lógica de processamento Não deve conter:
■ Fórmulas matemáticas ou cálculo
⮚ Importante:
■ Nenhum ALI é mantido durante seu processamento.
■ Nenhum comportamento do sistema é alterado.

34
Consulta Externa (CE)

■ Exemplos:
⚪ Listagem de dados, pois apenas consistem em recuperar e apresentar
dados.
⚪ Consultar espelho do cadastro de cliente
⚪ Listar os clientes que atendam aos critérios informados numa tela de
filtro e seleção
⚪ Consultar dados do cliente antes de sua atualização ou exclusão
⚪ Login no sistema, caso estejam restritas a recuperação e a
comparação de valores de login e senha de usuário.

Fonte: livro de análise de pontos por função


p114..

35
Definir os Pontos de Função: SE e CE
■ Determinar a Complexidade funcional

Tipos de Dados (TD)

Referenciados
Arquivos
<6 6-19 >19

(AR)
<2 Baixa Baixa Média
2-3 Baixa Média Alta
>3 Média Alta Alta

■ Determinar a contribuição

Tipo de função Baixa Média Alta

Saída Externa 4PF 5PF 7PF


Consulta Externa 3PF 4PF 6PF
36
Exemplo:
Saída Externa (SE)
■ Carta de Advertência emitida para o aluno que
cometeu uma indisciplina, com as seguintes
informações:
1. Matrícula N(5)
2. Nome S(30)
3. Nome do Responsável S(30)
4. Endereço S(30)
5. Texto Fixo da Carta S(200)
6. Data da Indisciplina N(10)
7. Descrição da Indisciplina S(50)
8. Total de advertências
⚪ Contagem:
■ Quantidade de Arquivos Referenciados (TR): 1 (Cadastro de Aluno)
■ Quantidade de campos referenciados (TD): 8
■ Complexidade: Baixa
■ Tamanho: 4 FP Fonte do exemplo: professores
Sheila Reinehr e Marco Paludo -
PUCPR. 37
Exemplo:
Consulta Externa (CE)
■ Considerar uma tela que efetua a Consulta às
Notas do Aluno, dotada de um conjunto de botões.
⚪ Recebe:
1. Matrícula N(5)
⚪ Exibe:
1. Nome S(30)
2. Nome do Responsável S(30)
3. Nome da Matéria S(30)
4. Nota da Matéria D(2,1)
5. Bimestre N(1) Fonte do exemplo: professores
6. Data da Consulta N(6) Sheila Reinehr e Marco Paludo
- PUCPR.
⚪ Emite: 01 mensagem de erro caso a matrícula não exista

38
Exemplo:
Consulta Externa (CE)
■ Exemplo:
⚪ Contagem:
■ Quantidade de arquivos referenciados (TR):
⚪ 2 (Cadastro de Aluno e Notas de Aluno)
■ Quantidade de itens de dados referenciados na saída (TD): 9
⚪ 07 itens
⚪ 01 conjunto de botões
⚪ 01 mensagem de erro
■ Complexidade = Média
■ Tamanho = 4 FP

Fonte do exemplo:
professores Sheila Reinehr
e Marco Paludo - PUCPR.

39
Etapa 3: Calcular os PFs
não ajustados
■ Após, identificar os tipos de dados e transações.
Calcular os Pontos de Função Brutos (PFB) ou
Pontos de Função Não Ajustados:

PFB = EE + CE + SE + ALI + AIE

PFB = 07 + 05 + 03 + 04 + 04 = 23
41
Determinar tipo de contagem

Identificar escopo de contagem e fronteira da aplicação

Contar funções de dados

Contar funções transacionais

Determinar pontos de função não ajustados

Determinar o fator de ajuste

Calcular o total de pontos de função ajustados


Etapa 4: Calcular o fator de ajuste
Baseado na Avaliação das características
Características Gerais do Sistema
gerais do sistema 1. Comunicação de Dados
2. Processamento Distribuído
Nível de Influência: 3. Desempenho
0 : Nenhuma influência 4. Utilização de Equipamento
1 : Influência Mínima 5. Volume de Transações
2 : Influência Moderada 6. Entrada On-Line
3 : Influência Média 7. Facilidade de Operação - Atualização
4 : Influência Significativa 8. Eficiência do Usuário Final
5 : Grande Influência 9. Complexidade do Processamento
[Link]ção de Código
[Link] de Implantação
[Link] Operacional
Ex.: Exigência do software é que a
13.Múltiplos Locais
aplicação tenha o protocolo TCP-IP.
[Link] de Mudanças 43
Regina Albuquerque - PUCPR
Calcular o valor do Fator de Ajuste - FA
■ Avaliar o impacto de cada uma das quatorze
características
⚪ Atribuir um valor de 0 (irrelevante a 5 (muito
relevante)
■ Calcular o nível de influência das CGS’s
⚪ Somando-se os valores de cada uma das
características
⚪ Nível de Influência (NI) = ∑ NI i

■ Aplicar a fórmula de cálculo do fator de ajuste =

FA = (NI X 0,01) + 0,65


Calcular o valor do Fator de Ajuste - FA
■ Exemplo: Considere as seguintes avaliações de
influência de cada uma das características gerais
do sistema (1000 PFs):
CGS NI CGS NI
1. Comunicação de dados 5 8. Atualização on-line 5
2. Processamento distribuído 2 9. Complexidade de processamento 2
3. Performance 2 10. Reusabilidade 0
4. Configuração altamente utilizada 2 11. Facilidade de instalação 1
5. Volume de transações 2 12. Facilidade de operação 2
6. Entrada de dados on-line 5 13. Múltiplos locais 2
7. Eficiência do usuário final 2 14. Facilidade de mudanças 2

■ ∑ NI= 34.
■ Logo o FA= (34x0,01)+0,65 = 0,99 = 1000 x 0,99 = 990
Etapa 5: Calcular os PFs ajustados
■ Os pontos de função ajustados (PF), podem, então,
ser calculados com base nos pontos de função não
ajustados e no fator de ajuste (FA):

PF = PFs não-ajustados x FA

47
Calcular os PFs ajustados
■ Exemplo:
⚪ Total de pontos de função ajustados

PF = PFs não-ajustados x FA

⚪ No exemplo, teríamos:
PF = 23 x 0,79 = 18,17PF.

48
Estimativas usando PF obtido
■ Considerando:
⚪ Tamanho do sistema: 18,17 PF
⚪ Produtividade média de 10hs/PF
⚪ Média de jornada de trabalho de 6 horas
⚪ Equipe de 4 pessoas
⚪ Valor de uma hora de trabalho é de R$ 25,00

■ É possível concluir que:


⚪ Esforço = 10 x 18,17 = 181,7hh (homem-hora)
⚪ Prazo = 181,7hh / (4 x 6) = 7,5 dias = 8 dias (aprox.)
⚪ Custo = 181,7hh x R$ 25,00 = R$ 4.542,5

49
Distribuição do esforço e cronograma nas fases -
Exemplos

Iniciação Elaboração Construção Transição


Esforço ~5% 20% 65% 10%
Cronograma 10 % 30% 50% 10%

Regina Albuquerque - PUCPR 50


Montagem do cronograma e
recursos - Exemplos

■ Distribua o esforço pelas fases, conforme


tabela anterior e após, para cada iteração, e
distribua nas fases. 1.467,40
Iniciação Elaboração Construção Transição
Esforço 73,37 293,48 953,81 146,74
Cronograma 146,74 440,22 733,7 146,74

51
Montagem do cronograma e
recursos - Exemplos
Requisitos Análise de Requisitos 8%
Análise Análise 8%
Design Design 8%
Documentação Técnica 4%
Regras e Codificação 24%
Construção Testes Unitário 16%
Teste de Sistema e Integração 16%
Homologação 4%
Teste Teste de Operação 4%
Treinamento de Usuários 2%
Conversão 2%
Transição Implantação 2%
Regina Albuquerque - PUCPR
Acompanhamento Lições aprendidas e Revisão do Projeto 4%52
Function Point Analysis (FPA)
■ 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.

■ Problemas:
⚪ Difícil de ser contada automaticamente.
■ Cuidados:
⚪ Ater-se aos procedimentos definidos.
⚪ Utilizar recursos capacitado na técnica.

53
Referências
■ [Link]/people/[Link]
■ [Link]
■ IFPUG International Function Point Users Group:
[Link]
■ Total Metrics: [Link]
■ Pressman, Roger. S. Engenharia de Software. Makron
Books, 1995.
■ Livro Análise de Pontos de Função: Medição, Estimativas e
Gerenciamento de Projetos de Software. Editora: Erica
Autor: Carlos Eduardo Vazquez.

54

Você também pode gostar