felipe ribeiro katia barros katya lyra luanna brito luis augusto guimarães

48
Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Upload: umed

Post on 04-Feb-2016

27 views

Category:

Documents


0 download

DESCRIPTION

Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Felipe Ribeiro

Katia Barros

Katya Lyra

Luanna Brito

Luis Augusto Guimarães

Page 2: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

A associação

N E S M A

É uma associação de usuários de métricas que tem proposto alternativas de contagem, utilizando a Análise de Pontos de Função, de forma a possibilitar medir um produto de software no início do processo, mesmo não possuindo todas as informações sobre as funções de dados, transações e características gerais do sistema bem definidas.

Page 3: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

A associação

N E S M A

•Associação fundada em 12 de maio de 1989 na Holanda

•Sob o nome de NEFPUG - Netherlands Function Point Users Group

•Em 1995, tornou-se NESMA - Netherlands Software Metrics Users Association

Page 4: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

A associação

N E S M A

•Em 1991, a NESMA formou o grupo de trabalho “FPA para melhoramento e Manutenção” para desenvolver e publicar as orientações para a aplicação da melhoria e manutenção do software de analise de ponto de função.

•Após vários anos de pesquisa e desenvolvimento, o grupo de trabalho publicou seu manual de orientações em 1998.

•Sua tradução para o inglês foi publicada em 2001.

Page 5: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Objetivos

N E S M A

•Uso de Métricas de Software:

•Promover o uso responsável•Promover e incentivar a padronização•Incentivar o desenvolvimento e aplicação•Reunir indivíduos e organizações para a

troca de conhecimentos e experiência no desenvolvimento e aplicação de métricas de software;

Page 6: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Método

N E S M A

•NESMA busca atingir esses objetivos através de: 

•Atividades dos seus grupos de estudo e grupos de trabalho; 

•Investigação realizada por seus membros; •Apresentações, treinamento, simpósios e similares;•Recomendações sobre o uso de métricas de software; •Pesquisa e publicação de literatura de métricas de software;•Colaboração com as organizações com interesses

semelhantes, e com os outros grupos de usuários de métricas de software  e associações a nível mundial, incluindo IFPUG (E.U.A.), ASMA (Austrália) e FESMA (Europa).

Page 7: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

•Para se associar, a composição de custos varia em 250 € por ano. A NESMA não tem fins lucrativos.

•Benefícios ASSOCIADOS NESMA:•Têm acesso ilimitado ao site NESMA•De cada novo produto NESMA uma cópia gratuita•Podem participar nas comissões e conferências da NESMA•Obter descontos em atividades (conferências, simpósios,

workshops, etc) e produtos (estudos, relatórios e manuais) do NESMA

•São mais de 100 associados: ABN-AMRO Bank NV ; IBM Nederland BV

Membros

Page 8: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

IFPUG - International Function Point Users Group

N E S M A

http://www.ifpug.org/

Page 9: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

IFPUG - International Function Point Users Group

N E S M A

•A NESMA é um dos maiores grupos de usuários de pontos por função da Europa, utilizando filosofia, conceitos, termos e regras bem parecidos com as do IFPUG, mas com algumas diretrizes diferentes.

•Desde 1990, possui seu próprio manual de contagem, atualmente na versão 2.2, sendo que sua forma de contagem é bem próxima da do manual do IFPUG.

•Usa a classificação de complexidades do IFPUG.

Page 10: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

As métricas de tamanho de projeto de software mais utilizadas pela indústria são as seguintes:

•Pontos de Função (PF);

•Linhas de Código (LOC - Line of Code);

•Pontos por Casos de Uso (PCU).

Métricas

Page 11: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

O principal benefício da métrica PF sobre a LOC é que os Pontos de Função podem ser obtidos no início do ciclo de vida, diretamente das especificações de requisitos do projeto.

Além disso, os PFs são úteis para a geração das estimativas de tamanho do projeto, independentemente da metodologia e linguagem de programação utilizada no desenvolvimento.

Métricas

Page 12: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Um dos maiores problemas associados à Análise de Pontos de Função é que os dados necessários para essa análise são bastante imprecisos no início de um projeto.

Métricas

Page 13: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

A abordagem da NESMA, não leva em conta qualquer característica especial do projeto, necessitando apenas de uma classificação dos objetos obtidos através de uma pesquisa no escopo do projeto para a execução de uma função e geração da quantidade de pontos de função, agilizando o processo de estimativa de tamanho.

Métricas

Page 14: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Análise de Pontos de Função

N E S M A

A Análise por Pontos de Função (FPA) é um técnica de medição do tamanho de softwares que tenta relacionar a complexidade inerente ao processamento com as funcionalidades solicitadas/oferecidas ao usuário através do software.

Page 15: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Objetivos

Análise de Pontos de Função

•Medir a funcionalidade que o usuário solicita e recebe;

•Medir o desenvolvimento e manutenção de software de forma independente da tecnologia utilizada na implementação.

•Simples o suficiente para minimizar o trabalho adicional envolvido no processo de medição;

•Uma medida consistente entre vários projetos e organizações.

Page 16: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Uso pelas organizações

•Como ferramenta para determinar o tamanho de pacotes de software adquiridos;

•Como ferramenta para apoiar a análise da qualidade e da produtividade;

•Como um mecanismo para estimar custos e recursos envolvidos em projetos de desenvolvimento e manutenção de software;

•Como um fator de normalização para comparação de software;

•Como uma ferramenta para fundamentar a negociação de contratos.

Análise de Pontos de Função

Page 17: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Etapas da Análise de Pontos de Função

•Identificação do Tipo de Contagem a ser Utilizado

•Definição da Fronteira da Aplicação

•Contagem de Pontos de Função não Ajustados

•Cálculo do Fator de Ajuste

•Contagem de Pontos de Função Ajustados

Análise de Pontos de Função

Page 18: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Identificação do Tipo de Contagem a ser Utilizado

O que vou medir?

Análise de Pontos de Função

Consiste na identificação do objeto a ser medido, como sendo um projeto de desenvolvimento, manutenção ou produção.

Page 19: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Definição da Fronteira da Aplicação

Quais os limites do que vou medir?

Esta é a etapa em que é estabelecido o escopo do sistema objeto da avaliação, sob a visão do usuário.

Análise de Pontos de Função

Page 20: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Contagem de Pontos de Função não Ajustados

Análise de Pontos de Função

Arquivo Lógico Interno (ALI)

Arquivo de Interface Externa (AIE)

Entradas Externas (EE)

Saídas Externas (SE)

Consultas Externas (CE)

Page 21: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Análise de Pontos de Função

• Cálculo do Fator de Ajuste

Características gerais do sistema:

1. Comunicação de dados 8. Atualizações on-line2. Funções distribuídas 9. Processamento complexo3. Desempenho 10. Reusabilidade4. Utilização do equipamento 11. Facilidade de implantação5. Volume de transações 12. Facilidade operacional6. Entrada de dados on-line 13. Múltiplos locais7. Interface com o usuário 14. Facilidade de mudanças

Page 22: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• Contagem de Pontos de Função Ajustados

Análise de Pontos de Função

Processo que realiza a correção das possíveis distorções ocorridas durante o cálculo dos pontos de função não ajustados, aproximando as medidas à situação real.

Cálculo de PFs ajustados de um projeto de desenvolvimentoCálculo de PFs ajustados de um projeto de manutençãoCálculo de PFs ajustados de uma aplicação (sistemas em produção)

Formas de cálculo:

Page 23: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Abordagem NESMA

N E S M A

• Tipos de Contagem

contagem indicativa de pontos de função

contagem estimada de pontos de função

contagem detalhada de pontos de função

Page 24: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

A contagem Indicativa fornece um valor indicativo da quantidade de pontos de função do sistema proposto sem conhecer detalhes do modelo nem do processo, possibilitando medir um produto de software no início do processo, mesmo não possuindo todasas informações sobre as funções de dados, transações e características gerais de sistema definidas.

A contagem Indicativa fornece um valor indicativo da quantidade de pontos de função do sistema proposto sem conhecer detalhes do modelo nem do processo, possibilitando medir um produto de software no início do processo, mesmo não possuindo todasas informações sobre as funções de dados, transações e características gerais de sistema definidas.

Contagem Indicativa

Page 25: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Pode ser usada na fase inicial da proposta de desenvolvimento.

Pode ser usada na fase inicial da proposta de desenvolvimento.

É importante ressaltar que o método Contagem Indicativa foi reconhecido pelo IFPUG em Junho de 2003, como um método potencialmente valioso para a estimativa do tamanho funcional.

É importante ressaltar que o método Contagem Indicativa foi reconhecido pelo IFPUG em Junho de 2003, como um método potencialmente valioso para a estimativa do tamanho funcional.

Contagem Indicativa

Page 26: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

No entanto, isto não significa que o IFPUG endosse o método como válido, acurado ou preferível em relação a quaisquer outros métodos.

No entanto, isto não significa que o IFPUG endosse o método como válido, acurado ou preferível em relação a quaisquer outros métodos.

Contagem Indicativa

Page 27: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

A contagem indicativa é realizada da seguinte forma:Determina-se a quantidade das funções do tipo dado (ALIs e AIEs).

O tamanho é dado contando 35 PFs para cada ALI identificado e 15 PFs para cada AIE identificado.

A contagem indicativa é realizada da seguinte forma:Determina-se a quantidade das funções do tipo dado (ALIs e AIEs).

O tamanho é dado contando 35 PFs para cada ALI identificado e 15 PFs para cada AIE identificado.

Contagem Indicativa

Page 28: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Esta estimativa é baseada somente na quantidade de arquivos lógicos existentes (ALIs e AIEs).

Calcula-se o total de pontos de função não ajustados da aplicação da seguinte forma: tamanho indicativo (pf) = 35 x número de ALIs + 15 x número de AIEs.

Esta estimativa é baseada somente na quantidade de arquivos lógicos existentes (ALIs e AIEs).

Calcula-se o total de pontos de função não ajustados da aplicação da seguinte forma: tamanho indicativo (pf) = 35 x número de ALIs + 15 x número de AIEs.

Contagem Indicativa

Page 29: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Função do Tipo Dado Tipo de Função Pontos de Função(pré-definido)

Cliente ALI 35

Produto ALI 35

Fornecedor AIE 15

     

Indicativo do tamanho funcional   85 pf

• ALI – Arquivos Lógicos Internos• AIE – Arquivos de Interface Externas• (pf) = 35 x número de ALIs + 15 x número de AIEs

35 x 2 + 15 x 1 =

70 + 15 = 85 pf

Contagem Indicativa

• EXEMPLO

Page 30: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• QUANDO USAR?

É utilizada na fase inicial da proposta de desenvolvimento, quando se possuem dados detalhados do processo, apenas informações preliminares sobre os processos e o modelo de dados.

São necessárias informações um pouco mais detalhadas sobre a funcionalidade da aplicação, levantadas a partir das exigências do usuário

Page 31: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• COMO USAR?

1º PASSO

Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE).

Não é necessário a identificação dos elementos de dados de cada função.

Page 32: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• COMO USAR?

2º PASSO

Toda função do tipo ALI e AIE tem sua complexidade funcional avaliada como baixa.

Toda função transacional EE, SE, CE é avaliada como de complexidade funcional média.

Page 33: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• COMO USAR?

3º PASSO

Calcula-se o total de pontos de função não ajustados, utilizando a classificação de complexidade do IFPUG.

A única diferença em relação à contagem usual de pontos de função é que a complexidade funcional não é determinada individualmente para cada função, mas pré-definida para todas elas.

Page 34: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• COMO USAR?

TABELA DE COMPLEXIDADE IFPUG

Nível de complexidadeTipo de Função Baixo Médio Alto

ALI 7 10 15AIE 5 7 10EE 13 4 6SE 4 5 7CE 3 4 6

Page 35: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 1

Requisitos do usuário:

O usuário deseja adicionar, alterar, excluir e consultar dados de Clientes. Também necessita de 4 diferentes tipos de relatórios contendo dados calculados.

O usuário deseja adicionar, alterar, excluir e consultar dados de Produtos. Também necessita de um relatório de produtos.

O usuário deseja consultar o Fornecedor através de seu número e um relatório sobre Fornecedor com totalização de resultados.

Page 36: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 1

Função do tipo Dado ou Transação

Tipo de Função

ComplexidadePontos de Função

(não ajustados)

Cliente ALI Baixa 7Produto ALI Baixa 7Fornecedor AIE Baixa 5

Incluir Cliente EE Média 4Alterar Cliente EE Média 4Excluir Cliente EE Média 4Consultar Cliente CE Média 4Relatório 1 de Cliente SE Média 5Relatório 2 de Cliente SE Média 5Relatório 3 de Cliente SE Média 5Relatório 4 de Cliente SE Média 5

Page 37: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 1

Função do tipo Dado ou Transação

Tipo de Função

ComplexidadePontos de Função

(não ajustados)

Incluir Produto EE Média 4Alterar Produto EE Média 4Excluir Produto EE Média 4Consultar Produto CE Média 4Relatório de Produto SE Média 5

Consultar Fornecedor CE Média 4Relatório de Fornecedor SE Média 5

Estimativa do tamanho funcional

85 fp

Page 38: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 2: Health-Watcher

Função do tipo Dado ou Transação

Tipo de Função

ComplexidadePontos de Função

(não ajustados)

Unidades de saúde ALI Baixa 7Especialidade ALI Baixa 7Funcionário ALI Baixa 7Queixa ALI Baixa 7Doença ALI Baixa 7Sintoma ALI Baixa 7

Consultar guia de saúde CE Média 4Consultar queixa CE Média 4Consultar doença CE Média 4

Page 39: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 2: Health-Watcher

Função do tipo Dado ou Transação

Tipo de Função

ComplexidadePontos de Função

(não ajustados)

Inserir unid. de saúde EE Média 4Alterar unid. de saúde EE Média 4Consultar unid. de saúde CE Média 4Excluir unid. de saúde EE Média 4Imprimir unid. de saúde SE Média 5

Inserir especialidade EE Média 4Alterar especialidade EE Média 4Consultar especialidade CE Média 4Excluir especialidade EE Média 4Imprimir especialidade SE Média 5

Page 40: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 2: Health-Watcher

Função do tipo Dado ou Transação

Tipo de Função

ComplexidadePontos de Função

(não ajustados)

Inserir doença EE Média 4Alterar doença EE Média 4Consultar doença CE Média 4Excluir doença EE Média 4Imprimir doença SE Média 5

Inserir sintoma EE Média 4Alterar sintoma EE Média 4Consultar sintoma CE Média 4Excluir sintoma EE Média 4Imprimir sintoma SE Média 5

Page 41: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Estimada

N E S M A

• EXEMPLO 2: Health-Watcher

Função do tipo Dado ou Transação

Tipo de Função

ComplexidadePontos de Função

(não ajustados)

Inserir funcionário EE Média 4Alterar funcionário EE Média 4Consultar funcionário CE Média 4Excluir funcionário EE Média 4Imprimir funcionário SE Média 5

Inserir queixa EE Média 4Atualizar queixa EE Média 4Consultar queixa CE Média 4Imprimir queixa SE Média 5

Estimativa do tamanho funcional

176 fp

Page 42: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Comparativo Exemplo 2

N E S M A

• EXEMPLO 2: Health-Watcher

Contagem Indicativa MétodoPontos de Função

(não ajustados)

Estimativa do tamanho funcional

(35 x nº de ALIs) + (15 x nº AIEs)Nº de ALIs = 6

Nº de AIEs = 0

210 fp

Contagem Estimativa MétodoPontos de Função

(não ajustados)

Estimativa do tamanho funcional

Utilização da tabela de complexidade funcional com

dados pré-definidos176 fp

Page 43: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

Contagem Detalhada

N E S M A

• QUANDO USAR?

É utilizada na fase onde se possui um grande conhecimento da proposta de desenvolvimento (dados detalhados do processo), somente o número de funções de cada tipo (EE, SE, CE, ALI, AIE) não é suficiente, também é necessário determinar a complexidade funcional (Baixa, Média, Alta) de cada função individualmente.

Os requisitos dos usuários precisam ser analisados com mais detalhes: quais elementos de dados e arquivos lógicos são usados por cada função transacional, e quais os grupo lógicos e elementos de dados compõem cada função.

Page 44: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• COMO USAR?

1º PASSO

Determina-se todas as funções de todos os tipos (ALI, AIE, EE, SE, CE).

2º PASSO

Determina-se a complexidade de cada função (Baixa, Média, Alta)

Contagem Detalhada

3º PASSO

Calcula-se o total de pontos de função não ajustados.

Page 45: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

• EM QUE FASE UTILIZAR?

As contagens indicativa e estimada foram idealizadas pelo NESMA para serem utilizadas em etapas iniciais do ciclo de vida de desenvolvimento do sistema, onde ainda não existem definições detalhadas dos requisitos da aplicação, isto é, em momentos bem cedo no processo de estimativa de tamanho.

Contagem Detalhada

A contagem detalhada de pontos de função é obviamente mais exata que a contagem estimativa e indicativa; mas em contrapartida consome mais tempo e necessita de especificações mais detalhadas.

Page 46: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Cabe ao gerente do projeto e à fase do ciclo de vida em que se encontra o sistema, decidir qual tipo de contagem de pontos de função pode ser usada.

Geralmente os resultados não são exatamente os mesmos, mas ainda assim são próximos entre si.

Contagem Detalhada

Page 47: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Tomando como base isoladamente a contagem estimada do projeto Health-Watcher (176 fp), nada significa, ou seja, precisamos identificar quanto tempo, esforço, custo, pessoas envolvidas, etc; foi necessário para desenvolver o projeto. 

Quando podemos comparar medidas feitas em APF é que as coisas começam a fazer sentido. Assim se temos dois projetos, um com 176 fp e outro com 352 fp, podemos concluir que o segundo tem o dobro do tamanho do primeiro.

Quanto vale o software?

Page 48: Felipe Ribeiro Katia Barros Katya Lyra Luanna Brito Luis Augusto Guimarães

N E S M A

Após a coleta das métricas, é possível determinar indicadores para avaliação de novos projetos.

Levando em consideração:

Quanto vale o software?

1. que uma produtividade média de 5 hs / fp;

2. que a média de jornada de trabalho é de 6 horas;

3. que a equipe possui 3 pessoas;

4. que o valor de uma hora de trabalho é de R$ 25,00.

• Esforço =  5hs / fp  =   5 x 176 fp =  880 horas

• Prazo =   880 h / ( 6h x 3 pessoas) =  49 dias

• Custo =  880 h x R$ 25,00 = R$ 22.000,00