SlideShare uma empresa Scribd logo
1 de 70
1
Estimativas e Medição em
Projeto de Software
Métrica com Pontos de
Função (PF)
Cláudio Roberto Martins
claudiomartins2000@gmail.com
Gerência de Projetos de Informática
2
Objetivos
• Apresentar os conceitos de Estimativas e
Medição em Projeto de Software
• Apresentar a técnica de Pontos de
Função para estimativa de medição de
projeto de software.
3
O problema
• Dado um projeto de desenvolvimento de
software, estabelecer:
– Tamanho e perfil da equipe
– Prazos
– Custos
4
Conceitos Básicos
• Métrica
– Uma medida quantitativa do grau que um sistema,
componente, ou processo possui um
determinado atributo (IEEE Std 610.12-1990).
– As métricas vão permitir que um processo ou um
produto do ciclo de desenvolvimento de um
sistema seja analisado da mesma forma que um
objeto físico pode ser caracterizado através do
seu tamanho, cor ou peso.
5
Métricas de Projeto
• Primeiro uso: nas estimativas
• Após: monitoração e controle
• Objetivo:
– minimizar (e prever) o prazo de desenvolvimento
– medir a qualidade do produto
6
Métricas de Projeto
• Cada projeto deve medir:
– Entradas (recursos, pessoal, ambiente),
– Saídas (medida dos produtos intermediários
durante o processo de Eng.Software), e
– Resultados (indicam a efetividade dos
produtos finais)
7
Tipos de Medidas
• Medidas diretas (Ex: comprimento do
parafuso), e
• Medidas indiretas (Ex: qualidade dos
parafusos produzidos).
8
Medidas Em Relação ao Software...
• Diretas - linhas de código (LOC)
produzidas, velocidade de execução,
defeitos relatados.
• Indiretas: funcionalidade, qualidade,
complexidade, confiabilidade,
manutenibilidade.
9
Métricas Orientadas a Tamanho
• Consideram o tamanho do software
produzido.
• Referem-se a todas as atividades da
Engenharia (análise, projeto, codificação,
teste).
– Ex: Linhas de código (LOC)
10
Linhas de código (LOC)
• Cada projeto pode obter as seguintes
métricas a partir das linhas de código:
– Erros por KLOC (K = milhares)
– Defeitos por KLOC
– $ por LOC
– Páginas de documentação por KLOC
– Erros por pessoa/mês
– LOC por pessoa/mês
– $ por pagina de documentação
11
Exemplo de métricas orientadas a tamanho
Projeto LOC
Esforço
(mês)
$
(Mil)
Pág.
Doc
Erros Defeitos Pessoas
Alfa 12.100 24 168 365 134 29 3
Beta 27.200 62 440 1.224 321 86 5
Gama 20.200 43 314 1.050 256 64 6
... ... ... ... ... ... ... ...
12
Linha de Código - Observações
• Não é muito utilizada como parâmetro de
estimativa, pois requer um nível de
detalhes difícil de alcançar:
– Padronização na forma de codificar
– Manter apenas uma linguagem de
programação
– Não diferencia linhas de código geradas por
ferramentas CASE daquelas criadas
manualmente
13
Métricas Orientadas por Função
• Consiste em um método para medição de software do
ponto de vista do usuário
• Tem a funcionalidade como fator de normalização.
• Dimensiona um software, quantificando a funcionalidade
proporcionada ao usuário a partir do seu desenho
(projeto) lógico e não dos detalhes de implementação.
• A medida é PONTO por FUNÇÃO (FP – Function
Point).
– Pontos de Função (FP) definem uma relação empírica baseada
em medidas de contagem do domínio de aplicação do software
(requisitos) e à avaliação da complexidade do software.
14
Objetivo da análise de PF
• A análise considera as várias formas com que
os usuários interagem com o sistema, com os
seguintes objetivos:
1. Fornecer medidas consistentes;
2. Medir funcionalidades que o usuário solicita ou
recebe;
3. Independência da tecnologia;
4. Método simples.
15
O Processo de Contagem de PF
1
Determinar tipo
de Contagem
2
Identificar escopo da contagem
e fronteira da aplicação
3.1
Contar funções do
tipo dados
3.2
Contar funções do
tipo transação
4
Totalizar PF não
ajustados (3.1 + 3.2)
5 (opcional)
Determinar valor do
fator de ajuste
6
Calcular os PF
ajustados (5 + 4)
16
Elementos da contagem de PF
Fronteira da
Aplicação
Entradas Externas
(EE)
Consultas Externas
(CE)
Arquivos de
Interfaces
Externas
(AIE)
Saídas Externas
(SE)
Arquivos Lógicos
Internos
(ALI)
17
Tipo de Contagem
• São três:
– Contagem de um projeto de desenvolvimento
(incluindo migração)
– Contagem de um projeto de melhoria
– Contagem de uma aplicação em produção
(ou baseline)
18
Escopo da Contagem
• O escopo define se a contagem
abrangerá um ou mais sistemas ou
apenas parte de um sistema.
• Por exemplo:
– Todas as funcionalidades disponíveis
– Apenas as funcionalidades efetivamente
utilizadas pelo usuário
– Apenas algumas funcionalidades específicas
(relatórios, transações cadastrais, etc.)
19
Fronteira da Aplicação
• É a interface conceitual que delimita o
software que será medido e o mundo
exterior (os atores de interface)
– Ator = pessoa ou sistema que interage com a
aplicação, recebendo ou enviando dados
20
Algumas regras para identificar as
fronteiras
• Deve ser feita com base no Ponto de Vista do
Usuário (que ele pode entender e descrever)
• Baseada na separação das funções relacionadas
pelos processos do negócio, não considerando
tecnologias (banco de dados, p. ex.)
• Obter a documentação do sistema
• Verificar como os grupos de dados são mantidos
• Identificar as entidades (dados) e processos
(casos de uso, por exemplo)
21
Funções do Tipo Dado
• Representam a funcionalidade oferecida
ao usuário para cumprir requisitos de
dados
• Podem ser de dois tipos:
– Arquivo Lógico Interno (ALI)
– Arquivo de Interface Externa (AIE)
• O nome “arquivo” refere-se a grupos de dados
logicamente correlatos e não à sua implementação
física
22
Arquivo Lógico Interno (ALI)
• Um grupo lógico de dados ou de informações de
controle, identificável pelo usuário, mantido
dentro da fronteira da aplicação que está sendo
contada.
• Armazena dados mantidos por um ou mais
processos (transações) da aplicação em
questão.
– Ex: tabelas de banco de dados atualizadas pela
aplicação (não considerar chaves primárias do tipo
identificador, como “id” ou “seqüência”).
23
Arquivo de Interface Externa (AIE)
• Um grupo lógico de dados ou informações de
controle, identificável pelo usuário, mantido fora
da fronteira da aplicação que está sendo
contada.
• Exemplos:
– tabelas de banco de dados lidas pela aplicação, mas
mantidas por outra
– Arquivos externos (gerados externamente)
– Mensagens de dados (em um protocolo) gerados
externamente
24
Atribuindo complexidade a um ALI/AIE
• Identificar os TERs e TEDs
– TER – Tipo de elemento de registro
• Subgrupo de dados dentro de um ALI/AIE
reconhecível pelo usuário
– TED – Tipo de elemento de dado
• Campo único, não repetitivo e reconhecível pelo
usuário
25
Tabela de referência - Complexidade de
ALI’s e AIE’s
26
Peso das Funções de Dados
27
Funções de transação
• Representam a funcionalidade oferecida
ao usuário para processar dados da
aplicação
• Podem ser de três tipos:
– Entrada Externa (EE)
– Saída Externa (SE)
– Consulta Externa (CE)
28
Entrada Externa (EE)
• Cada transação de entrada é contada.
• A transação deve atualizar uma base de
dados com inclusão, alteração ou
exclusão.
– Transação pode ser interpretada como uma
rotina/processo que executa um conjunto de
ações atômicas que produz um resultado
visível e de valor ao usuário do sistema.
– Pode ser mapeado em telas, formulários (em
janelas), páginas, etc.
29
Saída Externa (SE)
o Relatórios, telas, mensagens de erros e
qualquer processo que é visível
externamente ao sistema (caso de uso).
o Deve obrigatoriamente calcular ou criar
dados derivados como detalhes de
subtotais, arquivos intermediários internos
ou alterar o resultado do comportamento
do sistema.
30
Consulta Externa (CE)
o É uma funcionalidade de consulta
simples, que através de uma solicitação
do usuário (uma entrada on-line), resulta
na geração de uma resposta imediata sob
a forma de uma saída on-line.
o Exemplo: consulta ao cadastro de
clientes.
31
Atribuindo complexidade a uma Função
de Transação
• Identificar os TARs e TEDs
– TAR – Tipos de arquivos referenciados
• Quantidade de ALI/ AIE mantidos (exceto CE) ou
referenciados pela função de transação
– TED – Tipos de elementos de dados
• Campos reconhecíveis pelo usuário, que cruzam a
fronteira da aplicação durante a função de
transação
32
Tabela de referência - Complexidade de
EE’s
Pontuação
• Para cada Entrada Externa será atribuído um número de Pontos de
Função, de acordo com a sua complexidade funcional relativa:
– BAIXA (SIMPLES COMPLEXIDADE): 3 (três) Pontos por Função;
– MÉDIA COMPLEXIDADE: 4 (quatro) Pontos por Função;
– ALTA (COMPLEXA): 6 (seis) Pontos por Função.
33
Complexidade de Saídas Externas
ITENS DE DADOS REFERENCIADOS (TED)
Nº DE ARQUIVOS
REFERENCIADOS
(TAR)
1 A 5 6 A 19 20 OU MAIS
Apenas 1 SIMPLES SIMPLES MÉDIA
De 2 ou 3 SIMPLES MÉDIA COMPLEXA
4 ou mais MÉDIA COMPLEXA COMPLEXA
Pontuação
• Para cada Saída Externa será atribuído um número de Pontos de
Função, de acordo com a sua complexidade funcional relativa:
– SIMPLES: 4 (quatro) Pontos por Função;
– MÉDIA: 5 (cinco) Pontos por Função;
– COMPLEXA: 7 (sete) Pontos por Função.
34
Complexidade de Consultas Externas
ITENS DE DADOS REFERENCIADOS
(TED)
Nº DE ARQUIVOS
REFERENCIADOS
(TAR)
1 A 5 6 A 19 20 OU MAIS
Apenas 1 SIMPLES SIMPLES MÉDIA
De 2 a 3 SIMPLES MÉDIA COMPLEXA
4 ou mais MÉDIA COMPLEXA COMPLEXA
Pontuação
• Para cada Consulta Externa será atribuído um número de Pontos
por Função, de acordo com a sua complexidade funcional relativa:
– SIMPLES: 3 (três) Pontos por Função;
– MÉDIA: 4 (quatro) Pontos por Função;
– COMPLEXA: 6 (seis) Pontos por Função
35
Resumo dos pesos das Funções de
Transação
36
Resumo do Cálculo dos PF não ajustados
Contagem total - Pontos por função (não ajustado)
EE – Entradas Externas
SE – Saídas Externas
CE – Consultas Externas
ALI – Arquivos Lógicos Internos
AIE – Arquivos de interfaces ext.
Parametro de Medição
3
4
3
7
5
Contagem
Fator de peso da Complexidade
baixa media alta
4
5
4
10
7
6
7
6
15
10
=
=
=
=
=
X
X
X
X
X
37
Etapa 5: Determinar o Fator de Ajuste
• Fator de Ajuste de Valor (VAF)
– Passo final na contagem de pontos de função
– Avalia restrições de negócio adicionais do
software não consideradas pelos cinco tipos
de funções.
– Todas as funções avaliadas na contagem de
Pontos de Função são funções do software
– Baseado na influência de 14 Características
Gerais do Sistema
38
Fator de Ajuste
• O IFPUG (International Function Point Users
Group), órgão responsável pela técnica,
tornou o fator de ajuste opcional para
adequar-se ao padrão ISO/IEC.
• O objetivo do fator é ajustar os pontos de
função não-ajustados em ± 35% de acordo
com a influência de 14 características
gerais.
• No processo aqui apresentado, não será
utilizado no cálculo final.
39
Cálculo do Fator de Ajuste
• Características não funcionais interferem
na complexidade do produto.
• Calcular o Fator de Ajuste:
– Avaliar o impacto de cada uma das quatorze
características (próximo slide)
• atribuir a cada característica um peso de 0 a 5.
– Calcular o nível de influência:
• Somando-se os pesos de cada uma das
características.
– Aplicar a fórmula de cálculo do fator de ajuste
(variação de + − 35%).
40
Cálculo do Fator de Ajuste
Características Gerais:
1. Comunicação de Dados
2. Processamento de Dados Distribuído
(Funções Distribuídas)
3. Desempenho
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
É atribuída uma nota de 0 à 5
a cada uma das
Características Gerais do
Sistema correspondendo ao
seguinte critério: (nenhuma
influência, influência
incidental, moderada, média,
significante, essencial)
Fator de Ajuste:
Nt(total) = Nt
VAF = 0,65 + (0,01 X Nt(total))
(0,65 <= VAF <= 1,35)
14
i=1
41
Tamanho de produtos conhecidos*
Fonte: *Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998
42
Correspondência aproximada entre PF e
linhas de código
Fonte: http://www.qsm.com/FPGearing.html
LOC/FP
Produtividade
 Linguagem Média Mediana Baixa Alta Média Cons
Access 35 38 15 47 -
JSP 59 - - - -
JavaScript 58 63 42 75 50
ASP 69 62 32 127 -
Java 62 63 53 77 80
Visual Basic
47 42 16 158 -
VBScript 36 34 27 50 50
43
Fatores de McConnell
• Variação da produtividade em função da
escala
PM – Pessoa Mês
44
Aplicações da Técnica FPA
• 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
Qual o valor / preço de um ponto
de função (R$/PF)?
• O valor R$/PF irá variar de acordo com as
funcionalidades do software,
considerando:
– a produtividade e experiência da equipe nas
tecnologias e padrões;
– o grau de qualidade solicitado pelo cliente;
– a complexidade do software,
– a quantidade de entregáveis (artefatos, documentos,
modelos, etc).
45
FONTE: http://www.fattocs.com.br/blog/index.php/2012/04/569?lang=pt
Qual o preço de um PF?
• Em resumo, tudo aquilo que afeta custo
de forma significativa mas que não tem
relação direta com o tamanho medido
pela APF acaba sendo computado no
preço do ponto de função.
46
Qual o preço de um PF em uma
tecnologia específica?
• As tecnologias disponíveis para desenvolvimento de
sistemas podem influenciar diretamente na
produtividade (tanto positivamente quanto
negativamente)
• Assim, é bastante comum no mercado a diferenciação
do valor do PF (R$/PF) de acordo com a plataforma
tecnológica (mainframe, web, cliente-servidor, etc) e a
linguagem de programação (Cobol, C, Java, .net, etc).
47
Licitações públicas com PF
• O Governo Federal aplica PF em contratos para
desenvolvimento e manutenção de software
(por recomendação do Tribunal de Contas da
União).
– PF são usados como medição para o pagamento e
verificação dos serviços.
• Na tabela http://www.fattocs.com.br/editais.asp,
há exemplos de editais e valores.
– Pode-se observar que a variação dos números é
muito significativa, com valores na faixa de
R$100/PF a R$1.000/PF.
48
EXEMPLOS E ESTUDO DE
CASO
49
50
Estudo de Caso: Sistema de Controle de
Ponto
• O sistema tem por objetivo registrar a
entrada e saída de funcionários de uma
determinada empresa.
• O exemplo serve para ilustrar a técnica de
PF. Portanto, o sistema é uma
simplificação de um sistema real.
• A seguir, é apresentada uma pequena
documentação necessária para
compreensão do sistema e serve de base
para o cálculo dos PF.
51
Descrição do Sistema
• No sistema de controle de pontos, um
trabalhador registra suas entradas e saídas do
ambiente do trabalho.
• Caso o trabalhador esqueça o cartão de ponto,
ele pode justificar tal ocorrência.
• O trabalhador também pode acompanhar a sua
freqüência, onde o sistema apresenta os totais
de horas trabalhadas em um determinado
período.
• Cada trabalhador pode ter acesso apenas às
suas informações.
• Além disso, o gerente pode emitir um relatório
com as informações de freqüência de todos os
funcionários de seu departamento.
52
Visão do Sistema de Ponto
53
Casos de Uso
Registrar freqüência Permite ao trabalhador inserir, alterar, excluir as
informações de entrada e saída em uma data.
Registrar justificativa O trabalhador insere uma justificativa em caso de
alteração ou exclusão de horário.
Acompanhar freqüência Exibe ao trabalhador o acompanhamento de seus
registros de ponto em um período escolhido.
Emitir relatório de
freqüência
Permite ao gerente acompanhar o registro de
presença dos trabalhadores em um determinado
período informado.
Efetuar Logon Permite que o funcionário (trabalhador ou
gerente) efetue a autenticação no sistema e, a
partir deste ponto, escolher as opções disponíveis
para acesso ao sistema dependendo do perfil do
usuário.
54
Diagrama de Classes de Domínio
Observar que a classe
Funcionário faz parte de
outro sistema (Controle de
Segurança) e a aplicação de
controle de ponto apenas faz
referência a ela.
55
Modelo de Banco de Dados (ER)
Observe que a classe Justificativa (do
modelo de classes) foi mapeada para duas
tabelas: JUSTIFICATIVA e LINHAS.
56
Transações (Campos e Arquivos
Referenciados)
Transação
(Tela/Rel)
Campos Arquivo (Tabela)
Logon Matricula, Senha, Mensagens, Comando Funcionário
Registro de Ponto Indicador de entrada e saída, Mensagens,
Comando
Apontamento (Ponto)
Consultar Freqüência Data do ponto, Horário de entrada, Hora de
saída, Mensagens, Comando
Apontamento
Registrar (incluir)
freqüência com
Justificativa
Indicador de entrada ou saída, Horário,
Justificativa, Mensagens, Comando
Apontamento, Justificativa
Excluir Apontamento Mensagens, Comando Apontamento, Justificativa
Alterar Apontamento Horário anterior, Horário novo, Justificativa,
Mensagens, Comando
Apontamento, Justificativa
Acompanhar
Freqüência
Data inicial, Data final, Total de horas no
período, nome do funcionário, data do ponto,
horário do ponto, indicador de ent/saída,
justificativa, Mensagens, Comando
Apontamento, Justificativa,
Funcionário
Emitir Relatório de
Freqüência
Data Inicial, Data final, Matricula, Nome, Total
de horas, Quantidade de Justificativas, Total de
horas geral, Mensagens, Comando
Apontamento, Justificativa,
Funcionário
57
Contagem: Entradas Externas
Descrição da função TAR TED
Compl
ex.
PF
Registro de Ponto 1 3 S 3
Registrar (incluir) freqüência
com Justificativa
2 5 M 4
Excluir Apontamento 2 2 S 3
Alterar Apontamento 2 5 M 4
TOTAL (EE) 14
58
Contagem: Saídas Externas
Descrição da função TAR TED
Compl
ex.
PF
Logon 1 4 S 4
Acompanhar Frequencia 3 10 M 5
Emitir Relatório de Frequencia 3 9 M 5
TOTAL (SE) 14
59
Contagem: Consultas Externas
Descrição da função TAR TED Complex PF
Consultar Freqüência 1 5 S 3
TOTAL (CE) 3
60
Contagem: Arquivos Lógicos Internos
Descrição da função TER TED Complex. PF
Apontamento 1 4 S 7
Justificativa 1 3 S 7
TOTAL (ALI) 14
61
Contagem: Arquivos de Interface Externa
Descrição da função TER TED Complex PF
Funcionário 1 4 S 5
TOTAL (AIE) 5
62
Contagem Final de PF
(não ajustados)
Item PF Brutos
Entradas Externas 14
Saídas Externas 14
Consultas Externas 3
Arquivos Lógicos Internos 14
Arquivos Lógicos Externos 5
Pontos Função (não-ajustados) 50
63
Exercício 1
• Utilizando a definição do sistema para o
consultório odontológico (ver material anexo):
– Elabore a documentação dos
requisitos/funcionalidades do sistema;
– Calcule os pontos de função não ajustados do
sistema;
– Calcule os pontos de função considerando os fatores
de ajuste: sistema on-line (na web), desenvolvido
para alta disponibilidades, prevendo o reuso de
componentes, com poucas transações e
desempenho médio.
64
Exercício 2
• Considere a tela para uma aplicação de
cadastro (ver figura no próximo slide)
• Aplique a técnica de estimativa de pontos
de função para calcular os PF não
ajustados.
• Para calcular os PF não ajustados você
terá que modelar o banco de dados a
partir da tela em questão. Considere um
modelo de dados normalizado.
65
Formulário de Cadastro “Criar Conta email”
66
Exercício resolvido.
Contagem de Pontos de Função – Transações para incluir, alterar,
excluir e consultar “Mercadorias em Estoque”.
67
Contagem de Pontos de Função
68
Exercício resolvido.
Estimativas
• Considere um projeto estimado em 100 PF
• Numa fase que corresponde a 20% do Projeto
• Numa equipe de 4 pessoas
• Considerando uma produtividade média de 20 horas/PF
• Considerando uma jornada de 6 horas diárias
• Considerando um valor de R$35,00 o valor de 1h de
Trabalho
– Calcule os valores
• Do tamanho em PF dos 20% do projeto
• Do Esforço total em horas
• Do Prazo em dias
• Do Custo em R$
69
Estimativas. Resolução
• 20% de 100 PF = 20 PF
• Esforço - 20hs/PF então: 20hs/PF x 20PF = 400h
• Prazo - 400h/(4 x 6) = 16,7 Dias
• Custo - 400h x R$ 35,00 = R$ 14.000,00
70
Referências
• Paula Filho, Wilson de Pádua.
Engenharia de Software -
Fundamentos, Métodos e Padrões.
2ª. edição. LTC, 2003.
• Carlos Eduardo Vasquez, Guilherme
Siqueira Simões, Renato Machado
Albert. ANÁLISE DE PONTOS DE
FUNÇÃO: medição, estimativas e
gerenciamento de projetos de
software. Érica, 2003.
– http://www.fattocs.com.br/citacao-livro-apf.asp

Mais conteúdo relacionado

Mais procurados

Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Faculdade Mater Christi
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresAragon Vieira
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresDalton Martins
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 
Indicadores de Desempenho para a TI - Módulo 1 - Porque medir
Indicadores de Desempenho para a TI - Módulo 1 - Porque medirIndicadores de Desempenho para a TI - Módulo 1 - Porque medir
Indicadores de Desempenho para a TI - Módulo 1 - Porque medirCompanyWeb
 
Sistema de processamento de transações
Sistema de processamento de transações  Sistema de processamento de transações
Sistema de processamento de transações Denilson Sousa
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioSuzana Viana Mota
 
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
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de RedesHelder Lopes
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel 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
 
Ferramentas da Qualidade
Ferramentas da QualidadeFerramentas da Qualidade
Ferramentas da QualidadeMayra de Souza
 

Mais procurados (20)

Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)
 
Usabilidade - Metas, Principios e Heuristicas
Usabilidade -  Metas, Principios e HeuristicasUsabilidade -  Metas, Principios e Heuristicas
Usabilidade - Metas, Principios e Heuristicas
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Indicadores de Desempenho para a TI - Módulo 1 - Porque medir
Indicadores de Desempenho para a TI - Módulo 1 - Porque medirIndicadores de Desempenho para a TI - Módulo 1 - Porque medir
Indicadores de Desempenho para a TI - Módulo 1 - Porque medir
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Sistema de processamento de transações
Sistema de processamento de transações  Sistema de processamento de transações
Sistema de processamento de transações
 
Aula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema BinárioAula 10 - Adição no Sistema Binário
Aula 10 - Adição no Sistema Binário
 
Slide internet
Slide   internetSlide   internet
Slide internet
 
Dns
DnsDns
Dns
 
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
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Gerenciamento e administração de Redes
Gerenciamento e administração de RedesGerenciamento e administração de Redes
Gerenciamento e administração de Redes
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Aula - Internet
Aula - InternetAula - Internet
Aula - Internet
 
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
 
Ferramentas da Qualidade
Ferramentas da QualidadeFerramentas da Qualidade
Ferramentas da Qualidade
 
Informática Básica - Aula 04 - Software
Informática Básica - Aula 04 - SoftwareInformática Básica - Aula 04 - Software
Informática Básica - Aula 04 - Software
 

Destaque

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
 
Medida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de FunçãoMedida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de FunçãoÁlvaro Farias Pinheiro
 
Pontos por função
Pontos por funçãoPontos por função
Pontos por funçãolipe_assis
 
Métricas para estimativa de esforço em projetos de teste de software
Métricas para estimativa de esforço em projetos de teste de softwareMétricas para estimativa de esforço em projetos de teste de software
Métricas para estimativa de esforço em projetos de teste de softwareSamanta Cicilia
 
Métricas para o Processo e o Projecto de Software
Métricas para o Processo e o Projecto de SoftwareMétricas para o Processo e o Projecto de Software
Métricas para o Processo e o Projecto de SoftwareRogerio P C do Nascimento
 
Resumo Sobre Análise de Pontos de Função
Resumo Sobre Análise de Pontos de FunçãoResumo Sobre Análise de Pontos de Função
Resumo Sobre Análise de Pontos de FunçãoGustavo Adolfo Alencar
 
Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforçoelliando dias
 
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
 
Estimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoEstimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoE-NOVAR Solutions
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesRogerio P C do Nascimento
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEduardo Mendes
 
Gestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_docGestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_docneyfds
 
Manuencao de software
Manuencao de softwareManuencao de software
Manuencao de softwareamorfab
 
Análise da Influência de Uso de Software para Automatização do Scrum
Análise da Influência de Uso de Software para Automatização do ScrumAnálise da Influência de Uso de Software para Automatização do Scrum
Análise da Influência de Uso de Software para Automatização do ScrumFabio Miranda
 
TDC 2015 Porto Alegre - Preciso estimar mesmo?
TDC 2015 Porto Alegre - Preciso estimar mesmo?TDC 2015 Porto Alegre - Preciso estimar mesmo?
TDC 2015 Porto Alegre - Preciso estimar mesmo?Emerson Schenatto
 
Building a Scalable Inbox System with MongoDB and Java
Building a Scalable Inbox System with MongoDB and JavaBuilding a Scalable Inbox System with MongoDB and Java
Building a Scalable Inbox System with MongoDB and Javaantoinegirbal
 

Destaque (20)

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
 
Medida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de FunçãoMedida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de Função
 
Estimativas em projetos de software
Estimativas em projetos de softwareEstimativas em projetos de software
Estimativas em projetos de software
 
Pontos por função
Pontos por funçãoPontos por função
Pontos por função
 
Métricas para estimativa de esforço em projetos de teste de software
Métricas para estimativa de esforço em projetos de teste de softwareMétricas para estimativa de esforço em projetos de teste de software
Métricas para estimativa de esforço em projetos de teste de software
 
Fundamentos APF
Fundamentos APFFundamentos APF
Fundamentos APF
 
Métricas para o Processo e o Projecto de Software
Métricas para o Processo e o Projecto de SoftwareMétricas para o Processo e o Projecto de Software
Métricas para o Processo e o Projecto de Software
 
Resumo Sobre Análise de Pontos de Função
Resumo Sobre Análise de Pontos de FunçãoResumo Sobre Análise de Pontos de Função
Resumo Sobre Análise de Pontos de Função
 
Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforç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
 
Estimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de UsoEstimativa de Software em Pontos de Caso de Uso
Estimativa de Software em Pontos de Caso de Uso
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de Software
 
Gestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_docGestao de projetos_-_exercicio_1._com_gabarito_doc
Gestao de projetos_-_exercicio_1._com_gabarito_doc
 
Manuencao de software
Manuencao de softwareManuencao de software
Manuencao de software
 
Análise da Influência de Uso de Software para Automatização do Scrum
Análise da Influência de Uso de Software para Automatização do ScrumAnálise da Influência de Uso de Software para Automatização do Scrum
Análise da Influência de Uso de Software para Automatização do Scrum
 
A P F Radial
A P F  RadialA P F  Radial
A P F Radial
 
USC COCOMO II
USC COCOMO IIUSC COCOMO II
USC COCOMO II
 
TDC 2015 Porto Alegre - Preciso estimar mesmo?
TDC 2015 Porto Alegre - Preciso estimar mesmo?TDC 2015 Porto Alegre - Preciso estimar mesmo?
TDC 2015 Porto Alegre - Preciso estimar mesmo?
 
Building a Scalable Inbox System with MongoDB and Java
Building a Scalable Inbox System with MongoDB and JavaBuilding a Scalable Inbox System with MongoDB and Java
Building a Scalable Inbox System with MongoDB and Java
 

Semelhante a Estimativa de software usando pontos de função

Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masieroMaitsudá Matos
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixCris Fidelix
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricaselliando 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
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de softwarejordanavy
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de softwarejordanavy
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Projeto de Sistemas - Aula004
Projeto de Sistemas - Aula004Projeto de Sistemas - Aula004
Projeto de Sistemas - Aula004Cláudio Amaral
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dadosGabriel Moura
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Plano de projeto cafis
Plano de projeto cafisPlano de projeto cafis
Plano de projeto cafisJonathas Silva
 

Semelhante a Estimativa de software usando pontos de função (20)

Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula3
Aula3Aula3
Aula3
 
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
 
Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricas
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Nesma
NesmaNesma
Nesma
 
apresentação
apresentaçãoapresentação
apresentação
 
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
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de software
 
Visão geral da engenharia de software qualidade de software
Visão geral da engenharia de software   qualidade de softwareVisão geral da engenharia de software   qualidade de software
Visão geral da engenharia de software qualidade de software
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Projeto de Sistemas - Aula004
Projeto de Sistemas - Aula004Projeto de Sistemas - Aula004
Projeto de Sistemas - Aula004
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dados
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Plano de projeto cafis
Plano de projeto cafisPlano de projeto cafis
Plano de projeto cafis
 

Estimativa de software usando pontos de função

  • 1. 1 Estimativas e Medição em Projeto de Software Métrica com Pontos de Função (PF) Cláudio Roberto Martins claudiomartins2000@gmail.com Gerência de Projetos de Informática
  • 2. 2 Objetivos • Apresentar os conceitos de Estimativas e Medição em Projeto de Software • Apresentar a técnica de Pontos de Função para estimativa de medição de projeto de software.
  • 3. 3 O problema • Dado um projeto de desenvolvimento de software, estabelecer: – Tamanho e perfil da equipe – Prazos – Custos
  • 4. 4 Conceitos Básicos • Métrica – Uma medida quantitativa do grau que um sistema, componente, ou processo possui um determinado atributo (IEEE Std 610.12-1990). – As métricas vão permitir que um processo ou um produto do ciclo de desenvolvimento de um sistema seja analisado da mesma forma que um objeto físico pode ser caracterizado através do seu tamanho, cor ou peso.
  • 5. 5 Métricas de Projeto • Primeiro uso: nas estimativas • Após: monitoração e controle • Objetivo: – minimizar (e prever) o prazo de desenvolvimento – medir a qualidade do produto
  • 6. 6 Métricas de Projeto • Cada projeto deve medir: – Entradas (recursos, pessoal, ambiente), – Saídas (medida dos produtos intermediários durante o processo de Eng.Software), e – Resultados (indicam a efetividade dos produtos finais)
  • 7. 7 Tipos de Medidas • Medidas diretas (Ex: comprimento do parafuso), e • Medidas indiretas (Ex: qualidade dos parafusos produzidos).
  • 8. 8 Medidas Em Relação ao Software... • Diretas - linhas de código (LOC) produzidas, velocidade de execução, defeitos relatados. • Indiretas: funcionalidade, qualidade, complexidade, confiabilidade, manutenibilidade.
  • 9. 9 Métricas Orientadas a Tamanho • Consideram o tamanho do software produzido. • Referem-se a todas as atividades da Engenharia (análise, projeto, codificação, teste). – Ex: Linhas de código (LOC)
  • 10. 10 Linhas de código (LOC) • Cada projeto pode obter as seguintes métricas a partir das linhas de código: – Erros por KLOC (K = milhares) – Defeitos por KLOC – $ por LOC – Páginas de documentação por KLOC – Erros por pessoa/mês – LOC por pessoa/mês – $ por pagina de documentação
  • 11. 11 Exemplo de métricas orientadas a tamanho Projeto LOC Esforço (mês) $ (Mil) Pág. Doc Erros Defeitos Pessoas Alfa 12.100 24 168 365 134 29 3 Beta 27.200 62 440 1.224 321 86 5 Gama 20.200 43 314 1.050 256 64 6 ... ... ... ... ... ... ... ...
  • 12. 12 Linha de Código - Observações • Não é muito utilizada como parâmetro de estimativa, pois requer um nível de detalhes difícil de alcançar: – Padronização na forma de codificar – Manter apenas uma linguagem de programação – Não diferencia linhas de código geradas por ferramentas CASE daquelas criadas manualmente
  • 13. 13 Métricas Orientadas por Função • Consiste em um método para medição de software do ponto de vista do usuário • Tem a funcionalidade como fator de normalização. • Dimensiona um software, quantificando a funcionalidade proporcionada ao usuário a partir do seu desenho (projeto) lógico e não dos detalhes de implementação. • A medida é PONTO por FUNÇÃO (FP – Function Point). – Pontos de Função (FP) definem uma relação empírica baseada em medidas de contagem do domínio de aplicação do software (requisitos) e à avaliação da complexidade do software.
  • 14. 14 Objetivo da análise de PF • A análise considera as várias formas com que os usuários interagem com o sistema, com os seguintes objetivos: 1. Fornecer medidas consistentes; 2. Medir funcionalidades que o usuário solicita ou recebe; 3. Independência da tecnologia; 4. Método simples.
  • 15. 15 O Processo de Contagem de PF 1 Determinar tipo de Contagem 2 Identificar escopo da contagem e fronteira da aplicação 3.1 Contar funções do tipo dados 3.2 Contar funções do tipo transação 4 Totalizar PF não ajustados (3.1 + 3.2) 5 (opcional) Determinar valor do fator de ajuste 6 Calcular os PF ajustados (5 + 4)
  • 16. 16 Elementos da contagem de PF Fronteira da Aplicação Entradas Externas (EE) Consultas Externas (CE) Arquivos de Interfaces Externas (AIE) Saídas Externas (SE) Arquivos Lógicos Internos (ALI)
  • 17. 17 Tipo de Contagem • São três: – Contagem de um projeto de desenvolvimento (incluindo migração) – Contagem de um projeto de melhoria – Contagem de uma aplicação em produção (ou baseline)
  • 18. 18 Escopo da Contagem • O escopo define se a contagem abrangerá um ou mais sistemas ou apenas parte de um sistema. • Por exemplo: – Todas as funcionalidades disponíveis – Apenas as funcionalidades efetivamente utilizadas pelo usuário – Apenas algumas funcionalidades específicas (relatórios, transações cadastrais, etc.)
  • 19. 19 Fronteira da Aplicação • É a interface conceitual que delimita o software que será medido e o mundo exterior (os atores de interface) – Ator = pessoa ou sistema que interage com a aplicação, recebendo ou enviando dados
  • 20. 20 Algumas regras para identificar as fronteiras • Deve ser feita com base no Ponto de Vista do Usuário (que ele pode entender e descrever) • Baseada na separação das funções relacionadas pelos processos do negócio, não considerando tecnologias (banco de dados, p. ex.) • Obter a documentação do sistema • Verificar como os grupos de dados são mantidos • Identificar as entidades (dados) e processos (casos de uso, por exemplo)
  • 21. 21 Funções do Tipo Dado • Representam a funcionalidade oferecida ao usuário para cumprir requisitos de dados • Podem ser de dois tipos: – Arquivo Lógico Interno (ALI) – Arquivo de Interface Externa (AIE) • O nome “arquivo” refere-se a grupos de dados logicamente correlatos e não à sua implementação física
  • 22. 22 Arquivo Lógico Interno (ALI) • Um grupo lógico de dados ou de informações de controle, identificável pelo usuário, mantido dentro da fronteira da aplicação que está sendo contada. • Armazena dados mantidos por um ou mais processos (transações) da aplicação em questão. – Ex: tabelas de banco de dados atualizadas pela aplicação (não considerar chaves primárias do tipo identificador, como “id” ou “seqüência”).
  • 23. 23 Arquivo de Interface Externa (AIE) • Um grupo lógico de dados ou informações de controle, identificável pelo usuário, mantido fora da fronteira da aplicação que está sendo contada. • Exemplos: – tabelas de banco de dados lidas pela aplicação, mas mantidas por outra – Arquivos externos (gerados externamente) – Mensagens de dados (em um protocolo) gerados externamente
  • 24. 24 Atribuindo complexidade a um ALI/AIE • Identificar os TERs e TEDs – TER – Tipo de elemento de registro • Subgrupo de dados dentro de um ALI/AIE reconhecível pelo usuário – TED – Tipo de elemento de dado • Campo único, não repetitivo e reconhecível pelo usuário
  • 25. 25 Tabela de referência - Complexidade de ALI’s e AIE’s
  • 27. 27 Funções de transação • Representam a funcionalidade oferecida ao usuário para processar dados da aplicação • Podem ser de três tipos: – Entrada Externa (EE) – Saída Externa (SE) – Consulta Externa (CE)
  • 28. 28 Entrada Externa (EE) • Cada transação de entrada é contada. • A transação deve atualizar uma base de dados com inclusão, alteração ou exclusão. – Transação pode ser interpretada como uma rotina/processo que executa um conjunto de ações atômicas que produz um resultado visível e de valor ao usuário do sistema. – Pode ser mapeado em telas, formulários (em janelas), páginas, etc.
  • 29. 29 Saída Externa (SE) o Relatórios, telas, mensagens de erros e qualquer processo que é visível externamente ao sistema (caso de uso). o Deve obrigatoriamente calcular ou criar dados derivados como detalhes de subtotais, arquivos intermediários internos ou alterar o resultado do comportamento do sistema.
  • 30. 30 Consulta Externa (CE) o É uma funcionalidade de consulta simples, que através de uma solicitação do usuário (uma entrada on-line), resulta na geração de uma resposta imediata sob a forma de uma saída on-line. o Exemplo: consulta ao cadastro de clientes.
  • 31. 31 Atribuindo complexidade a uma Função de Transação • Identificar os TARs e TEDs – TAR – Tipos de arquivos referenciados • Quantidade de ALI/ AIE mantidos (exceto CE) ou referenciados pela função de transação – TED – Tipos de elementos de dados • Campos reconhecíveis pelo usuário, que cruzam a fronteira da aplicação durante a função de transação
  • 32. 32 Tabela de referência - Complexidade de EE’s Pontuação • Para cada Entrada Externa será atribuído um número de Pontos de Função, de acordo com a sua complexidade funcional relativa: – BAIXA (SIMPLES COMPLEXIDADE): 3 (três) Pontos por Função; – MÉDIA COMPLEXIDADE: 4 (quatro) Pontos por Função; – ALTA (COMPLEXA): 6 (seis) Pontos por Função.
  • 33. 33 Complexidade de Saídas Externas ITENS DE DADOS REFERENCIADOS (TED) Nº DE ARQUIVOS REFERENCIADOS (TAR) 1 A 5 6 A 19 20 OU MAIS Apenas 1 SIMPLES SIMPLES MÉDIA De 2 ou 3 SIMPLES MÉDIA COMPLEXA 4 ou mais MÉDIA COMPLEXA COMPLEXA Pontuação • Para cada Saída Externa será atribuído um número de Pontos de Função, de acordo com a sua complexidade funcional relativa: – SIMPLES: 4 (quatro) Pontos por Função; – MÉDIA: 5 (cinco) Pontos por Função; – COMPLEXA: 7 (sete) Pontos por Função.
  • 34. 34 Complexidade de Consultas Externas ITENS DE DADOS REFERENCIADOS (TED) Nº DE ARQUIVOS REFERENCIADOS (TAR) 1 A 5 6 A 19 20 OU MAIS Apenas 1 SIMPLES SIMPLES MÉDIA De 2 a 3 SIMPLES MÉDIA COMPLEXA 4 ou mais MÉDIA COMPLEXA COMPLEXA Pontuação • Para cada Consulta Externa será atribuído um número de Pontos por Função, de acordo com a sua complexidade funcional relativa: – SIMPLES: 3 (três) Pontos por Função; – MÉDIA: 4 (quatro) Pontos por Função; – COMPLEXA: 6 (seis) Pontos por Função
  • 35. 35 Resumo dos pesos das Funções de Transação
  • 36. 36 Resumo do Cálculo dos PF não ajustados Contagem total - Pontos por função (não ajustado) EE – Entradas Externas SE – Saídas Externas CE – Consultas Externas ALI – Arquivos Lógicos Internos AIE – Arquivos de interfaces ext. Parametro de Medição 3 4 3 7 5 Contagem Fator de peso da Complexidade baixa media alta 4 5 4 10 7 6 7 6 15 10 = = = = = X X X X X
  • 37. 37 Etapa 5: Determinar o Fator de Ajuste • Fator de Ajuste de Valor (VAF) – Passo final na contagem de pontos de função – Avalia restrições de negócio adicionais do software não consideradas pelos cinco tipos de funções. – Todas as funções avaliadas na contagem de Pontos de Função são funções do software – Baseado na influência de 14 Características Gerais do Sistema
  • 38. 38 Fator de Ajuste • O IFPUG (International Function Point Users Group), órgão responsável pela técnica, tornou o fator de ajuste opcional para adequar-se ao padrão ISO/IEC. • O objetivo do fator é ajustar os pontos de função não-ajustados em ± 35% de acordo com a influência de 14 características gerais. • No processo aqui apresentado, não será utilizado no cálculo final.
  • 39. 39 Cálculo do Fator de Ajuste • Características não funcionais interferem na complexidade do produto. • Calcular o Fator de Ajuste: – Avaliar o impacto de cada uma das quatorze características (próximo slide) • atribuir a cada característica um peso de 0 a 5. – Calcular o nível de influência: • Somando-se os pesos de cada uma das características. – Aplicar a fórmula de cálculo do fator de ajuste (variação de + − 35%).
  • 40. 40 Cálculo do Fator de Ajuste Características Gerais: 1. Comunicação de Dados 2. Processamento de Dados Distribuído (Funções Distribuídas) 3. Desempenho 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 É atribuída uma nota de 0 à 5 a cada uma das Características Gerais do Sistema correspondendo ao seguinte critério: (nenhuma influência, influência incidental, moderada, média, significante, essencial) Fator de Ajuste: Nt(total) = Nt VAF = 0,65 + (0,01 X Nt(total)) (0,65 <= VAF <= 1,35) 14 i=1
  • 41. 41 Tamanho de produtos conhecidos* Fonte: *Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998
  • 42. 42 Correspondência aproximada entre PF e linhas de código Fonte: http://www.qsm.com/FPGearing.html LOC/FP Produtividade  Linguagem Média Mediana Baixa Alta Média Cons Access 35 38 15 47 - JSP 59 - - - - JavaScript 58 63 42 75 50 ASP 69 62 32 127 - Java 62 63 53 77 80 Visual Basic 47 42 16 158 - VBScript 36 34 27 50 50
  • 43. 43 Fatores de McConnell • Variação da produtividade em função da escala PM – Pessoa Mês
  • 44. 44 Aplicações da Técnica FPA • 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
  • 45. Qual o valor / preço de um ponto de função (R$/PF)? • O valor R$/PF irá variar de acordo com as funcionalidades do software, considerando: – a produtividade e experiência da equipe nas tecnologias e padrões; – o grau de qualidade solicitado pelo cliente; – a complexidade do software, – a quantidade de entregáveis (artefatos, documentos, modelos, etc). 45 FONTE: http://www.fattocs.com.br/blog/index.php/2012/04/569?lang=pt
  • 46. Qual o preço de um PF? • Em resumo, tudo aquilo que afeta custo de forma significativa mas que não tem relação direta com o tamanho medido pela APF acaba sendo computado no preço do ponto de função. 46
  • 47. Qual o preço de um PF em uma tecnologia específica? • As tecnologias disponíveis para desenvolvimento de sistemas podem influenciar diretamente na produtividade (tanto positivamente quanto negativamente) • Assim, é bastante comum no mercado a diferenciação do valor do PF (R$/PF) de acordo com a plataforma tecnológica (mainframe, web, cliente-servidor, etc) e a linguagem de programação (Cobol, C, Java, .net, etc). 47
  • 48. Licitações públicas com PF • O Governo Federal aplica PF em contratos para desenvolvimento e manutenção de software (por recomendação do Tribunal de Contas da União). – PF são usados como medição para o pagamento e verificação dos serviços. • Na tabela http://www.fattocs.com.br/editais.asp, há exemplos de editais e valores. – Pode-se observar que a variação dos números é muito significativa, com valores na faixa de R$100/PF a R$1.000/PF. 48
  • 49. EXEMPLOS E ESTUDO DE CASO 49
  • 50. 50 Estudo de Caso: Sistema de Controle de Ponto • O sistema tem por objetivo registrar a entrada e saída de funcionários de uma determinada empresa. • O exemplo serve para ilustrar a técnica de PF. Portanto, o sistema é uma simplificação de um sistema real. • A seguir, é apresentada uma pequena documentação necessária para compreensão do sistema e serve de base para o cálculo dos PF.
  • 51. 51 Descrição do Sistema • No sistema de controle de pontos, um trabalhador registra suas entradas e saídas do ambiente do trabalho. • Caso o trabalhador esqueça o cartão de ponto, ele pode justificar tal ocorrência. • O trabalhador também pode acompanhar a sua freqüência, onde o sistema apresenta os totais de horas trabalhadas em um determinado período. • Cada trabalhador pode ter acesso apenas às suas informações. • Além disso, o gerente pode emitir um relatório com as informações de freqüência de todos os funcionários de seu departamento.
  • 53. 53 Casos de Uso Registrar freqüência Permite ao trabalhador inserir, alterar, excluir as informações de entrada e saída em uma data. Registrar justificativa O trabalhador insere uma justificativa em caso de alteração ou exclusão de horário. Acompanhar freqüência Exibe ao trabalhador o acompanhamento de seus registros de ponto em um período escolhido. Emitir relatório de freqüência Permite ao gerente acompanhar o registro de presença dos trabalhadores em um determinado período informado. Efetuar Logon Permite que o funcionário (trabalhador ou gerente) efetue a autenticação no sistema e, a partir deste ponto, escolher as opções disponíveis para acesso ao sistema dependendo do perfil do usuário.
  • 54. 54 Diagrama de Classes de Domínio Observar que a classe Funcionário faz parte de outro sistema (Controle de Segurança) e a aplicação de controle de ponto apenas faz referência a ela.
  • 55. 55 Modelo de Banco de Dados (ER) Observe que a classe Justificativa (do modelo de classes) foi mapeada para duas tabelas: JUSTIFICATIVA e LINHAS.
  • 56. 56 Transações (Campos e Arquivos Referenciados) Transação (Tela/Rel) Campos Arquivo (Tabela) Logon Matricula, Senha, Mensagens, Comando Funcionário Registro de Ponto Indicador de entrada e saída, Mensagens, Comando Apontamento (Ponto) Consultar Freqüência Data do ponto, Horário de entrada, Hora de saída, Mensagens, Comando Apontamento Registrar (incluir) freqüência com Justificativa Indicador de entrada ou saída, Horário, Justificativa, Mensagens, Comando Apontamento, Justificativa Excluir Apontamento Mensagens, Comando Apontamento, Justificativa Alterar Apontamento Horário anterior, Horário novo, Justificativa, Mensagens, Comando Apontamento, Justificativa Acompanhar Freqüência Data inicial, Data final, Total de horas no período, nome do funcionário, data do ponto, horário do ponto, indicador de ent/saída, justificativa, Mensagens, Comando Apontamento, Justificativa, Funcionário Emitir Relatório de Freqüência Data Inicial, Data final, Matricula, Nome, Total de horas, Quantidade de Justificativas, Total de horas geral, Mensagens, Comando Apontamento, Justificativa, Funcionário
  • 57. 57 Contagem: Entradas Externas Descrição da função TAR TED Compl ex. PF Registro de Ponto 1 3 S 3 Registrar (incluir) freqüência com Justificativa 2 5 M 4 Excluir Apontamento 2 2 S 3 Alterar Apontamento 2 5 M 4 TOTAL (EE) 14
  • 58. 58 Contagem: Saídas Externas Descrição da função TAR TED Compl ex. PF Logon 1 4 S 4 Acompanhar Frequencia 3 10 M 5 Emitir Relatório de Frequencia 3 9 M 5 TOTAL (SE) 14
  • 59. 59 Contagem: Consultas Externas Descrição da função TAR TED Complex PF Consultar Freqüência 1 5 S 3 TOTAL (CE) 3
  • 60. 60 Contagem: Arquivos Lógicos Internos Descrição da função TER TED Complex. PF Apontamento 1 4 S 7 Justificativa 1 3 S 7 TOTAL (ALI) 14
  • 61. 61 Contagem: Arquivos de Interface Externa Descrição da função TER TED Complex PF Funcionário 1 4 S 5 TOTAL (AIE) 5
  • 62. 62 Contagem Final de PF (não ajustados) Item PF Brutos Entradas Externas 14 Saídas Externas 14 Consultas Externas 3 Arquivos Lógicos Internos 14 Arquivos Lógicos Externos 5 Pontos Função (não-ajustados) 50
  • 63. 63 Exercício 1 • Utilizando a definição do sistema para o consultório odontológico (ver material anexo): – Elabore a documentação dos requisitos/funcionalidades do sistema; – Calcule os pontos de função não ajustados do sistema; – Calcule os pontos de função considerando os fatores de ajuste: sistema on-line (na web), desenvolvido para alta disponibilidades, prevendo o reuso de componentes, com poucas transações e desempenho médio.
  • 64. 64 Exercício 2 • Considere a tela para uma aplicação de cadastro (ver figura no próximo slide) • Aplique a técnica de estimativa de pontos de função para calcular os PF não ajustados. • Para calcular os PF não ajustados você terá que modelar o banco de dados a partir da tela em questão. Considere um modelo de dados normalizado.
  • 65. 65 Formulário de Cadastro “Criar Conta email”
  • 66. 66 Exercício resolvido. Contagem de Pontos de Função – Transações para incluir, alterar, excluir e consultar “Mercadorias em Estoque”.
  • 67. 67 Contagem de Pontos de Função
  • 68. 68 Exercício resolvido. Estimativas • Considere um projeto estimado em 100 PF • Numa fase que corresponde a 20% do Projeto • Numa equipe de 4 pessoas • Considerando uma produtividade média de 20 horas/PF • Considerando uma jornada de 6 horas diárias • Considerando um valor de R$35,00 o valor de 1h de Trabalho – Calcule os valores • Do tamanho em PF dos 20% do projeto • Do Esforço total em horas • Do Prazo em dias • Do Custo em R$
  • 69. 69 Estimativas. Resolução • 20% de 100 PF = 20 PF • Esforço - 20hs/PF então: 20hs/PF x 20PF = 400h • Prazo - 400h/(4 x 6) = 16,7 Dias • Custo - 400h x R$ 35,00 = R$ 14.000,00
  • 70. 70 Referências • Paula Filho, Wilson de Pádua. Engenharia de Software - Fundamentos, Métodos e Padrões. 2ª. edição. LTC, 2003. • Carlos Eduardo Vasquez, Guilherme Siqueira Simões, Renato Machado Albert. ANÁLISE DE PONTOS DE FUNÇÃO: medição, estimativas e gerenciamento de projetos de software. Érica, 2003. – http://www.fattocs.com.br/citacao-livro-apf.asp