You are on page 1of 66

Anlise de Pontos de Funo

Renata Farias, CFPS

AGENDA

Motivao Anlise de Pontos por Funo Gerenciamento de Projetos de Software

MOTIVAO
A indstria de software continua lidando com projetos mal sucedidos. O CHAOS Report de 2003 apresentou as seguintes estatsticas: 34% dos projetos so bem sucedidos; 15% dos projetos foram cancelados; 43% o erro mdio em relao ao oramento do projeto daqueles que foram completados; 52% das caractersticas (requisitos no funcionais) e funcionalidades so entregues no produto.

MOTIVAO
Os principais problemas que afetam os projetos de software no so tecnolgicos. Estes problemas so gerenciais, refletindo as dificuldades na implantao de processos gerenciais efetivos. A principal preocupao da indstria refere-se previsibilidade de prazo e de custo dos projetos.
Funcionalidades, Atributos da Qualidade

Prazo

Custo

MOTIVAO

POR QUE MEDIR ?


No se pode gerenciar o que no se pode medir

MOTIVAO

Por Que Medir


Indicar

a qualidade do Produto

Avaliar a produtividade do processo Melhorar a gerncia de projetos e relacionamento com clientes Formar uma Baseline para

Medidas de tamanho
Esto

entre as mais utilizadas pela indstria de software


Apresentam correlao com o esforo. So essenciais para o planejamento dos projetos. Contribuem para o clculo da produtividade. Permitem a normalizao das demais medidas coletadas.

Medidas de tamanho
Produtividade

= Tamanho do produto / Esforo para produzi-lo Para que o valor obtido seja significativo:

o esforo dedicado ao trabalho em questo deve ser mensurado com preciso; a medida do produto do trabalho deve ser padronizada e uniforme:

Como medir o tamanho de um produto de software?

Medidas de tamanho
Uma

boa medida de tamanho deve:

ser contvel atravs de um procedimento bemdefinido;

ser facilmente mensurvel quando o trabalho est completo para comparar valores estimados e valores reais;

poder ser deduzida dos requisitos; ter boa correlao com o esforo de desenvolvimento.

Medidas de tamanho
Exemplos

de medidas de tamanho para

software:

linhas de cdigo; pontos de funo; pontos de objetos.

Linhas

de cdigo:

A medio em linhas de cdigo a mais simples e barata j que pode ser contada de forma totalmente automtica.

Medidas de tamanho
Linhas

de cdigo:

pouco valor preditivo; necessrio regras de padronizao; cdigo gerado automaticamente no deve ser considerado; cdigo reusado no deve ser contado; dependente linguagem;

Exemplos de Estimativas
Tamanho em PF Projeto A 100 PFs Variveis do Projeto On-line/database Novo desenvolvimento C++ Desenvolvedores altamente experientes
Estimativa Para o Projeto Baseada em Dados Histricos e/ou Ferramenta Esforo = 5 meses Cronograma = 3 meses Custo (a $5000) = $25000 KLOC = 6 Defeitos Entregues = 25 Produtividade = 20 PF/Ms. Esforo = 20 meses Cronograma = 6 meses Custo (a $5000) = $100000 KLOC = 10 Defeitos Entregues = 100 Produtividade = 5 PF/Ms

Projeto B 100 PFs

Batch Melhoria Cobol Desenvolvedores medianamente experientes

Anlise de Pontos por Funo

= 1000 PF
Pontos de Funo (PF)
uma medida de dimensionamento de software atravs da funcionalidade implementada em um sistema, sob o ponto de vista do usurio.

Benefcios
Meio

para estimar custos e recursos necessrios para desenvolvimento e manuteno de software Fator de normalizao para a comparao de software

Pontos de Funo So Uma Unidade de Medida


Entrada Externa Sada Externa Arquivos de Aplicativo Sendo Considerado Interface Externa Arquivo Lgico Interno Entrada Externa

Consulta Externa

Sada Externa Consulta Externa Outros Aplicativos

Funcionalidade vista segundo a perspectiva do usurio 15

Objetivos

Medir a funcionalidade requisitada e recebida pelo usurio Medir Projetos de Desenvolvimento e de Manuteno independentemente da tecnologia utilizada Publicado como Padro Internacional - ISO/IEC 20926

Pontos de Funo
Histrico

Foram propostos por Allan Albrecht em 1979. A formalizao das regras de contagem teve incio em 1984, pela IBM. Em 1986 foi criado o IFPUG:

International Function Points Users Group.

Atualmente, o manual de contagem encontra-se na verso 4.2.1.

Anlise de Pontos de Funo


APF relata diretamente os requisitos do negcio. APF independente da tecnologia utilizada. APF torna possvel as estimativas nas fases iniciais do processo de desenvolvimento de software. APF fornece facilidade para uma reestimativa APF fornece suporte ao gerenciamento do Projeto APF apoia a anlise de produtividade e qualidade

Vantagens
Permite:

determinar o tamanho de uma aplicao a partir da funcionalidade nela contida; mensurar o desenvolvimento de software para analisar qualidade e produtividade; estimar custo e recursos necessrios ao desenvolvimento ou manuteno; normalizar dados para comparao.

Principais Vantagens

Transparncia para o usurio final. Apoio estimativa de tempo, recursos e custos:

desde o incio do ciclo de desenvolvimento mesmo sem ter todas as informaes necessrias sobre o sistema.

Melhora na qualidade dos contratos de terceirizao.

Quando aplicar
Fase Proposta Requisitos Construo Implantao Manuteno Adaptativa Manuteno Corretiva Manuteno Perfectiva Estimado Sim Sim Sim Sim Sim No No Medido No Sim Sim Sim Sim No No

Pontos de Funo No So Linhas de Cdigo


Independentes de tecnologia e plataforma Disponveis cedo na fase de requisitos Unidade de medida consistente e objetiva, atravs do ciclo de vida do sistema Definem o aplicativo objetivamente, a partir do ponto de vista do cliente Definem uma srie de aplicativos a partir da perspectiva do cliente e no do tcnico Expressos em termos que os usurios podem facilmente compreender

Qual o Problema com Linhas de Cdigo?


No existe padro para linha de cdigo Linhas de cdigo medem componentes ao invs de produtos completos No mea o nmero de painis fabricados; mea o nmero de carrros montados Medir linhas de cdigo Premia o projeto prolixo Penaliza o projeto compacto Um critrio positivamente enganador?

Anlise de Pontos de Funo


Viso Geral
Fronteira da Aplicao

Consultas Externas
(Sem Dados Derivados)

Sadas Externas
( Com Dados Derivados)

APLICAO
Arquivos Lgicos Internos

Entradas Externas
Funes de dados Funes transacionais

Arquivos de Interface Externa

Outra Aplicao
Arquivo Lgico Interno

Como Contar Pontos de Funo?


Telas Relatrios Arquivos Mestres Arquivos de Controle Arquivos de Referncia Sinais

Tamanho

Procedimento de Contagem

Determinar Tipo de Contagem

Identificar Escopo de Contagem e Fronteira da Aplicao

Contar Funes de Dados Contar Funes Transacionais

Determinar os PF No Ajustados

Determinar o Fator de Ajuste

Calcular os PF Ajustados

Viso Geral da APF: O Que Contado


EE
P1 Atualizar Arquivo Mestre

ALI

P2 Arquivo Mestre Produzir Relatrio Semanal

SE

Relatrio Resumo Semanal

Chave Detalhes

Fronteira do Sistema P3 Detalhes Arquivo Mestre Arquivo Referncia em Outro Sistema

AIE

CE

Determinar Tipo de Contagem

Tipos de Contagem

Contagem de PF de Projetos de Desenvolvimento - PF associados com a instalao inicial de um software novo Contagem de PF de Projetos de Melhoria - PF associados com a melhoria de um software j existente (inclui funcionalidade que adicionada, modificada ou excluda) Contagem de PF de Aplicaes - PF associados com uma aplicao instalada - Funcionalidade da aplicao no ponto de vista do usurio

Identificar Escopo de Contagem e Fronteira da Aplicao

A fronteira determinada baseada na viso do usurio. O foco no que o usurio pode entender e descrever.

a interface conceitual entre a aplicao Interna e o mundo do usurio externo Ponto de vista do usurio Baseada na funcionalidade do negcio, No na implementao tecnolgica

Usurio

Qualquer pessoa que especifica Requisitos Funcionais Qualquer pessoa ou Coisa que intereja com o sistema a qualquer momento EX: Ator de caso de uso, outra aplicao, usurio final, gestor do sistema

Viso de usurio

Descrio formal de suas necessidades de negcio em sua prpria linguagem aprovada pelo usurio e uma descrio das funes do negcio Varia na forma fsica: documento de requisitos, manuais, especificao detalhada, catlogo de transaes

Escopo da Contagem
Prov

respostas relevantes ao propsito da contagem Pode incluir mais de uma aplicao Identifica quais funes so includas na contagem determinado pelo propsito da contagem

Fronteira da Aplicao
A

identificao da fronteira um passo essencial para a medio funcional O posicionamento incorreto da fronteira pode alterar a perspectiva da contagem de uma viso lgica (princpio da APF) para uma viso fsica.

Contar Funes de Dados

Arquivos Lgicos Internos

Funes de Dados
Arquivos de Interface Externa

Funes de Dados
Requisitos

de armazenamento sob a tica do usurio, de acordo com a sua lgica (do usurio)

No lgico para o usurio separar o cabealho de uma nota fiscal dos seus itens e guard-los separadamente.

Contar Funes de Dados

Arquivos Lgicos Internos

So grupos de dados ou informaes de controle especificados pelo usurio logicamente relacionados, uja manuteno efetuada dentro da fronteira da aplica

Armazenar dados mantidos atravs de um ou mais processos elementares da aplicao sendo contada.

ALI
Exemplos:

Tabelas que armazenam dados da aplicao Entidades de negcio Arquivos mantidos no s pela aplicao mas tambm por outra aplicao

NO

exemplos:

Arquivos temporrios Entidades de ligao Dados que no so mantidos pela aplicao

Contar Funes de Dados

Arquivos de Interface Externa

o grupos de dados ou informaes de controle specificados pelo usurio logicamente relacionados, cuja manuteno efetuada dentro da fronteira de outra aplica

Armazenar dados referenciados atravs de um ou mais processos elementares da aplicao sendo contada.

AIE
Exemplos:

Dados utilizados pela aplicao e que so mantidos em outra aplicao

NO

exemplos:

Arquivo de remessa ou retorno Dados mantidos pela aplicao Dados formatados e processados para uso de outras aplicaes

Complexidade
Nmero

de tipos de dados

Campo nico, reconhecido pelo usurio, no repetido

Nmero

de tipos de registros

Subgrupo de dados (opcional ou obrigatrio), reconhecido pelo usurio

Complexidade
TR/TD
1 2-5 >5 <20 20-50 >50

Baixa Baixa Mdia Baixa Mdia Mdia Alta Alta Alta

Contar Funes de Dados

CONTAGEM DE ARQUIVOS LGICOS

Catlogo de CD de Msica: Informao de CD CD: Cantor, Grupo, Gravadora, Nome, Data e Musicas Musicas: Nome de Musica, Compositor e Tempo de Durao Informao de CD Musicas

Concluso: 1 ALI 2 TRs 8 TDs

Contar Funes de Dados

Contribuio das Funes de Dados

PONTUAO DOS ARQUIVOS LGICOS INTERNOS

SIMPLES 7 PF

MDIO 10 PF

COMPLEXO 15 PF

PONTUAO DOS ARQUIVOS DE INTERFACE EXTERNA

SIMPLES 5 PF

MDIO 7 PF

COMPLEXO 10 PF

Contar Funes Transacionais

Entrada Externa

Funes Transacionais

Sada Externa Consulta Externa

Processo Elementar
Menor

atividade com significado pra o usurio Completo em si mesmo e deixa a plicao em estado consistente

Contar Funes Transacionais

Entradas Externas

Uma Entrada Externa um processo elementar que processa dados ou informaes de controle que vem do lado de fora da fronteira da aplicao.

Manter um ou mais Arquivo Lgico Interno e/ou alterar o comportamento do sistema.

Contar Funes Transacionais

EXEMPLO: ENTRADA EXTERNA

http://www.receita.fazenda.gov.br

Contar Funes Transacionais

Sadas Externas

Uma Sada Externa um processo elementar que envia dados ou informao de controle para fora da fronteira da aplicao.

Apresentar informao para um usurio atravs de processamento lgico adicional a recuperao de dados ou informao de controle. O processamento lgico deve conter no mnimo uma frmula matemtica ou clculo, ou criar de dados derivados.

Contar Funes Transacionais

Sadas Externas

Uma Sada Externa PODE tambm manter um ou mais Arquivos Lgicos Internos e/ou alterar o comportamento do sistema.

Contar Funes Transacionais

EXEMPLO: SADA EXTERNA

Grfico de Distribuio das Funes

Contar Funes Transacionais

Consultas Externas

Consulta Externa um processo elementar que envia dados ou informao de controle para fora da fronteira da aplicao.

Apresentar informao para o usurio atravs da recuperao de dados ou informao de controle de um ALI ou AIE. O processamento Lgico NO contm frmulas matemticas ou clculos, NO cria dados derivados. Alm disso, NO mantm Arquivos Lgicos Internos durante o processamento, nem altera o comportamento do sistema.

Contar Funes Transacionais

EXEMPLO: CONSULTA EXTERNA

http://www.receita.fazenda.gov.br

Identificao de Funo de Transao


Exemplo
Incluir

em um sistema de biblioteca

ttulo Alterar ttulo existente Consultar lista de ttulos Registrar emprstimo Emitir relatrio de emprstimos por perodo ...

Contagem de Elementos

Para cada funo de transao:


Contar quantos Arquivos referenciados (AR) Contar quantos Tipos de dados (TD) 1 TD para cada campo nico, reconhecido pelo usurio e no repetido que entra ou sa da aplicao e que sejam relevantes ao processo elementar. 1 nico TD para aes: OK, ENTER, comandos em geral 1 nico TD para emisso de mensagem, pedido de confirmao, comunicao de sucesso, etc

Conte:

Contagem de Elementos
Conte:

1 AR para cada ALI ou AIE lido ou mantido pela transao Se for lido e mantido conte apenas 1 vez

Complexidade

Entrada Externa:

AR/TD
1 2 >2

<5 Baixa

5-15

>15

Baixa Mdia Alta Alta

Baixa Mdia Mdia Alta

Complexidade

Sada Externa e Consulta Externa:

AR/TD
1 2-3 >3

<6

6-19

>19

Baixa Baixa Mdia Baixa Mdia Mdia Alta Alta Alta

Contribuio

Cada tipo de funo possui um peso, de acordo com sua complexidade. O peso corresponde quantidade de PF no ajustados que a funo agrega aplicao. Somando-se os pesos de todas as funes, obtm-se o total de PF no ajustados.

Contar Funes Transacionais

Contribuio das Funes Transacionais

SIMPLES 3 PF SIMPLES 4 PF SIMPLES 3 PF

MDIO 4 PF MDIO 5 PF MDIO 4 PF

COMPLEXO 6 PF COMPLEXO 7 PF COMPLEXO 6 PF

Determinar os PF No Ajustados

Tabela de Clculo
COMPLEXIDADE FUNCIONAL
SIMPLES X 7 = MDIA X 10 = COMPLEXA X 15 = SIMPLES X 5 = MDIA X 7 = COMPLEXA X 10 = SIMPLES X 3 MDIA X 4 COMPLEXA X 6 SIMPLES X 4 MDIA X 5 COMPLEXA X 7 SIMPLES X 3 MDIA X 4 COMPLEXA X 6 = = = = = = = = =

TIPO DE FUNO ARQUIVO LGICO INTERNO ARQUIVO DE INTERFACE EXTERNA ENTRADA EXTERNA SADA EXTERNA CONSULTA EXTERNA

TOTAL COMPLEX.

TOTAL TIPO FUNO

* * * TOTAL DE PONTOS DE FUNO NO - AJUSTADOS =

Determinar o Fator de Ajuste


Clculo do Fator de Ajuste


1. Comunicao de Dados 2. Processamento Distribudo 3. Performance 4. Utilizao do Equipamento 5. Volume de Transaes 6. Entrada de dados on-line 7. Eficincia do Usurio Final

8. Atualizao on-line 9. Processamento Complexo 10. Reutilizao de Cdigo 11. Facilidade de Implantao 12. Facilidade Operacional 13. Mltiplos Locais 14. Facilidade de Mudanas

Atribui-se um peso de 0 a 5 para cada caracterstica:


0- Nenhuma Influncia 1- Influncia Mnima 2- Influncia Moderada 3- Influncia Mdia 4- Influncia Significativa 5- Grande Influncia

Determinar o Fator de Ajuste

Clculo do Fator de Ajuste


Nvel de Influncia Total (NIT)
NIT = Caractersticas Gerais do Sistema

FATOR DE AJUSTE (FA)


FA = ( NIT * 0,01 ) + 0,65

Calcular os PF Ajustados

Clculo de PFs Ajustados

- Clculo de PF de um Projeto de Desenvolvimento


PF_DESENVOLVIMENTO = PF_NO_AJUSTADO * FATOR_AJUSTE

- Clculo de PF de um Projeto de Manuteno


PF_MANUTENO = ((PF_INCLUDO + PF_ALTERADO)* FA_ATUAL) + (PF_EXCLUDO*FA_ANTERIOR)

Contagem de Pontos de Funo

Certificao

Testa a Conformidade com o Manual de Prticas de Contagem


IFPUG Selo de Aprovao

Contadores Cursos de Treinamento Ferramentas de Software para suporte

Anlise de Pontos por Funo BFPUG: www.bfpug.com.br IFPUG: www.ifpug.org

You might also like