SlideShare uma empresa Scribd logo
1 de 60
https://www.facebook.com/alvarofpinheiroaulas/ 
br.linkedin.com/in/alvarofpinheiro/ 
ANÁLISE DE PONTO DE FUNÇÃO 
MEDIDA DE ESFORÇO PARA 
DESENVOLVIMENTO DE SOFTWARE 
http://www.alvarofpinheiro.eti.br
MEDIDA: 
A medição é a atividade básica de qualquer 
engenharia e não seria diferente para a engenharia 
de software, porém como esse campo é muito 
ressente, está longe de desenvolver uma medição 
padrão que seja amplamente aceita e 
principalmente, tenha elementos para seus cálculos 
que não sejam baseados em fatores subjetivos. 
Conseqüentemente a comunidade de TIC possui 
muitas críticas sobre as medições hoje utilizadas e 
muita discordância sobre o que medir e como avaliar 
os resultados obtidos dessas medições. 
http://www.alvarofpinheiro.eti.br
MÉTRICA: 
As métricas de software servem para realizar a 
tarefa fundamental do gerenciamento de projetos 
que é o planejamento. 
É com uma métrica que se pode identificar a 
quantidade de esforço necessário para o 
desenvolvimento, o custo para tal e o prazo para 
entrega dos artefatos. 
http://www.alvarofpinheiro.eti.br
MÉTRICA: 
As métricas de software sob o ponto de vista de MEDIÇÃO são 
divididas em duas categorias: medidas diretas e indiretas. 
Medidas Diretas: são compostas por medições que objetivam 
descobrir o custo para produzir o software, o esforço necessário a 
ser aplicados ao desenvolvimento ou a manutenção do software, a 
quantidade de linhas de código produzidas e o total de bugs 
encontrados. 
Exemplos: Custo; Esforço; Linhas de Código; Velocidade de 
Execução; Memória; Número de Bugs; Complexidade Ciclomática. 
Medidas Indiretas: utilizam medições mais complexas, pois 
objetivam verificar a qualidade do software, a funcionalidade, ou a 
sua capacidade de manutenção, sendo mais difíceis de serem 
percebidas e avaliadas. 
Exemplos: Funcionalidade; Qualidade; Complexidade; Eficiência; 
Confiabilidade; Manutenibilidade. 
http://www.alvarofpinheiro.eti.br
MÉTRICA: 
As métricas de software sob o ponto de vista de 
APLICAÇÃO são divididas em duas categorias: medidas 
produtividade e qualidade. 
Medidas de Produtividade: verificam as saídas do 
processo de engenharia de software, e tem como 
objetivo de avaliar próprio processo de 
desenvolvimento. 
Medidas de Qualidade: verificam o quanto o software 
atende aos requisitos definidos pelo usuário, isto é, a 
funcionalidade, assim permitem indicar o nível de 
resposta do software às exigências explícitas e 
implícitas do cliente, com relação ao que foi definido 
como qualidade. 
http://www.alvarofpinheiro.eti.br
TERMINOLOGIAS: 
MEDIDA: quantidade, dimensão, capacidade ou 
tamanho do software. 
MEDIÇÃO: ato de medir. 
INDICADOR: métrica que fornece compreensão dos 
resultados do software. 
MÉTRICA: as técnicas utilizadas para verificar a 
funcionalidade, a modularidade, a manutenibilidade, 
etc, e podem ser subclassificadas como 
ORIENTADAS AO TAMANHO, ORIENTADAS À 
FUNÇÃO, ORIENTADAS A PESSOAS. 
http://www.alvarofpinheiro.eti.br
POR QUE MEDIR: 
Verificar a qualidade do software; 
Avaliar a produtividade dos desenvolvedores; 
Determinar as vantagens de novos métodos; 
Analisar as vantagens de novas ferramentas; 
Compor uma base para as estimativas; 
Fomentar oportunidades por refatoração; 
Justificar aquisições de recursos; 
Prever o custo do desenvolvimento; 
Estimar o prazo para entrega dos artefatos; 
Apoiar o planejamento do escopo do software; 
Mensurar os quantitativos de recursos; e 
Obter a produtividade dos recursos. 
http://www.alvarofpinheiro.eti.br
Análise de Ponto de Função (APF): 
Serve para medir o tamanho funcional de um software 
dando subsídios para o cálculo da produtividade do 
desenvolvimento com base na funcionalidade, 
obrigatoriamente levando em consideração o ponto de 
vista do usuário e assim avaliando o tamanho e a 
complexidade do software. Com os pontos calculados 
pode-se obter as horas necessárias para construção e 
qual o custo de desenvolvimento. 
Esta métrica é mantida pela International Function Point 
Users Group (IFPUG) que é representada no Brasil pela 
Brazilian Function Point Users Group (BFPUG) e tem 
como uma das principais contribuidoras a Netherlands 
Software Metrics users Association (NESMA). 
http://www.alvarofpinheiro.eti.br
APF – O que mede? 
Funcionalidade segundo a perspectiva do usuário; 
A manutenção evolutiva, adaptativa e corretiva; 
Implementação independentemente de tecnologia; 
Comparar produtividade entre ambientes (P=PF/Esforço); 
Melhorar as estimativas de projetos; e 
Criar uma unidade padrão de medida de software. 
http://www.alvarofpinheiro.eti.br
APF – Como evoluiu? 
1965 – Contagem de Linhas de Código Fonte (SLOC); 
http://www.alvarofpinheiro.eti.br 
1979 – Análise de Ponto de Função (FPA); 
1979, Allan Albrecht da IBM, conferência da Guide/Share; 
1979, Publicação formal da metodologia; 
1984, Guideline Productivity Measurement and Estimate; 
1986, Grupo Internacional de Usuários de Pontos de Função; 
1987, Manual de Práticas de Contagem (CPM); 
1994, Grupo da ISO sobre Medidas Funcionais de Tamanho; 
1999, Function Point Counting Practices Manual da IFPUG; 
 2002, Padrão Internacional ISO/IEC 20926; 
1993 – Análise de Ponto de Casos de Uso (UCPA);
APF – Quem certifica? 
A Certified Function Point Specialist (CFPS) é a certificação 
conferida pelo International Function Point Users Group (IFPUG) 
às pessoas aprovadas no exame de certificação. 
http://www.alvarofpinheiro.eti.br
APF – Qual a margem de erro? 
Quanto melhor a qualidade da Engenharia de Requisitos 
aplicada, isto é, quanto maior tempo for dedicado a elicitação 
(levantamento de requisitos) menor será a margem de erros. 
http://www.alvarofpinheiro.eti.br
APF – Quais as vantagens? 
Determinar o tamanho de um software independente que seja 
desenvolvimento de um novo ou a compra de um pacote, pois 
para saber seu custo e/ou prazo basta contar as funcionalidades; 
Apoiar no entendimento dos benefícios de um software para a 
organização contando as funcionalidades que especificamente 
atendam aos requisitos desejados; 
Medir a qualidade e a produtividade de um software; 
Fator de normalização para comparação de softwares; 
E o principal é calcular os custos dos recursos requeridos para 
desenvolvimento ou manutenção do software. 
http://www.alvarofpinheiro.eti.br
APF – Quais as desvantagens? 
É recomendável ter conhecimento aprofundado das 
funcionalidades do software para estimar com maior 
confiabilidade; 
A utilização de pesos para questões subjetivas como os requisitos 
não funcionais; e 
Existir uma boa base histórica para melhor quantificar. 
http://www.alvarofpinheiro.eti.br
APF – Sopa de Letras: 
IFPUG – International Function Point Users Group 
BFPUG – Brazilian Function Point Users Group 
NESMA – Netherlands Software Metrics users Association 
RF – Requisitos Funcionais 
RNF – Requisitos Não Funcionais 
PF – Ponto de Função 
PFNA – Ponto de Função Não Ajustado 
PFA – Ponto de Função Ajustado 
FD – Funções de Dados 
FT – Funções de Transação 
NI – Nível de Influência 
NIT – Nível de Influência Total 
VFA – Valor do Fator de Ajuste 
VNA – Valor Não Ajustado da Contagem 
VAC – Valor Ajustado da Contagem 
FP – Fator de Produtividade 
http://www.alvarofpinheiro.eti.br
APF – Ponto de Função (PF): 
É uma Unidade de Medida de Software que foi criada em 1977 
por Alan Albrecht da IBM Corporation e posteriormente foi 
reconhecida pela International Organization for Standardization 
(ISO) para estimar o tamanho de um software se baseando nos 
requisitos funcionais e não funcionais, isto é, na funcionalidade 
percebida pelo usuário, independentemente da tecnologia usada 
para implementá-lo. 
Ponto de Função = Estimativa de Tamanho do Software 
http://www.alvarofpinheiro.eti.br
APF – Tamanho (T): 
Resultado da aplicação de contagens de pontos de função sobre 
os requisitos funcionais e não funcionais de um software. 
1.Requisitos Funcionais (RF) p/obter o Ponto de Função Não Ajustado (PFNA) 
1.1.Desmembrar os requisitos em Elementos Básicos (EB); 
1.2.Contar as Funções de Dados (FD) de cada elemento básico; 
1.3.Contar as Funções de Transação (FT) de cada elemento básico; 
1.4.Usar as tabelas do IFPUG para obter a complexidade e contribuição; 
1.5.Atribuir os pesos (contribuição) baseado na complexidade obdita; 
1.6.Somar os pesos atribuídos que é o resultado dos PFNA; 
2.Requisitos Não Funcionais (RNF) p/obter o Ponto de Função Ajustado (PFA) 
2.1.Obter as 14 características não funcionais do IFPUG; 
2.2.Atribuir os Níveis de Influência (NI) para cada umas das características; 
2.3.Somar os NI obtendo-se o Nível de Influência Total (NIT); 
2.4.Aplicar a fórmula no NIT para obter o Valor do Fator de Ajuste (VFA); 
2.5.Usar a fórmula para o tipo de projeto para obter o TAMANHO; 
http://www.alvarofpinheiro.eti.br
APF – Produtividade (P): 
É a capacidade de produzir as melhores saídas baseadas nas 
melhores entradas, objetivando a qualidade desejável e possível 
do software, com o melhor aproveitamento dos recursos 
essenciais e disponíveis para essa construção. Assim, 
lucratividade e desempenho estão englobados em produtividade. 
Uma forma de se obter a produtividade é utilizar a razão entre 
Linhas de Código por Pontos de Função que dependem da 
tecnologia utilizada, isto é, da linguagem de programação. A 
Quantitative Software Management (QSM) oferece uma tabela 
que pontua essa relação de produtividade que pode ser acessada 
pelo site http://www.qsm.com/resources/function-point-languages-table. 
Produtividade = Linhas de Código / Pontos de Função 
http://www.alvarofpinheiro.eti.br 
ou 
Produtividade = Homens / Hora
APF – Esforço (E): 
São as ações necessárias a serem aplicadas na construção de 
um software. Em geral esse esforço é calculado em horas, pois 
desta unidade pode-se chegar aos indicadores desejados para o 
acompanhamento de um projeto de construção de software. 
Uma forma de se obter o esforço de desenvolvimento é a 
multiplicação da produtividade pelo tamanho do software, assim 
se obtém a quantidade de horas necessárias para a referida 
construção. 
http://www.alvarofpinheiro.eti.br 
Esforço = Produtividade * Tamanho
APF – Escopo, Prazo e Custo: 
Trabalho é a quantidade de recursos alocados no 
desenvolvimento multiplicado pela quantidade de horas 
trabalhadas por dia. Escopo é o conjunto de requisitos que devem 
ser desenvolvidos podendo ser classificado com escopo positivo 
que é o que se pretende desenvolver e escopo negativo o que 
não será desenvolvido no momento. Prazo é o tempo necessário 
para desenvolver o escopo especificado. Custo é o valor na 
moeda local correspondente ao esforço utilizado para 
desenvolver o escopo especificado. 
Produtividade = (Linhas de Código / Ponto de Função) 
http://www.alvarofpinheiro.eti.br 
Trabalho = (Recursos * Horas Diárias) 
Prazo = Esforço / Produtividade ou Trabalho 
Custo = Esforço * Valor de 1 PF
APF – Resumo do Passo a Passo: 
1.Requisitos Funcionais (RF) p/obter Ponto de Função Não Ajustado (PFNA): 
1.1.Desmembrar os requisitos em Elementos Básicos (EB); 
1.2.Contar as Funções de Dados (FD) de cada elemento básico; 
1.3.Contar as Funções de Transações (FT) de cada elemento básico; 
1.4.Usar as tabelas do IFPUG para obter a complexidade e contribuição; 
1.5.Atribuir os pesos (contribuição) baseado na complexidade obdita; 
1.6.Somar os pesos atribuídos que é o resultado dos PFNA; 
2.Requisitos Não Funcionais (RNF) p/obter Ponto de Função Ajustado (PFA): 
2.1.Obter as 14 características não funcionais do IFPUG; 
2.2.Atribuir os Níveis de Influência (NI) para cada umas das características; 
2.3.Somar os NI obtendo-se o Valor de Influência (VI); 
2.4.Aplicar a fórmula no VI para obter o Valor do Fator de Ajuste (VFA); 
2.5.Usar a fórmula para o tipo de projeto para obter o TAMANHO; 
3.Cálculos: 
3.1.Obter a produtividade da equipe versus tecnologia usada; 
3.2.Levantar o valor de 1 Ponto de Função com base nos custos e lucros; 
3.3.Prever o Esforço de Desenvolvimento; 
3.4.Calcular o Prazo de Entrega; e 
3.5.Contabilizar o Custo do Desenvolvimento. 
http://www.alvarofpinheiro.eti.br
APF – Passo 1 de 13 : 
Levantar os requisitos funcionais e não funcionais caso seja o 
desenvolvimento de um novo software ou obter as 
funcionalidades existentes caso seja uma manutenção evolutiva 
ou adaptativa de um projeto ou sistema. 
http://www.alvarofpinheiro.eti.br
APF – Passo 2 de 13 : 
Determinar o tipo de contagem de Pontos de Função que pode 
ser de três formas: 
1. Projeto de Desenvolvimento (development project); 
2. Manutenção (enhancement project); ou 
3. Aplicação (application). 
http://www.alvarofpinheiro.eti.br
APF – Passo 3 de 13 : 
Identificar a fronteira da aplicação, isto é, o escopo da contagem, 
definindo as funcionalidades que serão incluídas, alteradas, 
excluídas, assim analisando o conjunto do software que será 
medido, além de determinar o propósito da contagem, que pode 
ser para obter o custo, o prazo, uma comparação. Visualizando o 
que é pertinente ao software ou que é oriundo de outro software. 
http://www.alvarofpinheiro.eti.br
APF – Passo 4 de 13 : 
Desmembrar cada requisito em seus elementos básicos, por 
exemplo: 
Sendo o requisito funcional “Cadastrar o cpf, o nome e o telefone 
de um contato”. Seu desmembramento em elementos básicos 
seria: 
Armazenamento dos contatos; 
Inclusão dos contatos; 
Alteração dos contatos; 
Exclusão dos contatos; e 
Consulta dos contatos. 
http://www.alvarofpinheiro.eti.br
APF – Passo 5 de 13 : 
Contar as Funções de Dados dos Elementos Básicos, sendo as funções as 
seguintes 
http://www.alvarofpinheiro.eti.br 
1. Arquivos Lógicos Internos (ALI) | Internal Logical File (ILF) 
Entidade lógica e persistente 
Mantido dentro da fronteira da aplicação 
Equivale à um Repositório de Dados 
2. Arquivos de Interface Externa (AIE) | External Interface File (EIF) 
Entidade lógica e persistente 
Mantido dentro da fronteira de outra aplicação 
Equivale à um WebService, RPC, Orb, Visibroker, CORBA
APF – Passo 6 de 13 : 
Contar as Funções de Transação dos Elementos Básicos, sendo as funções as 
seguintes: 
http://www.alvarofpinheiro.eti.br 
1.Entrada Externa (EE) | External Input (EI) 
Processo lógico do negócio que mantém os dados 
Contada com base no número de campos de dados 
2.Saída Externa (SE) | External Output (EO) 
Processo lógico do negócio que gera dados 
Exemplos típicos são relatórios 
3.Consulta Externa (CE) | External Query (EQ) 
O processamento sem cálculo
APF – Passo 7 de 13 : 
Descobrir as complexidades para os ALI, AIE, EE, SE e CE; baseadas nas 
tabelas fornecidas pela IFPUG: 
http://www.alvarofpinheiro.eti.br
APF – Passo 8 de 13 : 
Descobrir as contribuições (pesos) baseados nas complexidades dos ALI, AIE, 
EE, SE e CE; utilizando a tabela de contribuições do IFPUG: 
http://www.alvarofpinheiro.eti.br
APF – Passo 9 de 13 : 
Efetuar o somatório dos PF encontrados com base nas contribuições do 
IFPUG: 
http://www.alvarofpinheiro.eti.br
APF – Passo 10 de 13 : 
Encontrar o Valor do Fator de Ajuste (VFA) que é o passo final na contagem de pontos de 
função. Este fator de ajuste consiste nas restrições de negócio adicionais do software não 
consideradas pelos cinco tipos de funções e são baseados no Nível de Influência (NI) sobre 
as 14 Características Gerais do Sistema ou Requisitos Não Funcionais (RNF). 
http://www.alvarofpinheiro.eti.br 
Níveis de Influência (peso aplicado a cada uma das 14 características): 
0=Nenhuma influência; 
1=Influência mínima; 
2=Influência moderada; 
3=Influência média; 
4=Influência significante; e 
5=Influência forte. 
As 14 Características Gerais dos Sistemas (requisitos de qualidade): 
1=Comunicação de Dados; 
2=Processamento de Dados Distribuído; 
3=Desempenho; 
4=Utilização do Equipamento (Restrições de Recursos Computacionais); 
5=Volume de Transações; 
6=Entrada de Dados On-line; 
7=Eficiência do Usuário Final (Usabilidade); 
8=Atualização On-line; 
9=Processamento Complexo; 
10=Reusabilidade; 
11=Facilidade de Implantação; 
12=Facilidade Operacional (Inicialização, Cópia, Recuperação, etc); 
13=Múltiplos Locais e Organizações do Usuário; e 
14=Facilidade de Mudanças (Manutenibilidade).
APF – Passo 11 de 13 : 
Depois de atribuir o Nível de Influência (NI) que varia de 0 (Nenhuma 
Influência) a 5 (Influência Forte) para cada uma dessas 14 características 
gerais de sistema, deve-se somar todos os NI aplicados para se obter o Nível 
de Influência Total (NIT). 
Para se obter o Valor do Fator de Ajuste (VFA) aplica-se a multiplicação de 
0.01 sobre o Nível de Influência Total (NIT) e soma-se ao valor 0,65. 
Valor do Fator de Ajuste = Nível de Influência Total * 0,01 + 0,65 
http://www.alvarofpinheiro.eti.br
APF – Passo 12 de 13: 
O Valor de Ajuste da Contagem ou Ponto de Função Ajustado consiste na 
multiplicação dos Pontos de Função Não Ajustados pelo Valor do Fator de 
Ajuste. 
Valor de Ajuste da Contagem = Ponto de Função Não Ajustado * Valor do Fator de Ajuste 
http://www.alvarofpinheiro.eti.br
APF – Passo 13 de 13: 
Aplicar a fórmula de acordo com o tipo de desenvolvimento que pode ser um 
novo projeto, um projeto em manutenção ou um sistema em produção. 
Projeto de Desenvolvimento = Ponto de Função Não Ajustado * Valor do Fator de Ajuste 
Manutenção = (Ponto de Função Não Ajustado + Ponto de Função Incluído + Ponto de Função 
Alterado Atual – Ponto de Função Alterado Anterior – Ponto de Função Excluído) * Valor do Fator 
http://www.alvarofpinheiro.eti.br 
de Ajuste 
Aplicação = Projeto de Desenvolvimento – 
(Ponto de Função Não Ajustado * Valor do Fator de Ajuste)
APF – Estimativas: 
Imagine um novo projeto de desenvolvimento para o qual foram contados 100 
PF e que a fase trabalhada corresponde a 20% do referido projeto. Para esse 
desenvolvimento a equipe conta com 4 recursos e considerando que essa 
equipe tem uma produtividade média de 20 horas por PF, trabalhando numa 
jornada de 6 horas por dia e que o valor de de 1 hora de trabalho é de R$ 
35,00. 
http://www.alvarofpinheiro.eti.br 
Quantidade de PF para 20% de 100 PF é igual a 20 PF; 
Então o Esforço é 20h por PF * 20 PF = 400h; 
E que o Prazo - 400h / (4 * 6) tem-se 16,7 dias; e 
Que o Custo - 400h * R$ 35,00 = R$ 14.000,00.
APF – Técnicas: 
http://www.alvarofpinheiro.eti.br 
Horas por PF = Linhas de Código / Ponto de Função 
Trabalho = Quantidade Recursos * Horas Trabalho Diário 
Produtividade = Horas por PF ou Trabalho 
Esforço = Produtividade * Tamanho 
Prazo = Esforço / Produtividade 
Custo = Tamanho * Valor 1 PF 
Taxa de Produção = (Tamanho / Mês) ou (Tamanho / Ano) 
Taxa de Manutenção = Tamanho Manutenção / Tamanho Aplicativo
APF – Resumo: 
http://www.alvarofpinheiro.eti.br
APF – Resumo: 
http://www.alvarofpinheiro.eti.br
APF – Exemplo: Requisito Funcional 
Cadastrar acervo bibliotecário, informando dados como: 
Identificador, numeração automática; 
Tombamento, número da etiqueta impressa no livro; 
Título, nome do livro; Subtítulo, complemento do nome 
do livro; Autores, por ordem de prioridade; Edição; 
Volume; Ano de publicação; Gênero; Idioma; Tipo, se 
livro, revista, periódico; e ISBN, número sequêncial de 
publicação nacional. O cadastro deve possuir opções de 
inclusão, alteração, exclusão, impressão do acervo 
cadastrado, impressão da ficha (livro selecionado) e 
empréstimo. Também fornecer opção impressão 
baseado no filtro, que pode escolher qual o campo, qual 
tipo de filtro e dado a ser filtrado; Obter dados de livros 
de planilhas do excel (importação). 
http://www.alvarofpinheiro.eti.br
APF – Exemplo: Requisito Não Funcional 
O módulo deve ser desenvolvido para Web utilizando 
ASPX com Csharp e os dados devem ser persistidos no 
banco SQLServer 2008 R2; A transferência dos dados 
na nuvem podem ser textuais, menos os dados 
referentes a empréstimo que deve ser criptografado; O 
sistema deve ter restrição de acesso, permitindo apenas 
aos usuários conectados na Intranet da organização, 
obtendo seu login via Active Directory; As telas de 
cadastro devem ser fácieis de se usar, fazendo uso dos 
objetos visuais (Webtop); Em relação a performance, 
não se deve ultrapassar os 15 segundos para cada 
submissão ao servidor, caso ocorra uma mensagem de 
advertência deve ser lançada ao usuário e o processo 
reinicializado. 
http://www.alvarofpinheiro.eti.br
APF – Exemplo: Elementos Básicos 
http://www.alvarofpinheiro.eti.br 
Incluir acervo; 
Alterar acervo; 
Excluir acervo; 
Filtrar acervo; 
Imprimir acervos (grade); 
Imprimir ficha cadastral; 
Realizar empréstimo; e 
Importar acervo do excel.
APF – Exemplo: Protótipo 
http://www.alvarofpinheiro.eti.br
APF – Exemplo: Cálculo do Ponto de Função Não Ajustado 
Elementos Básicos FD/FT TD TR Complexidade Contribuição 
Acervo ALI 13 1 B 7 
Empréstimo ALI 6 2 M 10 
Incluir acervo EE 13 1 B 3 
Alterar acervo EE 13 1 B 3 
Excluir acervo EE 1 1 B 3 
Filtrar acervo SE 3 1 B 4 
Imprimir acervo CE 13 1 B 3 
Imprimir ficha cadastral SE 10 2 M 5 
realizar empréstimos EE 6 2 M 4 
importar de excel AIE 12 3 B 5 
Ponto de Função Não Ajustado 47 
http://www.alvarofpinheiro.eti.br
APF – Exemplo: Cálculo do Valor do Fator de Ajuste 
Características Nível Influência 
http://www.alvarofpinheiro.eti.br 
01. Comunicação de Dados 4 
02. Processamento Distribuído 4 
03. Desempenho 1 
04. Utilização do Equipamento 2 
05. Volume de Transações 0 
06. Entrada de Dados ON-LINE 5 
07. Eficiência do Usuário Final 5 
08. Atualização ON-LINE 1 
09. Processamento Complexo 1 
10. Reutilização de Código 1 
11. Facilidade de Implantação 3 
12. Facilidade Operacional 3 
13. Múltiplos Locais 3 
14. Facilidades de Mudanças 4 
Nível de Influência Total (NIT) 37 
Valor do Fator de Ajuste (NIT * 0,01 + 0,65) 1,02
APF – Exemplo: Tabela QSM para Obter a Produtividade 
http://www.alvarofpinheiro.eti.br
APF – Exemplo: Cálculo das Estimativas 
Tamanho do Software para Projeto de Desenvolvimento = Ponto de Função Não 
Ajustado * Valor do Fator de Ajuste então: 
Ponto de Função Não Ajustado = 47 
Valor do Fator de Ajuste = 1,02 
Ponto de Função Ajustado = 47 * 1,02 = Tamanho do Software = 47,94 
Para obtenção da produtividade multiplica-se Linhas de Código por Ponto de Função e 
para descobrir esse valor indica-se usar o valor mínimo da tabela QSM para a 
linguagem que foi designada, assim resultando em uma produtividade de 15. Outra 
forma de calcular a produtividade é saber a quantidade de recursos alocados no projeto 
e multiplicá-lo pela quantidade de horas trabalhadas por dia. Considerando que existam 
2 recursos alocados e que as horas trabalhadas por dia são de 8h, temos 2 * 8 = 16h 
que seria a produtividade. 
Produtividade = 15 (baseada no QSM) 
Esforço = Produtividade * Tamanho = 15 * 47,94 = 719,1 
Prazo = Esforço / Produtividade = 719,1 / 15 = 47,94 - 8 dias de folga = 39,94 = 40d 
Valor de 1 PF = R$ 30,00 
Custo = Valor 1 PF * Tamanho = 30 * 47,94 = R$ 6.232,20 
http://www.alvarofpinheiro.eti.br
APF – Fórmulas: 
Ponto de Função = Estimativa de Tamanho do Software 
Produtividade = Linhas de Código / Ponto de Função 
Trabalho = (Recursos * Horas Diárias) 
Esforço = Produtividade * Tamanho ou Trabalho * Tamanho 
Aplicação = Projeto de Desenvolvimento – (Ponto de Função Não Ajustado * Valor do Fator de Ajuste) 
http://www.alvarofpinheiro.eti.br 
Prazo = Esforço / Produtividade ou Trabalho 
Custo = Esforço * Valor de 1 PF 
Valor do Fator de Ajuste = Nível de Influência Total * 0,01 + 0,65 
Valor de Ajuste da Contagem = Ponto de Função Não Ajustado * Valor do Fator de Ajuste 
Projeto de Desenvolvimento = Ponto de Função Não Ajustado * Valor do Fator de Ajuste 
Manutenção = (Ponto de Função Não Ajustado + Ponto de Função Incluído + Ponto de Função Alterado Atual – Ponto 
de Função Alterado Anterior – Ponto de Função Excluído) * Valor do Fator de Ajuste
APF – Sistema de Informática do Serviço Público (SISP) 
SISP significa Sistema de Informática do Serviço 
Público ou como atualmente é designado Sistema 
de Administração dos Recursos de Tecnologia da 
Informação e tem como objetivo entre outras 
regulamentações a padronização do uso da métrica 
de ponto de função pelo Governo Federal e suas 
Unidades Federativas. 
http://www.alvarofpinheiro.eti.br 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
Para definir a Produtividade (P), isto é, o fator “homens-hora” para 
construir um Ponto de Função caso inexistência de uma base 
histórica segue a regra: 
Inicialmente, deve-se procurar algum projeto anterior semelhante dentro da 
própria instituição, que tenha utilizado a mesma linguagem de 
programação/desenvolvimento do novo projeto, contá-lo utilizando a 
métrica de pontos de função e, através desta contagem, chegar em uma 
produtividade correspondente a este projeto anterior. Por exemplo, se 
verificar que em projeto anterior, na mesma linguagem, contado em 10 
pontos de função, o esforço foi de 100 horas, a produtividade daquele 
projeto foi de 10 horas por ponto de função. Fazendo-se isso com uma 
maior quantidade de projetos anteriores semelhantes, o resultado será 
mais preciso, utilizando-se a média de produtividade obtida como o “fator 
de produtividade”. Lembrando-se que se os projetos anteriores não estão 
em pontos de função, será necessário contá-los para se chegar a estes 
números. Caso não haja sequer projeto similar na instituição ou seja 
inviável realizar o processo descrito acima, deve-se recorrer aos 
fornecedores disponíveis no mercado para obter uma base. 
http://www.alvarofpinheiro.eti.br 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
O Roteiro de Métricas de Software do SISP: 
Trata-se de um manual de contagem de Pontos de Função 
complementar ao Manual de Práticas de Contagem (CPM), 
contemplando os pontos não cobertos pelo manual do IFPUG, mas 
vivenciados pelos órgãos e entidades do SISP, procurando também 
atender aos acórdãos do Tribunal de Contas da União. E pode ser 
baixado na comunidade do SISP, que está localizada no portal 
do SISP (http://www.sisp.gov.br) e na seção Arquivos de Métricas no 
site do Governo Eletrônico (http://www.governoeletronico.gov.br) na 
seção Biblioteca. 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
Em relação a Obrigatoriedade: 
Os órgãos Federais e Estaduais não são obrigados a adotar o 
Roteiro de Métricas de software do SISP, porém a Portaria SLTI/MP 
Nº 31, de 29 novembro de 2010, recomenda que os órgãos 
integrantes do Sistema de Administração dos Recursos de 
Informação e Informática (SISP) adotem o roteiro de contagem nas 
suas contratações de serviços de desenvolvimento e manutenção de 
soluções de software. O Roteiro de Métricas de Software 
do SISP servir como auxílio aos órgãos que não possuem processo 
formalizado de contagem e de contratação utilizando a métrica de 
pontos de função. Para os órgãos que já possuem seus próprios 
manuais e roteiros, a utilização do Roteiro de Métricas de Software 
do SISP (no todo ou em parte) é facultativa. Esse roteiro poderá ser 
alterado e adequado às características de cada órgão e de cada 
contrato, a critério do próprio órgão. 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
Em relação a Parceria com IFPUG: 
A Portaria nº 31/2010 do MPOG recomenda o Manual de Contagem de Pontos 
de Função (CPM) e existe um estudo para que todos os órgãos façam filiação 
ao IFPUG ou ao Órgão Central do SISP que irá distribuir cópias autorizadas 
aos órgãos membros. Porém isto encontra-se em andamento, com uma 
discussão com o IFPUG sobre filiação do Ministério do Planejamento, com um 
acordo para adesão de outros órgãos. Estes órgãos poderiam aderir à filiação, 
de forma facilitada e facultativa, caso fossem atendidos alguns pré requistos. 
Ainda não há previsão sobre a conclusão desta discussão. A equipe de 
Consultores em Melhoria de Processo de Software, que coordena o Grupo de 
Métricas está à frente desse projeto. 
O Manual de Práticas de Contagem de Pontos de Função (Function Point 
Counting Practices Manual) é um documento publicado pelo International 
Function Point users Group (IFPUG), que detém os seus direitos, conforme 
consta do próprio manual. No Roteiro de Métricas do SISP é citado que o CPM 
é publicado pelo IFPUG e informações adicionais podem ser obtidas no sítio 
oficial do IFPUG (www.ifpug.org) e no site do representante oficial no Brasil 
(www.bfpug.com.br). 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
O SISP oferece consultoria e material de apoio: 
O SISP não possui um grupo de trabalho que realiza contagem de pontos 
de função, mas existe um grupo de consultoria que tira dúvidas e presta 
consultoria relacionado ao processo de contagem de pontos de função. 
Caso venha a ter alguma dúvida específica com relação ao tema é possível 
abrir um chamado via Sistema de Demandas do C3S 
(c3s.sisp.gov.br) descrevendo-a. O Portal do SISP (www.sisp.gov.br), na 
comunidade SISP, seção "Arquivos/Métricas", estão disponíveis materiais 
relacionados ao tema, incluindo o Roteiro de Métricas de Software 
do SISP - v1.0. 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
O SISP orienta as seguintes técnicas de estimativa de Pontos de 
Função: 
Contagem Indicativa (NESMA) 
A técnica NESMA utiliza como documento base o Modelo de Dados do 
Projeto e assume que cada Arquivo Lógico Interno tem 35 PFs e cada 
Arquivo de Interface Externa tem 15 PFs. 
Contagem Estimativa de Pontos de Função ( CEPF) 
A técnica CEPF utiliza os requisitos iniciais do projeto para identificar e 
classificar os Processos Elementares da APF em EE, CE e SE, bem como 
identificar os dados associados, definindo sua complexidade: Baixa, Média 
e Alta. Caso não seja possível definir a complexidade, considere a 
complexidade Média. Durante a identificação dos dados associados a uma 
função transacional específica (EE, CE ou SE), procure definir os ALIs e 
AIEs da aplicação. Caso não seja possível definir a complexidade do ALI 
ou do AIE, considere a complexidade Baixa. 
http://www.alvarofpinheiro.eti.br 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
Sistemas legados devem ser contatos também via APF: 
Os sistemas legados, quando a documentação está completa, o ideal é que 
seja feita a contagem detalhada, mas quando não existe essa 
documentação, recomenda-se fazer a contagem estimada, podendo-se 
utilizar várias técnicas, entre as quais destacam-se a Contagem Indicativa 
(NESMA) e a Contagem Estimativa de Pontos de Função (CEPF). 
http://www.alvarofpinheiro.eti.br 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
SISP para manutenções corretivas nos sistemas: 
Com relação à previsão de manutenções, recomenda-se que os sistemas 
sejam analisados, de forma a obter uma previsão de demandas de 
manutenção (evolutiva, adaptativa e corretiva) e definir um percentual, que 
pode ser anual. Lembrando que, no caso de manutenção corretiva, quando 
o sistema em produção tiver sido desenvolvido pela contratada, a 
manutenção será do tipo Garantia, conforme prazos e demais cláusulas do 
contrato em questão. Caso não exista cláusula contratual de Garantia, 
deve ser considerada a garantia de seis meses, preconizada por lei 
(Código do Consumidor). 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
Em relação a percentual de referência para contratar as manutenções: 
Não existe percentual de referência para contratar manutenções (evolutiva, 
adaptativa e corretiva). Recomenda-se analisar os sistemas de forma a 
estimar esse percentual, que pode ser anual, seja por registros de 
ocorrências, registro de gastos em anos anteriores, entrevista com 
desenvolvedores que trabalhavam na manutenção dos sistemas já 
existentes ou levantamento das necessidades de futuras 
manutenções. Lembrando que, no caso de manutenção corretiva, quando 
o sistema em produção tiver sido desenvolvido pela contratada, a 
manutenção será do tipo Garantia, conforme prazos e demais cláusulas do 
contrato em questão. Caso não exista cláusula contratual de Garantia, 
deve ser considerada a garantia de seis meses, preconizada por lei 
(Código do Consumidor). 
http://www.alvarofpinheiro.eti.br 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
O SISP recomendação a adoção de AFP: 
A adoção da métrica Ponto de Função é uma recomendação do SISP, isto 
é enfatizado pela portaria SLTI/MP n° 31 de 29 de novembro de 2010, que 
no seu art. 1º, parágrafo 3, informa que sua utilização é uma boa prática na 
contratação de serviços de desenvolvimento de soluções de software. Esta 
mesma portaria no seu art. 2º, parágrafo único, reforça esta recomendação 
também para projetos de melhoria ou manutenção adaptativa de softwares, 
através da utilização de procedimentos complementares ao manual de 
contagem do IFPUG. Estes procedimentos são estabelecidos no Roteiro de 
Métricas de Software do SISP, também recomendado nesta portaria. Além 
dessa portaria, existem diversos acórdãos do TCU que tem 
recomendações neste mesmo sentido, deve-se destacar: 
Item 9.3.4.1 do Acórdão do TCU 1782/2007 - Plenário; 
Item 9.2.2.2 do Acórdão 2024/2007 - Plenário. 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
Não deve-se derivar a APF de outras métricas: 
A métrica Ponto de Função mede o tamanho funcional de um software e 
não é correto derivar pontos de função a partir de outra métrica e vice-versa. 
O TCU, em diversos acórdãos (ex: 1274/2010 e 1125/2009), 
condena a derivação de pontos de função a partir de outra métrica, em 
especial a métrica homem-hora. 
Fonte: www.sisp.gov.br
APF – Sistema de Informática do Serviço Público (SISP) 
http://www.alvarofpinheiro.eti.br 
Valor Médio de Ponto de Função: 
O Gartner Group divulgou um artigo contendo o custo médio do ponto de 
função entre os anos de 2006 e 2010. Os valores estão em dólares. Em 
2010, o custo médio foi de $ 452. Os dados publicados pelo Gartner não 
foram classificados por plataforma ou linguagem de programação, mas a 
plataforma/linguagem reflete no valor do ponto de função, pois está 
relacionado a produtividade. Se utilizar os dados do Gartner Group, 
mencionar a fonte. 
Fonte: www.sisp.gov.br

Mais conteúdo relacionado

Mais procurados

Projeto Seis Sigma Black Belt Six Sigma Black Belt Project
Projeto Seis Sigma Black Belt  Six Sigma Black Belt ProjectProjeto Seis Sigma Black Belt  Six Sigma Black Belt Project
Projeto Seis Sigma Black Belt Six Sigma Black Belt ProjectMarcelo Pedrosa
 
Auditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoAuditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoFernando Palma
 
SGA segundo a NBR ISO 14001:2015 - Noções
SGA segundo a NBR ISO 14001:2015 - NoçõesSGA segundo a NBR ISO 14001:2015 - Noções
SGA segundo a NBR ISO 14001:2015 - NoçõesRoberto Emery-Trindade
 
Cronograma de atividades da gestão da qualidade
Cronograma de atividades da gestão da qualidadeCronograma de atividades da gestão da qualidade
Cronograma de atividades da gestão da qualidadeYthia Karla
 
Interação Humano Computador Capítulo 11 - Análise de Atividades
Interação Humano Computador Capítulo 11 - Análise de AtividadesInteração Humano Computador Capítulo 11 - Análise de Atividades
Interação Humano Computador Capítulo 11 - Análise de AtividadesWellington Oliveira
 
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
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfIvanFontainha
 

Mais procurados (20)

Gestão por Processos
Gestão por ProcessosGestão por Processos
Gestão por Processos
 
ISO/IEC 15504 SPICE + 33000
ISO/IEC 15504 SPICE + 33000ISO/IEC 15504 SPICE + 33000
ISO/IEC 15504 SPICE + 33000
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Slides MPS-BR
Slides MPS-BRSlides MPS-BR
Slides MPS-BR
 
Projeto Seis Sigma Black Belt Six Sigma Black Belt Project
Projeto Seis Sigma Black Belt  Six Sigma Black Belt ProjectProjeto Seis Sigma Black Belt  Six Sigma Black Belt Project
Projeto Seis Sigma Black Belt Six Sigma Black Belt Project
 
Auditoria em tecnologia da informação
Auditoria em tecnologia da informaçãoAuditoria em tecnologia da informação
Auditoria em tecnologia da informação
 
SGA segundo a NBR ISO 14001:2015 - Noções
SGA segundo a NBR ISO 14001:2015 - NoçõesSGA segundo a NBR ISO 14001:2015 - Noções
SGA segundo a NBR ISO 14001:2015 - Noções
 
Cronograma de atividades da gestão da qualidade
Cronograma de atividades da gestão da qualidadeCronograma de atividades da gestão da qualidade
Cronograma de atividades da gestão da qualidade
 
Interação Humano Computador Capítulo 11 - Análise de Atividades
Interação Humano Computador Capítulo 11 - Análise de AtividadesInteração Humano Computador Capítulo 11 - Análise de Atividades
Interação Humano Computador Capítulo 11 - Análise de Atividades
 
Aula 2 iso 9000
Aula 2 iso 9000Aula 2 iso 9000
Aula 2 iso 9000
 
CMMI
CMMICMMI
CMMI
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Teste PowerPoint
Teste PowerPointTeste PowerPoint
Teste PowerPoint
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
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
 
Produtividade e Qualidade
Produtividade e QualidadeProdutividade e Qualidade
Produtividade e Qualidade
 
CMMI
CMMICMMI
CMMI
 
Introdução a gerenciamento de projetos e PMBoK®
Introdução a gerenciamento de projetos e PMBoK®Introdução a gerenciamento de projetos e PMBoK®
Introdução a gerenciamento de projetos e PMBoK®
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
 

Semelhante a Medida de Esforço de Software com Análise de Ponto de Função

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
 
Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Fatto Consultoria e Sistemas
 
Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Fatto Consultoria e Sistemas
 
Curso de APF - Básico
Curso de APF - BásicoCurso de APF - Básico
Curso de APF - BásicoMarcus Costa
 
Aplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoAplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoWisthon Douglas
 
Curso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de FuncaoCurso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de FuncaoGrupo Treinar
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxRoberto Nunes
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfJadna Almeida
 
Trabalho qualidade de_software
Trabalho qualidade de_softwareTrabalho qualidade de_software
Trabalho qualidade de_softwarestefaniak2004
 
A contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwareA contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwaregssimoes
 

Semelhante a Medida de Esforço de Software com Análise de Ponto de Função (20)

Ponto de função
Ponto de funçãoPonto de função
Ponto de função
 
Ponto de função
Ponto de funçãoPonto de função
Ponto de função
 
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
 
Fundamentos APF
Fundamentos APFFundamentos APF
Fundamentos APF
 
Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...
 
Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...
 
Curso de APF - Básico
Curso de APF - BásicoCurso de APF - Básico
Curso de APF - Básico
 
Aplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoAplicacao fpa pontos da função
Aplicacao fpa pontos da função
 
Medição de software
Medição de softwareMedição de software
Medição de software
 
Curso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de FuncaoCurso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de Funcao
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 
152191 11993
152191 11993152191 11993
152191 11993
 
Trabalho qualidade de_software
Trabalho qualidade de_softwareTrabalho qualidade de_software
Trabalho qualidade de_software
 
Planificação do Projeto de Software
Planificação do Projeto de SoftwarePlanificação do Projeto de Software
Planificação do Projeto de Software
 
Aula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptxAula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptx
 
A contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwareA contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de software
 

Mais de Álvaro Farias Pinheiro

Mais de Álvaro Farias Pinheiro (18)

Data science
Data scienceData science
Data science
 
IA
IAIA
IA
 
Autômatos
AutômatosAutômatos
Autômatos
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Padrões de Projeto (GoF)
Padrões de Projeto (GoF)Padrões de Projeto (GoF)
Padrões de Projeto (GoF)
 
Linguagem de Modelagem Unificada (UML)
Linguagem de Modelagem Unificada (UML)Linguagem de Modelagem Unificada (UML)
Linguagem de Modelagem Unificada (UML)
 
Introdução a Tecnologias Web
Introdução a Tecnologias WebIntrodução a Tecnologias Web
Introdução a Tecnologias Web
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
Introdução à Sistemas de Informação
Introdução à Sistemas de InformaçãoIntrodução à Sistemas de Informação
Introdução à Sistemas de Informação
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Eficiência Energética
Eficiência EnergéticaEficiência Energética
Eficiência Energética
 
Fundamentos da Engenharia de Software
Fundamentos da Engenharia de SoftwareFundamentos da Engenharia de Software
Fundamentos da Engenharia de Software
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
Fundamentos de Padrões de Projeto de Software
Fundamentos de Padrões de Projeto de SoftwareFundamentos de Padrões de Projeto de Software
Fundamentos de Padrões de Projeto de Software
 
Fundamentos de Banco de Dados Relacionais
Fundamentos de Banco de Dados RelacionaisFundamentos de Banco de Dados Relacionais
Fundamentos de Banco de Dados Relacionais
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Redes Sociais
Redes SociaisRedes Sociais
Redes Sociais
 

Medida de Esforço de Software com Análise de Ponto de Função

  • 1. https://www.facebook.com/alvarofpinheiroaulas/ br.linkedin.com/in/alvarofpinheiro/ ANÁLISE DE PONTO DE FUNÇÃO MEDIDA DE ESFORÇO PARA DESENVOLVIMENTO DE SOFTWARE http://www.alvarofpinheiro.eti.br
  • 2. MEDIDA: A medição é a atividade básica de qualquer engenharia e não seria diferente para a engenharia de software, porém como esse campo é muito ressente, está longe de desenvolver uma medição padrão que seja amplamente aceita e principalmente, tenha elementos para seus cálculos que não sejam baseados em fatores subjetivos. Conseqüentemente a comunidade de TIC possui muitas críticas sobre as medições hoje utilizadas e muita discordância sobre o que medir e como avaliar os resultados obtidos dessas medições. http://www.alvarofpinheiro.eti.br
  • 3. MÉTRICA: As métricas de software servem para realizar a tarefa fundamental do gerenciamento de projetos que é o planejamento. É com uma métrica que se pode identificar a quantidade de esforço necessário para o desenvolvimento, o custo para tal e o prazo para entrega dos artefatos. http://www.alvarofpinheiro.eti.br
  • 4. MÉTRICA: As métricas de software sob o ponto de vista de MEDIÇÃO são divididas em duas categorias: medidas diretas e indiretas. Medidas Diretas: são compostas por medições que objetivam descobrir o custo para produzir o software, o esforço necessário a ser aplicados ao desenvolvimento ou a manutenção do software, a quantidade de linhas de código produzidas e o total de bugs encontrados. Exemplos: Custo; Esforço; Linhas de Código; Velocidade de Execução; Memória; Número de Bugs; Complexidade Ciclomática. Medidas Indiretas: utilizam medições mais complexas, pois objetivam verificar a qualidade do software, a funcionalidade, ou a sua capacidade de manutenção, sendo mais difíceis de serem percebidas e avaliadas. Exemplos: Funcionalidade; Qualidade; Complexidade; Eficiência; Confiabilidade; Manutenibilidade. http://www.alvarofpinheiro.eti.br
  • 5. MÉTRICA: As métricas de software sob o ponto de vista de APLICAÇÃO são divididas em duas categorias: medidas produtividade e qualidade. Medidas de Produtividade: verificam as saídas do processo de engenharia de software, e tem como objetivo de avaliar próprio processo de desenvolvimento. Medidas de Qualidade: verificam o quanto o software atende aos requisitos definidos pelo usuário, isto é, a funcionalidade, assim permitem indicar o nível de resposta do software às exigências explícitas e implícitas do cliente, com relação ao que foi definido como qualidade. http://www.alvarofpinheiro.eti.br
  • 6. TERMINOLOGIAS: MEDIDA: quantidade, dimensão, capacidade ou tamanho do software. MEDIÇÃO: ato de medir. INDICADOR: métrica que fornece compreensão dos resultados do software. MÉTRICA: as técnicas utilizadas para verificar a funcionalidade, a modularidade, a manutenibilidade, etc, e podem ser subclassificadas como ORIENTADAS AO TAMANHO, ORIENTADAS À FUNÇÃO, ORIENTADAS A PESSOAS. http://www.alvarofpinheiro.eti.br
  • 7. POR QUE MEDIR: Verificar a qualidade do software; Avaliar a produtividade dos desenvolvedores; Determinar as vantagens de novos métodos; Analisar as vantagens de novas ferramentas; Compor uma base para as estimativas; Fomentar oportunidades por refatoração; Justificar aquisições de recursos; Prever o custo do desenvolvimento; Estimar o prazo para entrega dos artefatos; Apoiar o planejamento do escopo do software; Mensurar os quantitativos de recursos; e Obter a produtividade dos recursos. http://www.alvarofpinheiro.eti.br
  • 8. Análise de Ponto de Função (APF): Serve para medir o tamanho funcional de um software dando subsídios para o cálculo da produtividade do desenvolvimento com base na funcionalidade, obrigatoriamente levando em consideração o ponto de vista do usuário e assim avaliando o tamanho e a complexidade do software. Com os pontos calculados pode-se obter as horas necessárias para construção e qual o custo de desenvolvimento. Esta métrica é mantida pela International Function Point Users Group (IFPUG) que é representada no Brasil pela Brazilian Function Point Users Group (BFPUG) e tem como uma das principais contribuidoras a Netherlands Software Metrics users Association (NESMA). http://www.alvarofpinheiro.eti.br
  • 9. APF – O que mede? Funcionalidade segundo a perspectiva do usuário; A manutenção evolutiva, adaptativa e corretiva; Implementação independentemente de tecnologia; Comparar produtividade entre ambientes (P=PF/Esforço); Melhorar as estimativas de projetos; e Criar uma unidade padrão de medida de software. http://www.alvarofpinheiro.eti.br
  • 10. APF – Como evoluiu? 1965 – Contagem de Linhas de Código Fonte (SLOC); http://www.alvarofpinheiro.eti.br 1979 – Análise de Ponto de Função (FPA); 1979, Allan Albrecht da IBM, conferência da Guide/Share; 1979, Publicação formal da metodologia; 1984, Guideline Productivity Measurement and Estimate; 1986, Grupo Internacional de Usuários de Pontos de Função; 1987, Manual de Práticas de Contagem (CPM); 1994, Grupo da ISO sobre Medidas Funcionais de Tamanho; 1999, Function Point Counting Practices Manual da IFPUG;  2002, Padrão Internacional ISO/IEC 20926; 1993 – Análise de Ponto de Casos de Uso (UCPA);
  • 11. APF – Quem certifica? A Certified Function Point Specialist (CFPS) é a certificação conferida pelo International Function Point Users Group (IFPUG) às pessoas aprovadas no exame de certificação. http://www.alvarofpinheiro.eti.br
  • 12. APF – Qual a margem de erro? Quanto melhor a qualidade da Engenharia de Requisitos aplicada, isto é, quanto maior tempo for dedicado a elicitação (levantamento de requisitos) menor será a margem de erros. http://www.alvarofpinheiro.eti.br
  • 13. APF – Quais as vantagens? Determinar o tamanho de um software independente que seja desenvolvimento de um novo ou a compra de um pacote, pois para saber seu custo e/ou prazo basta contar as funcionalidades; Apoiar no entendimento dos benefícios de um software para a organização contando as funcionalidades que especificamente atendam aos requisitos desejados; Medir a qualidade e a produtividade de um software; Fator de normalização para comparação de softwares; E o principal é calcular os custos dos recursos requeridos para desenvolvimento ou manutenção do software. http://www.alvarofpinheiro.eti.br
  • 14. APF – Quais as desvantagens? É recomendável ter conhecimento aprofundado das funcionalidades do software para estimar com maior confiabilidade; A utilização de pesos para questões subjetivas como os requisitos não funcionais; e Existir uma boa base histórica para melhor quantificar. http://www.alvarofpinheiro.eti.br
  • 15. APF – Sopa de Letras: IFPUG – International Function Point Users Group BFPUG – Brazilian Function Point Users Group NESMA – Netherlands Software Metrics users Association RF – Requisitos Funcionais RNF – Requisitos Não Funcionais PF – Ponto de Função PFNA – Ponto de Função Não Ajustado PFA – Ponto de Função Ajustado FD – Funções de Dados FT – Funções de Transação NI – Nível de Influência NIT – Nível de Influência Total VFA – Valor do Fator de Ajuste VNA – Valor Não Ajustado da Contagem VAC – Valor Ajustado da Contagem FP – Fator de Produtividade http://www.alvarofpinheiro.eti.br
  • 16. APF – Ponto de Função (PF): É uma Unidade de Medida de Software que foi criada em 1977 por Alan Albrecht da IBM Corporation e posteriormente foi reconhecida pela International Organization for Standardization (ISO) para estimar o tamanho de um software se baseando nos requisitos funcionais e não funcionais, isto é, na funcionalidade percebida pelo usuário, independentemente da tecnologia usada para implementá-lo. Ponto de Função = Estimativa de Tamanho do Software http://www.alvarofpinheiro.eti.br
  • 17. APF – Tamanho (T): Resultado da aplicação de contagens de pontos de função sobre os requisitos funcionais e não funcionais de um software. 1.Requisitos Funcionais (RF) p/obter o Ponto de Função Não Ajustado (PFNA) 1.1.Desmembrar os requisitos em Elementos Básicos (EB); 1.2.Contar as Funções de Dados (FD) de cada elemento básico; 1.3.Contar as Funções de Transação (FT) de cada elemento básico; 1.4.Usar as tabelas do IFPUG para obter a complexidade e contribuição; 1.5.Atribuir os pesos (contribuição) baseado na complexidade obdita; 1.6.Somar os pesos atribuídos que é o resultado dos PFNA; 2.Requisitos Não Funcionais (RNF) p/obter o Ponto de Função Ajustado (PFA) 2.1.Obter as 14 características não funcionais do IFPUG; 2.2.Atribuir os Níveis de Influência (NI) para cada umas das características; 2.3.Somar os NI obtendo-se o Nível de Influência Total (NIT); 2.4.Aplicar a fórmula no NIT para obter o Valor do Fator de Ajuste (VFA); 2.5.Usar a fórmula para o tipo de projeto para obter o TAMANHO; http://www.alvarofpinheiro.eti.br
  • 18. APF – Produtividade (P): É a capacidade de produzir as melhores saídas baseadas nas melhores entradas, objetivando a qualidade desejável e possível do software, com o melhor aproveitamento dos recursos essenciais e disponíveis para essa construção. Assim, lucratividade e desempenho estão englobados em produtividade. Uma forma de se obter a produtividade é utilizar a razão entre Linhas de Código por Pontos de Função que dependem da tecnologia utilizada, isto é, da linguagem de programação. A Quantitative Software Management (QSM) oferece uma tabela que pontua essa relação de produtividade que pode ser acessada pelo site http://www.qsm.com/resources/function-point-languages-table. Produtividade = Linhas de Código / Pontos de Função http://www.alvarofpinheiro.eti.br ou Produtividade = Homens / Hora
  • 19. APF – Esforço (E): São as ações necessárias a serem aplicadas na construção de um software. Em geral esse esforço é calculado em horas, pois desta unidade pode-se chegar aos indicadores desejados para o acompanhamento de um projeto de construção de software. Uma forma de se obter o esforço de desenvolvimento é a multiplicação da produtividade pelo tamanho do software, assim se obtém a quantidade de horas necessárias para a referida construção. http://www.alvarofpinheiro.eti.br Esforço = Produtividade * Tamanho
  • 20. APF – Escopo, Prazo e Custo: Trabalho é a quantidade de recursos alocados no desenvolvimento multiplicado pela quantidade de horas trabalhadas por dia. Escopo é o conjunto de requisitos que devem ser desenvolvidos podendo ser classificado com escopo positivo que é o que se pretende desenvolver e escopo negativo o que não será desenvolvido no momento. Prazo é o tempo necessário para desenvolver o escopo especificado. Custo é o valor na moeda local correspondente ao esforço utilizado para desenvolver o escopo especificado. Produtividade = (Linhas de Código / Ponto de Função) http://www.alvarofpinheiro.eti.br Trabalho = (Recursos * Horas Diárias) Prazo = Esforço / Produtividade ou Trabalho Custo = Esforço * Valor de 1 PF
  • 21. APF – Resumo do Passo a Passo: 1.Requisitos Funcionais (RF) p/obter Ponto de Função Não Ajustado (PFNA): 1.1.Desmembrar os requisitos em Elementos Básicos (EB); 1.2.Contar as Funções de Dados (FD) de cada elemento básico; 1.3.Contar as Funções de Transações (FT) de cada elemento básico; 1.4.Usar as tabelas do IFPUG para obter a complexidade e contribuição; 1.5.Atribuir os pesos (contribuição) baseado na complexidade obdita; 1.6.Somar os pesos atribuídos que é o resultado dos PFNA; 2.Requisitos Não Funcionais (RNF) p/obter Ponto de Função Ajustado (PFA): 2.1.Obter as 14 características não funcionais do IFPUG; 2.2.Atribuir os Níveis de Influência (NI) para cada umas das características; 2.3.Somar os NI obtendo-se o Valor de Influência (VI); 2.4.Aplicar a fórmula no VI para obter o Valor do Fator de Ajuste (VFA); 2.5.Usar a fórmula para o tipo de projeto para obter o TAMANHO; 3.Cálculos: 3.1.Obter a produtividade da equipe versus tecnologia usada; 3.2.Levantar o valor de 1 Ponto de Função com base nos custos e lucros; 3.3.Prever o Esforço de Desenvolvimento; 3.4.Calcular o Prazo de Entrega; e 3.5.Contabilizar o Custo do Desenvolvimento. http://www.alvarofpinheiro.eti.br
  • 22. APF – Passo 1 de 13 : Levantar os requisitos funcionais e não funcionais caso seja o desenvolvimento de um novo software ou obter as funcionalidades existentes caso seja uma manutenção evolutiva ou adaptativa de um projeto ou sistema. http://www.alvarofpinheiro.eti.br
  • 23. APF – Passo 2 de 13 : Determinar o tipo de contagem de Pontos de Função que pode ser de três formas: 1. Projeto de Desenvolvimento (development project); 2. Manutenção (enhancement project); ou 3. Aplicação (application). http://www.alvarofpinheiro.eti.br
  • 24. APF – Passo 3 de 13 : Identificar a fronteira da aplicação, isto é, o escopo da contagem, definindo as funcionalidades que serão incluídas, alteradas, excluídas, assim analisando o conjunto do software que será medido, além de determinar o propósito da contagem, que pode ser para obter o custo, o prazo, uma comparação. Visualizando o que é pertinente ao software ou que é oriundo de outro software. http://www.alvarofpinheiro.eti.br
  • 25. APF – Passo 4 de 13 : Desmembrar cada requisito em seus elementos básicos, por exemplo: Sendo o requisito funcional “Cadastrar o cpf, o nome e o telefone de um contato”. Seu desmembramento em elementos básicos seria: Armazenamento dos contatos; Inclusão dos contatos; Alteração dos contatos; Exclusão dos contatos; e Consulta dos contatos. http://www.alvarofpinheiro.eti.br
  • 26. APF – Passo 5 de 13 : Contar as Funções de Dados dos Elementos Básicos, sendo as funções as seguintes http://www.alvarofpinheiro.eti.br 1. Arquivos Lógicos Internos (ALI) | Internal Logical File (ILF) Entidade lógica e persistente Mantido dentro da fronteira da aplicação Equivale à um Repositório de Dados 2. Arquivos de Interface Externa (AIE) | External Interface File (EIF) Entidade lógica e persistente Mantido dentro da fronteira de outra aplicação Equivale à um WebService, RPC, Orb, Visibroker, CORBA
  • 27. APF – Passo 6 de 13 : Contar as Funções de Transação dos Elementos Básicos, sendo as funções as seguintes: http://www.alvarofpinheiro.eti.br 1.Entrada Externa (EE) | External Input (EI) Processo lógico do negócio que mantém os dados Contada com base no número de campos de dados 2.Saída Externa (SE) | External Output (EO) Processo lógico do negócio que gera dados Exemplos típicos são relatórios 3.Consulta Externa (CE) | External Query (EQ) O processamento sem cálculo
  • 28. APF – Passo 7 de 13 : Descobrir as complexidades para os ALI, AIE, EE, SE e CE; baseadas nas tabelas fornecidas pela IFPUG: http://www.alvarofpinheiro.eti.br
  • 29. APF – Passo 8 de 13 : Descobrir as contribuições (pesos) baseados nas complexidades dos ALI, AIE, EE, SE e CE; utilizando a tabela de contribuições do IFPUG: http://www.alvarofpinheiro.eti.br
  • 30. APF – Passo 9 de 13 : Efetuar o somatório dos PF encontrados com base nas contribuições do IFPUG: http://www.alvarofpinheiro.eti.br
  • 31. APF – Passo 10 de 13 : Encontrar o Valor do Fator de Ajuste (VFA) que é o passo final na contagem de pontos de função. Este fator de ajuste consiste nas restrições de negócio adicionais do software não consideradas pelos cinco tipos de funções e são baseados no Nível de Influência (NI) sobre as 14 Características Gerais do Sistema ou Requisitos Não Funcionais (RNF). http://www.alvarofpinheiro.eti.br Níveis de Influência (peso aplicado a cada uma das 14 características): 0=Nenhuma influência; 1=Influência mínima; 2=Influência moderada; 3=Influência média; 4=Influência significante; e 5=Influência forte. As 14 Características Gerais dos Sistemas (requisitos de qualidade): 1=Comunicação de Dados; 2=Processamento de Dados Distribuído; 3=Desempenho; 4=Utilização do Equipamento (Restrições de Recursos Computacionais); 5=Volume de Transações; 6=Entrada de Dados On-line; 7=Eficiência do Usuário Final (Usabilidade); 8=Atualização On-line; 9=Processamento Complexo; 10=Reusabilidade; 11=Facilidade de Implantação; 12=Facilidade Operacional (Inicialização, Cópia, Recuperação, etc); 13=Múltiplos Locais e Organizações do Usuário; e 14=Facilidade de Mudanças (Manutenibilidade).
  • 32. APF – Passo 11 de 13 : Depois de atribuir o Nível de Influência (NI) que varia de 0 (Nenhuma Influência) a 5 (Influência Forte) para cada uma dessas 14 características gerais de sistema, deve-se somar todos os NI aplicados para se obter o Nível de Influência Total (NIT). Para se obter o Valor do Fator de Ajuste (VFA) aplica-se a multiplicação de 0.01 sobre o Nível de Influência Total (NIT) e soma-se ao valor 0,65. Valor do Fator de Ajuste = Nível de Influência Total * 0,01 + 0,65 http://www.alvarofpinheiro.eti.br
  • 33. APF – Passo 12 de 13: O Valor de Ajuste da Contagem ou Ponto de Função Ajustado consiste na multiplicação dos Pontos de Função Não Ajustados pelo Valor do Fator de Ajuste. Valor de Ajuste da Contagem = Ponto de Função Não Ajustado * Valor do Fator de Ajuste http://www.alvarofpinheiro.eti.br
  • 34. APF – Passo 13 de 13: Aplicar a fórmula de acordo com o tipo de desenvolvimento que pode ser um novo projeto, um projeto em manutenção ou um sistema em produção. Projeto de Desenvolvimento = Ponto de Função Não Ajustado * Valor do Fator de Ajuste Manutenção = (Ponto de Função Não Ajustado + Ponto de Função Incluído + Ponto de Função Alterado Atual – Ponto de Função Alterado Anterior – Ponto de Função Excluído) * Valor do Fator http://www.alvarofpinheiro.eti.br de Ajuste Aplicação = Projeto de Desenvolvimento – (Ponto de Função Não Ajustado * Valor do Fator de Ajuste)
  • 35. APF – Estimativas: Imagine um novo projeto de desenvolvimento para o qual foram contados 100 PF e que a fase trabalhada corresponde a 20% do referido projeto. Para esse desenvolvimento a equipe conta com 4 recursos e considerando que essa equipe tem uma produtividade média de 20 horas por PF, trabalhando numa jornada de 6 horas por dia e que o valor de de 1 hora de trabalho é de R$ 35,00. http://www.alvarofpinheiro.eti.br Quantidade de PF para 20% de 100 PF é igual a 20 PF; Então o Esforço é 20h por PF * 20 PF = 400h; E que o Prazo - 400h / (4 * 6) tem-se 16,7 dias; e Que o Custo - 400h * R$ 35,00 = R$ 14.000,00.
  • 36. APF – Técnicas: http://www.alvarofpinheiro.eti.br Horas por PF = Linhas de Código / Ponto de Função Trabalho = Quantidade Recursos * Horas Trabalho Diário Produtividade = Horas por PF ou Trabalho Esforço = Produtividade * Tamanho Prazo = Esforço / Produtividade Custo = Tamanho * Valor 1 PF Taxa de Produção = (Tamanho / Mês) ou (Tamanho / Ano) Taxa de Manutenção = Tamanho Manutenção / Tamanho Aplicativo
  • 37. APF – Resumo: http://www.alvarofpinheiro.eti.br
  • 38. APF – Resumo: http://www.alvarofpinheiro.eti.br
  • 39. APF – Exemplo: Requisito Funcional Cadastrar acervo bibliotecário, informando dados como: Identificador, numeração automática; Tombamento, número da etiqueta impressa no livro; Título, nome do livro; Subtítulo, complemento do nome do livro; Autores, por ordem de prioridade; Edição; Volume; Ano de publicação; Gênero; Idioma; Tipo, se livro, revista, periódico; e ISBN, número sequêncial de publicação nacional. O cadastro deve possuir opções de inclusão, alteração, exclusão, impressão do acervo cadastrado, impressão da ficha (livro selecionado) e empréstimo. Também fornecer opção impressão baseado no filtro, que pode escolher qual o campo, qual tipo de filtro e dado a ser filtrado; Obter dados de livros de planilhas do excel (importação). http://www.alvarofpinheiro.eti.br
  • 40. APF – Exemplo: Requisito Não Funcional O módulo deve ser desenvolvido para Web utilizando ASPX com Csharp e os dados devem ser persistidos no banco SQLServer 2008 R2; A transferência dos dados na nuvem podem ser textuais, menos os dados referentes a empréstimo que deve ser criptografado; O sistema deve ter restrição de acesso, permitindo apenas aos usuários conectados na Intranet da organização, obtendo seu login via Active Directory; As telas de cadastro devem ser fácieis de se usar, fazendo uso dos objetos visuais (Webtop); Em relação a performance, não se deve ultrapassar os 15 segundos para cada submissão ao servidor, caso ocorra uma mensagem de advertência deve ser lançada ao usuário e o processo reinicializado. http://www.alvarofpinheiro.eti.br
  • 41. APF – Exemplo: Elementos Básicos http://www.alvarofpinheiro.eti.br Incluir acervo; Alterar acervo; Excluir acervo; Filtrar acervo; Imprimir acervos (grade); Imprimir ficha cadastral; Realizar empréstimo; e Importar acervo do excel.
  • 42. APF – Exemplo: Protótipo http://www.alvarofpinheiro.eti.br
  • 43. APF – Exemplo: Cálculo do Ponto de Função Não Ajustado Elementos Básicos FD/FT TD TR Complexidade Contribuição Acervo ALI 13 1 B 7 Empréstimo ALI 6 2 M 10 Incluir acervo EE 13 1 B 3 Alterar acervo EE 13 1 B 3 Excluir acervo EE 1 1 B 3 Filtrar acervo SE 3 1 B 4 Imprimir acervo CE 13 1 B 3 Imprimir ficha cadastral SE 10 2 M 5 realizar empréstimos EE 6 2 M 4 importar de excel AIE 12 3 B 5 Ponto de Função Não Ajustado 47 http://www.alvarofpinheiro.eti.br
  • 44. APF – Exemplo: Cálculo do Valor do Fator de Ajuste Características Nível Influência http://www.alvarofpinheiro.eti.br 01. Comunicação de Dados 4 02. Processamento Distribuído 4 03. Desempenho 1 04. Utilização do Equipamento 2 05. Volume de Transações 0 06. Entrada de Dados ON-LINE 5 07. Eficiência do Usuário Final 5 08. Atualização ON-LINE 1 09. Processamento Complexo 1 10. Reutilização de Código 1 11. Facilidade de Implantação 3 12. Facilidade Operacional 3 13. Múltiplos Locais 3 14. Facilidades de Mudanças 4 Nível de Influência Total (NIT) 37 Valor do Fator de Ajuste (NIT * 0,01 + 0,65) 1,02
  • 45. APF – Exemplo: Tabela QSM para Obter a Produtividade http://www.alvarofpinheiro.eti.br
  • 46. APF – Exemplo: Cálculo das Estimativas Tamanho do Software para Projeto de Desenvolvimento = Ponto de Função Não Ajustado * Valor do Fator de Ajuste então: Ponto de Função Não Ajustado = 47 Valor do Fator de Ajuste = 1,02 Ponto de Função Ajustado = 47 * 1,02 = Tamanho do Software = 47,94 Para obtenção da produtividade multiplica-se Linhas de Código por Ponto de Função e para descobrir esse valor indica-se usar o valor mínimo da tabela QSM para a linguagem que foi designada, assim resultando em uma produtividade de 15. Outra forma de calcular a produtividade é saber a quantidade de recursos alocados no projeto e multiplicá-lo pela quantidade de horas trabalhadas por dia. Considerando que existam 2 recursos alocados e que as horas trabalhadas por dia são de 8h, temos 2 * 8 = 16h que seria a produtividade. Produtividade = 15 (baseada no QSM) Esforço = Produtividade * Tamanho = 15 * 47,94 = 719,1 Prazo = Esforço / Produtividade = 719,1 / 15 = 47,94 - 8 dias de folga = 39,94 = 40d Valor de 1 PF = R$ 30,00 Custo = Valor 1 PF * Tamanho = 30 * 47,94 = R$ 6.232,20 http://www.alvarofpinheiro.eti.br
  • 47. APF – Fórmulas: Ponto de Função = Estimativa de Tamanho do Software Produtividade = Linhas de Código / Ponto de Função Trabalho = (Recursos * Horas Diárias) Esforço = Produtividade * Tamanho ou Trabalho * Tamanho Aplicação = Projeto de Desenvolvimento – (Ponto de Função Não Ajustado * Valor do Fator de Ajuste) http://www.alvarofpinheiro.eti.br Prazo = Esforço / Produtividade ou Trabalho Custo = Esforço * Valor de 1 PF Valor do Fator de Ajuste = Nível de Influência Total * 0,01 + 0,65 Valor de Ajuste da Contagem = Ponto de Função Não Ajustado * Valor do Fator de Ajuste Projeto de Desenvolvimento = Ponto de Função Não Ajustado * Valor do Fator de Ajuste Manutenção = (Ponto de Função Não Ajustado + Ponto de Função Incluído + Ponto de Função Alterado Atual – Ponto de Função Alterado Anterior – Ponto de Função Excluído) * Valor do Fator de Ajuste
  • 48. APF – Sistema de Informática do Serviço Público (SISP) SISP significa Sistema de Informática do Serviço Público ou como atualmente é designado Sistema de Administração dos Recursos de Tecnologia da Informação e tem como objetivo entre outras regulamentações a padronização do uso da métrica de ponto de função pelo Governo Federal e suas Unidades Federativas. http://www.alvarofpinheiro.eti.br Fonte: www.sisp.gov.br
  • 49. APF – Sistema de Informática do Serviço Público (SISP) Para definir a Produtividade (P), isto é, o fator “homens-hora” para construir um Ponto de Função caso inexistência de uma base histórica segue a regra: Inicialmente, deve-se procurar algum projeto anterior semelhante dentro da própria instituição, que tenha utilizado a mesma linguagem de programação/desenvolvimento do novo projeto, contá-lo utilizando a métrica de pontos de função e, através desta contagem, chegar em uma produtividade correspondente a este projeto anterior. Por exemplo, se verificar que em projeto anterior, na mesma linguagem, contado em 10 pontos de função, o esforço foi de 100 horas, a produtividade daquele projeto foi de 10 horas por ponto de função. Fazendo-se isso com uma maior quantidade de projetos anteriores semelhantes, o resultado será mais preciso, utilizando-se a média de produtividade obtida como o “fator de produtividade”. Lembrando-se que se os projetos anteriores não estão em pontos de função, será necessário contá-los para se chegar a estes números. Caso não haja sequer projeto similar na instituição ou seja inviável realizar o processo descrito acima, deve-se recorrer aos fornecedores disponíveis no mercado para obter uma base. http://www.alvarofpinheiro.eti.br Fonte: www.sisp.gov.br
  • 50. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br O Roteiro de Métricas de Software do SISP: Trata-se de um manual de contagem de Pontos de Função complementar ao Manual de Práticas de Contagem (CPM), contemplando os pontos não cobertos pelo manual do IFPUG, mas vivenciados pelos órgãos e entidades do SISP, procurando também atender aos acórdãos do Tribunal de Contas da União. E pode ser baixado na comunidade do SISP, que está localizada no portal do SISP (http://www.sisp.gov.br) e na seção Arquivos de Métricas no site do Governo Eletrônico (http://www.governoeletronico.gov.br) na seção Biblioteca. Fonte: www.sisp.gov.br
  • 51. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br Em relação a Obrigatoriedade: Os órgãos Federais e Estaduais não são obrigados a adotar o Roteiro de Métricas de software do SISP, porém a Portaria SLTI/MP Nº 31, de 29 novembro de 2010, recomenda que os órgãos integrantes do Sistema de Administração dos Recursos de Informação e Informática (SISP) adotem o roteiro de contagem nas suas contratações de serviços de desenvolvimento e manutenção de soluções de software. O Roteiro de Métricas de Software do SISP servir como auxílio aos órgãos que não possuem processo formalizado de contagem e de contratação utilizando a métrica de pontos de função. Para os órgãos que já possuem seus próprios manuais e roteiros, a utilização do Roteiro de Métricas de Software do SISP (no todo ou em parte) é facultativa. Esse roteiro poderá ser alterado e adequado às características de cada órgão e de cada contrato, a critério do próprio órgão. Fonte: www.sisp.gov.br
  • 52. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br Em relação a Parceria com IFPUG: A Portaria nº 31/2010 do MPOG recomenda o Manual de Contagem de Pontos de Função (CPM) e existe um estudo para que todos os órgãos façam filiação ao IFPUG ou ao Órgão Central do SISP que irá distribuir cópias autorizadas aos órgãos membros. Porém isto encontra-se em andamento, com uma discussão com o IFPUG sobre filiação do Ministério do Planejamento, com um acordo para adesão de outros órgãos. Estes órgãos poderiam aderir à filiação, de forma facilitada e facultativa, caso fossem atendidos alguns pré requistos. Ainda não há previsão sobre a conclusão desta discussão. A equipe de Consultores em Melhoria de Processo de Software, que coordena o Grupo de Métricas está à frente desse projeto. O Manual de Práticas de Contagem de Pontos de Função (Function Point Counting Practices Manual) é um documento publicado pelo International Function Point users Group (IFPUG), que detém os seus direitos, conforme consta do próprio manual. No Roteiro de Métricas do SISP é citado que o CPM é publicado pelo IFPUG e informações adicionais podem ser obtidas no sítio oficial do IFPUG (www.ifpug.org) e no site do representante oficial no Brasil (www.bfpug.com.br). Fonte: www.sisp.gov.br
  • 53. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br O SISP oferece consultoria e material de apoio: O SISP não possui um grupo de trabalho que realiza contagem de pontos de função, mas existe um grupo de consultoria que tira dúvidas e presta consultoria relacionado ao processo de contagem de pontos de função. Caso venha a ter alguma dúvida específica com relação ao tema é possível abrir um chamado via Sistema de Demandas do C3S (c3s.sisp.gov.br) descrevendo-a. O Portal do SISP (www.sisp.gov.br), na comunidade SISP, seção "Arquivos/Métricas", estão disponíveis materiais relacionados ao tema, incluindo o Roteiro de Métricas de Software do SISP - v1.0. Fonte: www.sisp.gov.br
  • 54. APF – Sistema de Informática do Serviço Público (SISP) O SISP orienta as seguintes técnicas de estimativa de Pontos de Função: Contagem Indicativa (NESMA) A técnica NESMA utiliza como documento base o Modelo de Dados do Projeto e assume que cada Arquivo Lógico Interno tem 35 PFs e cada Arquivo de Interface Externa tem 15 PFs. Contagem Estimativa de Pontos de Função ( CEPF) A técnica CEPF utiliza os requisitos iniciais do projeto para identificar e classificar os Processos Elementares da APF em EE, CE e SE, bem como identificar os dados associados, definindo sua complexidade: Baixa, Média e Alta. Caso não seja possível definir a complexidade, considere a complexidade Média. Durante a identificação dos dados associados a uma função transacional específica (EE, CE ou SE), procure definir os ALIs e AIEs da aplicação. Caso não seja possível definir a complexidade do ALI ou do AIE, considere a complexidade Baixa. http://www.alvarofpinheiro.eti.br Fonte: www.sisp.gov.br
  • 55. APF – Sistema de Informática do Serviço Público (SISP) Sistemas legados devem ser contatos também via APF: Os sistemas legados, quando a documentação está completa, o ideal é que seja feita a contagem detalhada, mas quando não existe essa documentação, recomenda-se fazer a contagem estimada, podendo-se utilizar várias técnicas, entre as quais destacam-se a Contagem Indicativa (NESMA) e a Contagem Estimativa de Pontos de Função (CEPF). http://www.alvarofpinheiro.eti.br Fonte: www.sisp.gov.br
  • 56. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br SISP para manutenções corretivas nos sistemas: Com relação à previsão de manutenções, recomenda-se que os sistemas sejam analisados, de forma a obter uma previsão de demandas de manutenção (evolutiva, adaptativa e corretiva) e definir um percentual, que pode ser anual. Lembrando que, no caso de manutenção corretiva, quando o sistema em produção tiver sido desenvolvido pela contratada, a manutenção será do tipo Garantia, conforme prazos e demais cláusulas do contrato em questão. Caso não exista cláusula contratual de Garantia, deve ser considerada a garantia de seis meses, preconizada por lei (Código do Consumidor). Fonte: www.sisp.gov.br
  • 57. APF – Sistema de Informática do Serviço Público (SISP) Em relação a percentual de referência para contratar as manutenções: Não existe percentual de referência para contratar manutenções (evolutiva, adaptativa e corretiva). Recomenda-se analisar os sistemas de forma a estimar esse percentual, que pode ser anual, seja por registros de ocorrências, registro de gastos em anos anteriores, entrevista com desenvolvedores que trabalhavam na manutenção dos sistemas já existentes ou levantamento das necessidades de futuras manutenções. Lembrando que, no caso de manutenção corretiva, quando o sistema em produção tiver sido desenvolvido pela contratada, a manutenção será do tipo Garantia, conforme prazos e demais cláusulas do contrato em questão. Caso não exista cláusula contratual de Garantia, deve ser considerada a garantia de seis meses, preconizada por lei (Código do Consumidor). http://www.alvarofpinheiro.eti.br Fonte: www.sisp.gov.br
  • 58. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br O SISP recomendação a adoção de AFP: A adoção da métrica Ponto de Função é uma recomendação do SISP, isto é enfatizado pela portaria SLTI/MP n° 31 de 29 de novembro de 2010, que no seu art. 1º, parágrafo 3, informa que sua utilização é uma boa prática na contratação de serviços de desenvolvimento de soluções de software. Esta mesma portaria no seu art. 2º, parágrafo único, reforça esta recomendação também para projetos de melhoria ou manutenção adaptativa de softwares, através da utilização de procedimentos complementares ao manual de contagem do IFPUG. Estes procedimentos são estabelecidos no Roteiro de Métricas de Software do SISP, também recomendado nesta portaria. Além dessa portaria, existem diversos acórdãos do TCU que tem recomendações neste mesmo sentido, deve-se destacar: Item 9.3.4.1 do Acórdão do TCU 1782/2007 - Plenário; Item 9.2.2.2 do Acórdão 2024/2007 - Plenário. Fonte: www.sisp.gov.br
  • 59. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br Não deve-se derivar a APF de outras métricas: A métrica Ponto de Função mede o tamanho funcional de um software e não é correto derivar pontos de função a partir de outra métrica e vice-versa. O TCU, em diversos acórdãos (ex: 1274/2010 e 1125/2009), condena a derivação de pontos de função a partir de outra métrica, em especial a métrica homem-hora. Fonte: www.sisp.gov.br
  • 60. APF – Sistema de Informática do Serviço Público (SISP) http://www.alvarofpinheiro.eti.br Valor Médio de Ponto de Função: O Gartner Group divulgou um artigo contendo o custo médio do ponto de função entre os anos de 2006 e 2010. Os valores estão em dólares. Em 2010, o custo médio foi de $ 452. Os dados publicados pelo Gartner não foram classificados por plataforma ou linguagem de programação, mas a plataforma/linguagem reflete no valor do ponto de função, pois está relacionado a produtividade. Se utilizar os dados do Gartner Group, mencionar a fonte. Fonte: www.sisp.gov.br