Curso de APF - Básico

25.848 visualizações

Publicada em

Apresentação do curso de Análise de Ponto de Função - APF básico.

13 comentários
76 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
25.848
No SlideShare
0
A partir de incorporações
0
Número de incorporações
23
Ações
Compartilhamentos
0
Downloads
0
Comentários
13
Gostaram
76
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Curso de APF - Básico

  1. 1. Métrica de SoftwareAnálise de Pontos de Função<br />
  2. 2. Plano de Ensino<br />Objetivo<br />Capacitar o aluno a aplicar a técnica de Análise de Pontos de Função, que identifica o tamanho funcional de uma aplicação tanto no desenvolvimento quanto na manutenção. É utilizado o CPM – CountingPractices Manual, versão 4.3, do IFPUG – InternationalFunctionPointUsersGroup, entidade internacional detentora do método de medição.<br />
  3. 3. Público<br />Desenvolvedores: analistas de sistemas, arquitetos, programadores, analistas de requisitos, analistas de testes, revisores de qualidade, mantenedores de software, documentadores e demais papeis associados ao desenvolvimento de software<br />Analistas de negócios<br />Gerentes de projetos<br />Gestores de TI<br />Interessados na certificação CFPS – CertifiedFunctionPointSpecialist (segundo semestre de 2010)<br />Gestores e usuários. <br />Plano de Ensino<br />
  4. 4. Planejamento<br />Plano de Ensino<br />Aula 1<br />Apresentação<br />Métrica de software<br />Aula 2<br />Introdução da técnica, propósito, tipo e escopo da contagem<br />Exemplos e exercícios<br />Aula 3<br />Medir funções de dados<br />Exemplos e exercícios<br />Aula 4<br />Medir funções de transações<br />Exemplos e exercícios<br />Aula 5<br />Calcular o tamanho funcional<br />Exemplos e exercícios<br />
  5. 5. Metodologia<br />Plano de Ensino<br />Aulas expositivas e discussão na aplicação da técnica Apresentação<br />Exemplos, exercícios e dinâmicas de grupo baseadas em situações reais que promovam a interação entre alunos e instrutor.<br />
  6. 6. Apresentação<br />Plano de Ensino<br />Aluno<br />Atuação<br />Expectativa<br />Contatos<br />
  7. 7. Instrutor<br />Plano de Ensino<br />Marcus de Paula Costa<br />CFPS<br />Experiência de 2 anos em APF<br />Experiência de 6 anos em desenvolvimento de software<br />Coordenador de Medição e Análise<br />Contato: marcus.itacanet@gmail.com<br />Site: http://www.marcuscosta.com.br<br />Telefone: +55 61 8401-2483<br />
  8. 8. Por que medir software?<br />
  9. 9. Por que medir software?<br />Enquete<br />Quantos já participaram de projetos de software que extrapolou o prazo ou custo?<br />Quantos já participaram de projetos de software que foi entregue no prazo?<br />Quantos já participaram de projetos de software que foi entregue no prazo e dentro do orçamento previsto?<br />
  10. 10. Por que medir software?<br />Contexto<br />Desenvolvimento de Software<br />Qualidade, prazo e custo<br />Maturidade<br />Métricas<br />
  11. 11. Contexto<br />Por que medir software?<br />Tanto os serviços de desenvolvimento como os de sustentação de Sistemas de Informação, no governo, cada vez mais estão sendo avaliados e controlados com a utilização de Métrica de Software, destacando-se a Análise de Pontos de Função - APF, técnica normatizada, defendida e divulgada pelo IFPUG. <br />Atualmente, as Organizações têm se perguntado: Por que utilizar Métrica de Software?<br />
  12. 12. Legislação<br />Por que medir software?<br />A legislação vigente estipula regras claras e precisas de gerenciamento dos contratos firmados ao término de cada processo licitatório.<br />Lei 8.666 <br />IN 04<br />
  13. 13. Legislação<br />Por que medir software?<br />A INSTRUÇÃO NORMATIVA Nº 4, DE 19 de maio de 2008, expedida pela SECRETARIA DE LOGÍSTICA E TECNOLOGIA, em vigor desde 02 de janeiro de 2009.<br />Praticamente extingue a aferição de esforço por meio da métrica Homem/Hora<br />
  14. 14. Fiscalização e Controle<br />Por que medir software?<br />O Tribunal de Contas da União (TCU) tem se pronunciado por diversas vezes apontando o Ponto de Função (PF) como sendo a unidade mais adequada para o entendimento do tamanho de qualquer sistema de informação.<br />Existe o entendimento pelos especialistas em tecnologia do governo que a APF é um primeiro passo para medição de software.<br />
  15. 15. Fiscalização e Controle<br />Por que medir software?<br />“- Assuntos: INFORMÁTICA e TECNOLOGIA DA INFORMAÇÃO. <br />DOU de 28.09.2007, S. 1, p. 137. <br />Ementa: o TCU manifestou-se no sentido de que os serviços de informática diferem substancialmente dos demais serviços, <br />...<br />... mensurados, em grande parte das vezes, por horas trabalhadas ou por simples alocação de pessoal (postos de trabalho), enquanto os serviços de Tecnologia da Informação devem priorizar a contratação, mensuração e pagamento por resultados, razão pela qual apresentam-se mais específicos e complexos em termos de definição de especificações, modelagem, planejamento das necessidades, critérios e condições para realização de licitação e acompanhamento contratual<br />...<br />(item 9.4.1.1, TC-006.030/2007-4, Acórdão nº 1.999/2007-TCU-Plenário).”<br />
  16. 16. Fiscalização e Controle<br />Por que medir software?<br />“- Assunto: TECNOLOGIA DA INFORMAÇÃO. DOU de 28.09.2007, S. 1, p. 145. <br />Ementa: o TCU determinou ao Departamento de Logística do Exército Brasileiro, do Ministério da Defesa, que fossem previstas metodologias de mensuração de serviços prestados que privilegiassem a remuneração da contratada mediante a mensuração de resultados, a exemplo da análise por Pontos de Função (método padronizado largamente utilizado no mercado nos dias de hoje para a mensuração de serviços de desenvolvimento e manutenção de sistemas, considerando as funcionalidades implementadas, sob o ponto de vista do usuário),<br />...<br />... (item 9.2.2.2, TC-019.998/2007-7, Acórdão nº 2.024/2007-TCUPlenário).”<br />
  17. 17. Contratos do Governo<br />Por que medir software?<br />Os editais para Licitações de Compra de Serviços de Desenvolvimento de Software, têm trazido Pontos de Função como a unidade definida para a medição dos produtos a serem entregues.<br />MPS<br />ANAC<br />Banco do Brasil<br />Caixa Econômica<br />IBAMA<br />BACEN<br />
  18. 18. Contratos da Iniciativa Privada<br />Por que medir software?<br />A indústria e comércio de forma geral também acompanham essa tendência, não só Governos.<br />Poliedro<br />Politec<br />CTIS<br />DBA<br />EDS<br />IBM<br />
  19. 19. Comparação<br />Por que medir software?<br />O Ponto de Função representa para a Engenharia de Software o mesmo que o M² para a Engenharia de Construção Civil, sendo a unidade principal de identificação de tamanho para os sistemas de informação. <br />
  20. 20. Por que medir software?<br />Motivação<br />“Não se consegue controlar aquilo que não se consegue medir.”<br />(Tom De Marco)<br />“Não se consegue medir aquilo que não se consegue perceber objetivamente.” (Desconhecido)<br />Mede-se para mensurar o tamanho daquilo que você está querendo controlar (gerenciar), para medir esforços necessários para alcançar o seu objetivo.<br />
  21. 21. Por que medir software?<br />Os quatro papéis da Medição<br />Entender<br />Controlar<br />Processos, Produtos e Serviços de Software<br />Avaliar<br />Prever<br />
  22. 22. Por que medir software?<br />Motivos<br />Entender e aperfeiçoar o processo de desenvolvimento<br />Melhorar a gerência de projetos e o relacionamento com clientes<br />Reduzir frustrações e pressões de cronograma<br />Gerenciar contratos de software<br />Indicar a qualidade de um produto de software<br />Avaliar a produtividade do processo<br />Avaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de software<br />Avaliar retorno de investimento<br />
  23. 23. Por que medir software?<br />Motivos<br />Identificar as melhores práticas de desenvolvimento de software<br />Embasar solicitações de novas ferramentas e treinamento<br />Avaliar o impacto da variação de um ou mais atributos do produto ou do processo na qualidade e/ou produtividade<br />Formar uma baseline para estimativas<br />Melhorar a exatidão das estimativas<br />Oferecer dados qualitativos e quantitativos ao gerenciamento de desenvolvimento de software, de forma a realizar melhorias em todo o processo de desenvolvimento de software<br />
  24. 24. Por que medir software?<br />Definição de Métricas<br />O que se busca na medição de software?<br />Medir a quantificação de uma característica de produto e as características do processos envolvidos.<br />GQM (GoalQuestionMetric):<br />Traçar os objetivos da medição de acordo com a estratégia da empresa<br />Estabelecer perguntas que atendam aos objetivos identificados<br />Verificar qual a métrica a ser utilizada para responder as questões<br />
  25. 25. Por que medir software?<br />Framework de Medição<br />Definir e Implantar Processo de Medição<br />Utilizar Ferramentas de Qualidade<br />Dados Históricos de Projetos<br />Promover a Melhoria Contínua<br />Definir Indicadores<br />
  26. 26. Plano de Medição e Análise<br />Por que medir software?<br />Plano de levantamento e análise de indicadores em uma organização, de acordo com as necessidades estratégicas da empresa<br />Exemplo de indicadores:<br />Produtividade<br />Densidade dos defeitos<br />Mudanças no Esforço<br />Variação nos cronogramas<br />Variação dos custos<br />Custo da qualidade<br />
  27. 27. Exemplos de Indicadores<br />Indicador de produtividade<br />Indicador de custo<br />Indicador de esforço<br />Por que medir software?<br />Produtividade = Produto de Trabalho/Esforço de Trabalho<br />CUSTO = $/PF<br />ESFORÇO = PF/Pessoa-Mês<br />
  28. 28. Modelos de Estimativas<br />Baseado em Analogias<br />Opiniões de especialistas e Bases Históricas<br />Baseado em Atividades<br />Hierarquia de atividades – Ex. EAP (Estrutura Analítica do Projeto)<br />Relação simples de estimativas<br />Esforço = Produtividade x Tamanho<br />Modelos Paramétricos<br />COCOMO<br />Por que medir software?<br />
  29. 29. Do tamanho para o esforço<br />Por que medir software?<br />Tamanho dos Requisitos<br />Eficácia da Tecnologia<br />Tamanho Funcional<br />Tamanho do Produto<br />Ferramentas<br />Tamanho Técnico<br />Padrões<br />Custo do Projeto<br />Podemos até ter a relação direta entre o Tamanho Funcional e o Esforço, porém todas as outras variáveis tem de estar constantes.<br />Não existem uma correlação direta entre o Tamanho Funcional e o Esforço!!!<br />Esforço<br />Valor da Hora<br />Outros Custos<br />
  30. 30. Ingredientes para uma boa estimativa<br />O escopo da atividade<br />O ambiente<br />Experiência da equipe<br />Ferramentas<br />Aprender com experiências passadas <br />Por que medir software?<br />
  31. 31. Experiência da Equipe<br />Habilidade para entender claramente o escopo<br />Experiência na Plataforma de desenvolvimento<br />Gerente experiente<br />Qualidade dos Processos <br />Competência da Equipe de Testes<br />Por que medir software?<br />
  32. 32. Estimativas Eficientes<br />Cada projeto novo de Software é uma experiência única para a equipe.<br />Métricas , Passado, Presente e Futuro<br />“Quem não lembra do passado está condenado a repeti-lo”. (Santayana)<br />Por que medir software?<br />
  33. 33. Estimativas Erradas<br />Ignorar o passado – Dados Históricos<br />Otimismo para agradar <br />Incerteza nos requisitos<br />Pressão Gerencial<br />Equipe de estimativas não qualificada<br />Orçamento irreal<br />Por que medir software?<br />
  34. 34. Análise de Pontos de Função<br />
  35. 35. Histórico<br />1979 Allan Albrecht (IBM) cria as primeiras regras da APF<br />1983 Primeiro curso de APF no Brasil (Unisys)<br />1984 Primeiro manual de APF<br />1986 Criação da primeira diretoria do IFPUG<br />1996 Primeiro exame CFPS no Brasil<br />1998 Criação do BFPUG<br />2004 CFPS no Brasil = 200<br />2007 CPM (Manual de Práticas de Contagem) versão 4.2.1 em português<br />2010 CPM versão 4.3<br />Análise de Ponto de Função - APF<br />
  36. 36. Aplicação<br />Suporte a análise de QUALIDADE e PRODUTIVIDADE<br />Estimar CUSTOS e RECURSOS necessários para o desenvolvimento e manutenção de software<br />Fator de NORMALIZAÇÃO para a comparação de software<br />Determinar o TAMANHO DE UM PACOTE de software adquirido pela empresa<br />Ajudar a DEFINIR O BENEFÍCIO de um pacote de software para um determinado grupo de usuários<br />Análise de Ponto de Função - APF<br />
  37. 37. Objetivos<br />Análise de Ponto de Função - APF<br />Medir a funcionalidade que o usuário solicita e recebe.<br />Medir o desenvolvimento e a manutenção de software, independentemente da tecnologia utilizada para a implementação.<br />Técnica<br />Suficientemente simples para minimizar a sobrecarga no processo de medição.<br />Uma medida consistente entre os vários projetos e organizações.<br />Processo<br />
  38. 38. Referências Normativas<br />ISO/IEC 14143-1:1998 – Medição de Tamanho Funcional de Software<br />O IFPUG-CPM foi referenciado pela ISO/IEC 14143 desde a versão 4.1, com a exclusão das CGS.<br />A versão 4.3 do IFPUG-CPM foi totalmente formulada para atender na integra ISO/IEC 14143, que é a norma ISO/IEC 20926:2009.<br />Análise de Ponto de Função - APF<br />
  39. 39. Procedimentos de Contagem<br />Análise de Ponto de Função - APF<br />Contar funções de dados<br />Determinar <br />o escopo, <br />as fronteiras <br />e identificar as necessidades funcionais <br />do usuário<br />Calcular o tamanho funcional<br />Documentar e Reportar<br />Reunir a documentação disponível<br />Contar funções de transação<br />
  40. 40. Reunir a documentação disponível<br />Deve oferecer suporte a contagem<br />Deve descrever as funcionalidades impactadas pelo projeto<br />Ter acesso a especialistas aos quais poderão corrigir eventuais falhas na documentação<br />Exemplo:modelo de dados (Lógico ou Físico), diagramas de classe, diagramas de fluxo de dados, casos de uso, descrições processuais, layouts de relatório, layouts de tela, manuais e outros artefatos de desenvolvimento de softwares.<br />Análise de Ponto de Função - APF<br />
  41. 41. Determinar o propósito da contagem<br />Uma contagem deve prover uma resposta a um problema do negócio<br />Estimar o esforço para desenvolver novo sistema ou evoluir um já existente?<br />Contar a base instalada de aplicativos?<br />Comparar funcionalidades entre pacotes de aplicativos?<br />Determina o Escopo e o Tipo de contagem<br />Influencia o posicionamento da(s) fronteira(s) da(s) aplicação(ões)<br />Exemplo: O módulo de pagamento do sistema de RH será substituído por um pacote, então os usuários podem decidir por reposicionar a fronteira e considerar o módulo de pagamento como uma aplicação separada.<br />Análise de Ponto de Função - APF<br />
  42. 42. Determinar o tipo de contagem<br />Desenvolvimento<br />Melhoria<br />Aplicação/Baseline<br />Análise de Ponto de Função - APF<br />
  43. 43. Análise de Ponto de Função - APF<br />Determinar o tipo de contagem - Desenvolvimento<br />Quantifica as funcionalidades providas ao usuário da aplicação com a primeira instalação de um software entregue quando o projeto é terminado.<br />Funcionalidades Criadas ou Customizadas<br />Conversão de dados<br />Tamanho do Projeto de Desenvolvimento<br />
  44. 44. Análise de Ponto de Função - APF<br />Determinar o tipo de contagem - Melhoria<br />Mede todas as modificações (inclusões, alterações e exclusões) na aplicação já entregue ao usuário, incluindo funções de conversão.<br />Funcionalidades Adicionadas<br />Conversão de dados<br />Funcionalidades Alteradas<br />Funcionalidades Excluídas<br />Tamanho do Projeto de Melhoria<br />
  45. 45. Análise de Ponto de Função - APF<br />Determinar o tipo de contagem – Aplicação/Baseline<br />Dimensiona o tamanho real de uma aplicação instalada, representando as funcionalidades oferecidas ao usuário.<br />Funcionalidades Disponíveis<br />Tamanho da Aplicação<br />
  46. 46. Tipos de Manutenção<br />Análise de Ponto de Função - APF<br />Corretiva<br />Defeitos ou não conformidades.<br />Adaptativa<br />Resposta às modificações dos requisitos em um momento em que partes do produto já foram instaladas. Mudança na funcionalidade.<br />Perfectiva /Manutenção Preventiva<br />Mudanças no ambiente sem alteração na funcionalidade.<br />
  47. 47. Análise de Ponto de Função - APF<br />Relacionamento entre os tipos de contagem<br />Contagem Estimada<br />Projeto de Desenvolvimento<br />Projeto A<br />Contagem Final<br />Projeto de Desenvolvimento<br />Projeto A<br />Projeto Completo<br />Inicializa<br />Contagem da Aplicação/Baseline<br />Contagem Estimada<br />Projeto de Melhoria<br />Projeto B<br />Contagem Final<br />Projeto de Melhoria<br />Projeto B<br />Atualiza<br />Projeto Completo<br />
  48. 48. Determinar o escopo da contagem<br />Análise de Ponto de Função - APF<br />O escopo da contagem define as funções que serão incluídas em uma contagem em particular.<br />Define:<br />O escopo define um conjunto (ou subconjunto) de software sendo medido<br />Identifica quais funcionalidades serão incluídas na contagem<br />Pode incluir mais de uma aplicação ou parte de uma aplicação<br />
  49. 49. Escopo X Tipo de Contagem<br />Análise de Ponto de Função - APF<br />Desenvolvimento: inclui todas as funções construídas ou customizadas no projeto.<br />Melhoria: inclui todas as funções adicionadas, alteradas e excluídas. A fronteira da aplicação permanece a mesma.<br />Aplicação: pode incluir<br />Todas as funções usadas pelo usuário<br />Todas as funções entregues<br />
  50. 50. Definições<br />Análise de Ponto de Função - APF<br />Usuário: pessoa ou coisa que se comunique ou interaja com o sistema a qualquer momento.<br />Visão do usuário: é a descrição formal de uma necessidade de negócio na linguagem do usuário. Os desenvolvedores traduzem aquela linguagem numa linguagem de TI para realizar o projeto lógico.<br />Exemplo:<br />É uma descrição das funções do negócio<br />É aprovada pelo usuário<br />Pode ser usada para contar pontos de função<br />Pode variar na forma física (ex., catálogo de transações, propostas, documento de requisitos, especificações externas, especificações detalhadas, manuais do usuário)<br />
  51. 51. Visão do Usuário x Requisitos<br />Análise de Ponto de Função - APF<br />Possíveis Requisitos:<br /><ul><li> O sistema precisa manter informações do checklist de documentação.
  52. 52. Se os documentos apresentados não estiverem conforme o checklist, o sistema não pode apresentar a tela de cadastro de pessoa.
  53. 53. O sistema deve manter informações de pessoa.</li></li></ul><li>Definições<br />Análise de Ponto de Função - APF<br />O que é uma funcionalidade ?<br />É uma Função<br />Pode ser um Serviço<br />Pode ser uma Capacidade necessitada por um usuário para resolver um problema ou atingir um objetivo<br />Algo Visto, Tangível, com sentido tanto para usuários quanto para desenvolvedores que trabalhando em conjunto produzem um determinado resultado.<br />Ex1: Cadastrar um correntista <br />Ex2: Cadastrar um correntista em 5 segundo ( é uma característica tecnológica ,<br /> sendo assim não é um requisito funcional).<br />
  54. 54. Requisitos do Usuário<br />Análise de Ponto de Função - APF<br />APF<br />Funcionalidades<br />Software<br />Necessidades do usuário<br />Tecnologia<br />Qualidade<br />
  55. 55. Determinar a fronteira da aplicação<br />Análise de Ponto de Função - APF<br />A fronteira é uma interface conceitual entre a aplicação em estudo e seus usuários.<br />A fronteira:<br />Define o que é externo a aplicação<br />Indica a fronteira entre o software sendo contado e o usuário<br />Funciona como uma membrana pela qual os dados processados pelas transações (EE, SE e CE) passam para dentro e fora da aplicação<br />Inclui os Arquivos Lógicos Internos (ALI) mantidos pela aplicação<br />Auxilia na identificação dos Arquivos Referenciados (AIE), mas não mantidos pela aplicação<br />Depende da visão de negócio do usuário da aplicação. É independente da tecnologia de implementação<br />
  56. 56. Exemplo de Posicionamento de Fronteira<br />Análise de Ponto de Função - APF<br />Exemplo A:<br />Sistema de Folha de Pagamento<br />Sistema de Recursos Humanos<br />Exemplo B:<br />Sistema de Gestão de Recursos Humanos<br />Módulo de Recrutamento e Seleção<br />Módulo de Plano de Saúde<br />Módulo de Folha de Pagamento<br />
  57. 57. Regras para determinar a fronteira<br />Análise de Ponto de Função - APF<br />É determinada pela visão do usuário. Deve obedecer o que o usuário pode reconhecer e descrever<br />A fronteira entre aplicações relacionadas é determinada pela visão da área funcional do usuário e não pela visão técnica ou tecnológica<br />Uma fronteira já estabelecida numa aplicação sendo alterada não é influenciada pelo escopo da contagem<br />Caso o escopo da contagem envolva mais de uma aplicação, as fronteiras entre as aplicações devem ser determinadas<br />
  58. 58. Análise de Ponto de Função - APF<br />Estudo de Caso – Posicionamento de Fronteira<br />Uma determinada empresa de materiais de construção possui um sistema de cadastro de clientes, utilizado para vários fins, inclusive para emissão de malas diretas promocionais.<br />Uma nova forma de venda que permite o cadastramento de pedidos por meio de uma central de atendimentos está sendo inaugurada. O operador, ao receber um pedido de fornecimento, procede seu cadastramento em um sistema de cadastro de solicitações. Este sistema também está disponível para o pessoal responsável por separar o material de cada pedido e embalá-lo adequadamente para ser entregue. Para fazer um pedido pela central de atendimentos é necessário fazer um cadastramento prévio na própria loja.<br />Uma hora antes do final de cada expediente (matutino e vespertino) o pessoal da área de cobrança emite as faturas enviando-as ao pessoal da área de entrega. As entregas serão realizadas no próximo período.<br />Segundo está configuração de processos qual seria a configuração de fronteiras para as aplicações citadas?<br />
  59. 59. Análise de Ponto de Função - APF<br />Estudo de Caso – Posicionamento de Fronteira<br />Usuário<br />Setor de Faturamento<br />Pedidos<br />Clientes<br />Faturamento referencia dados de pedidos cadastrados<br />Faturamento referencia dados de clientes cadastrados<br />Usuário<br />Setor de Cadastro de Clientes<br />Faturamento<br />Usuário<br />Setor de Cadastro de Pedidos<br />
  60. 60. Análise de Ponto de Função - APF<br />Dicas para definição de Fronteira<br />Utilize as especificações (requisitos), Casos de Uso ou um Diagrama de Fluxos de Dados do sistema e desenhe as fronteiras ao redor do sistema para realçar as funções internas e externas<br />Observe como os grupos de dados são mantidos<br />Identificar por áreas funcionais, atribuindo os responsáveis por cara objeto de negócio (como entidades ou processos elementares) de uma área funcional<br />Analise contagens anteriores, as fronteiras provavelmente serão as mesmas<br />Entreviste os especialistas de cada área<br />
  61. 61. Análise de Ponto de Função - APF<br />Prática de Conceitos<br />A empresa “XPTO” possui um sistema informatizado que administra os seus gastos externos (Contas a Pagar). <br />Este sistema encontra-se implementado em produção e faz interface com outras aplicações da empresa. De forma particularmente importante, este sistema faz interface com o sistema de folha de pagamentos de funcionários. No sistema da folha de pagamentos são referenciados dados sobre os encargos a serem pagos pela empresa sobre os salários praticados para funcionários. <br />Deseja-se identificar o tamanho em Pontos por Função do sistema de Contas a Pagar e um levantamento de suas funcionalidades para subsidiar futuras comparações.<br />
  62. 62. Propósito da Contagem:<br />Identificar o tamanho de um sistema já existente, implementado e em produção.<br />Tipo:<br />Aplicação / Baseline<br />Escopo:<br />As funções que compõem o sistema de contas a pagar.<br />Análise de Ponto de Função - APF<br />Prática de Conceitos<br />
  63. 63. Análise de Ponto de Função - APF<br />Prática de Conceitos<br />Um banco nacional está pensando em descontinuar parte de seu sistema desenvolvido in-house e substituí-lo por um pacote de software, que contempla as mesmas funções, porém mais flexível e parametrizado. Este pacote será responsável, dentro do sistema de controle de cartões de crédito, pela emissão de extratos, 2ª via de extratos, informação de saldo, limite de crédito etc.<br />Para saber a viabilidade econômica, resolveu-se medir o tamanho funcional das funções atuais e estimar seu custo, caso fossem redesenhadas.<br />
  64. 64. Propósito da Contagem:<br />Identificar o tamanho funcional de um módulo de software para compará-lo a outro software funcionalmente equivalente.<br />Tipo:<br />Aplicação / Baseline<br />Escopo:<br />As funções que serão substituídas pelo pacote de software.<br />Análise de Ponto de Função - APF<br />Prática de Conceitos<br />
  65. 65. Análise de Ponto de Função - APF<br />Visão Geral da APF<br />APF<br />Reunir documentação<br />Propósito, Tipo, Escopo e Fronteira<br />Contar Funções Transacionais<br />Contar Funções de Dados<br />ALI<br />AIE<br />EE<br />CE<br />SE<br />Calcular Tamanho Funcional<br />Documentar e Reportar<br />
  66. 66. Análise de Ponto de Função - APF<br />Funções de Dados<br />Representam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externos<br />São definidas como Arquivos de Interface Interna (ALI) e Arquivos de Interface Externa (AIE)<br />
  67. 67. Análise de Ponto de Função - APF<br />Funções de Dados<br />Entrada<br />Processamento<br />Saída<br />Arquivos<br />Funções de Dados<br />
  68. 68. Análise de Ponto de Função - APF<br />Definição de Arquivo para APF<br />Não significa arquivo no sentido tradicional de processamento de dados<br />Refere-se a um grupo de dados logicamente relacionados<br />Não leva em consideração a implementação física desses grupos de dados<br />
  69. 69. Análise de Ponto de Função - APF<br />Definição de ALI<br />Grupo de dados ou informação de controle<br />Logicamente relacionados<br />Reconhecido pelo usuário<br />Mantido dentro da fronteira da aplicação<br />A intenção primária é armazenar dados mantidos através de um ou mais processos elementares da aplicação que está sendo contada.<br />
  70. 70. Análise de Ponto de Função - APF<br />Definição de AIE<br />Grupo de dados ou informação de controle<br />Logicamente relacionados<br />Reconhecido pelo usuário<br />Referenciado pela aplicação<br />Mantido dentro da fronteira de outra aplicação<br />A intenção primária é armazenar dados referenciados através de um ou mais processos elementares da aplicação que está sendo contada.<br />Um AIE contado para uma aplicação tem que ser um ALI em outra aplicação.<br />
  71. 71. Análise de Ponto de Função - APF<br />Diferença entre ALI e AIE<br />Um AIE não émantido pela aplicação que está sendo contada, enquanto que um ALI o é.<br />
  72. 72. Exemplo – Sistema de Reservas<br />Análise de Ponto de Função - APF<br />ALI<br />ALI<br />ALI<br />AIE<br />Para o sistema de Controle de Reservas Cliente, Reserva e Apartamento são ALI. E Funcionário é um AIE.<br />Para o sistema de Pessoal Funcionário é um ALI.<br />
  73. 73. Análise de Ponto de Função - APF<br />Definições de Termos Utilizados<br />Processo Elementar<br />Informações de controle<br />Reconhecido pelo usuário<br />Mantido<br />
  74. 74. Análise de Ponto de Função - APF<br />Processo Elementar<br />É a menor unidade de atividade significante para o usuário na aplicação.<br />Tem que ser:<br />Reconhecido pelo usuário<br />Auto contido (auto suficiente ou independente)<br />Ser uma operação completa<br />Deixar o negócio da aplicação sendo contada em um estado consistente após ser concluído.<br />
  75. 75. Análise de Ponto de Função - APF<br />Processo Elementar<br />Exemplo: os requisitos do usuário para a inclusão de um funcionário compreendem a determinação de informações de salário e dependentes. Um funcionário não terá sido criado se não forem incluídas todas as respectivas informações. A partir da perspectiva do usuário, a menor unidade de atividade é incluir um novo funcionário. Incluir separadamente apenas parte das informações deixará o negócio em um estado inconsistente. Se forem incluídos tanto o salário do funcionário quanto as informações do(s) dependente(s), a unidade de atividade será concluída e o negócio será deixado em um estado consistente.<br />
  76. 76. Análise de Ponto de Função - APF<br />Informações de Controle<br />São dados utilizados pela aplicação para garantir a conformidade com os requisitos do negócio especificados pelo cliente<br />Influenciam um processo elementar da aplicação que está sendo contada<br />Especificam o que, quando ou como os dados serão processados<br />Exemplo:<br />Seleção de perfil<br />Seleção de idioma<br />Parâmetros de configuração – (Quando especificados pelo usuário)<br />
  77. 77. Análise de Ponto de Função - APF<br />Reconhecido pelo Usuário<br />É o entendimento comum entre usuário e técnicos sobre os requisitos dos processos de negócio<br />É o consenso entre USUÁRIO e TÉCNICO<br />É o resultado final da disciplina de requisitos<br />
  78. 78. Análise de Ponto de Função - APF<br />Mantido<br />É a habilidade de modificar dados através de um processo elementar<br />Exemplo:<br />Inserir<br />Alterar<br />Excluir<br />Revisar<br />Associar<br />Criar<br />...<br />
  79. 79. Análise de Ponto de Função - APF<br />Processo de contagem de Funções de Dados<br />Identificar as Funções de Dados<br />Classificar cada Função de Dados em ALI ou AIE<br />Determinar a complexidade e contribuição de cada Função de Dados<br />
  80. 80. Análise de Ponto de Função - APF<br />Regras de identificação de Funções de Dados<br />Identificar todos os dados logicamente relacionados e reconhecidos pelo usuário que estejam no escopo da contagem<br />Entidades independentes são consideradas grupos de dados lógicos separados<br />Agrupar entidades dependes em um único grupo de dados<br />Excluir todas as entidades consideradas Code Data (Dado de Código)<br />Excluir toda entidade que não contém atributos solicitados pelo usuário<br />Remover entidades associativas que só representam o relacionamento entre as entidades, ou seja, somente pares de chave ou atributos que não sejam solicitados pelo usuário<br />
  81. 81. Análise de Ponto de Função - APF<br />Regras de classificação de Funções de Dados<br />Classifique como ALI se os dados do arquivo lógico forem mantidos dentro da fronteira da aplicação sendo contada<br />Classifique como AIE se os dados do arquivo lógico:<br />Forem referenciados, mas não mantidos, pela aplicação sendo contada<br />Forem mantidos dentro da fronteira de outra aplicação<br />Se a Função de Dados atender ambas as regras, classifique como ALI<br />
  82. 82. Análise de Ponto de Função - APF<br />Regras de complexidade e contribuição de Funções de Dados<br />A complexidade funcional de cada função de dados é determinada pela contagem dos:<br />Tipos de Dados Elementares (DER)<br />Tipos de Registros Elementares (RLR)<br />
  83. 83. Análise de Ponto de Função - APF<br />Definição de DER<br />É um campo único, reconhecido pelo usuário e não repetido.<br />Se compararmos com a modelagem de dados seriam os atributos.<br />Se o usuário não enxergar o campo existem grandes chances deste campo ter sido gerado por razões técnicas.<br />
  84. 84. Análise de Ponto de Função - APF<br />Regras de DER<br />Conte um DER para cada campo único, reconhecido pelo usuário e não repetido, mantido ou recuperado de um ALI ou AIE através da execução de um Processo Elementar.<br />Quando duas aplicações mantém e/ou referenciam o mesmo ALI/AIE, mas cada uma mantém/referencia diferentes DERs, conte apenas os DERs que estão sendo usados por cada aplicação para medir o ALI ou AIE. <br />Conte um DER para cada parte de dado requisitada pelo usuário para estabelecer um relacionamento com outro ALI ou AIE.<br />Verifique como os atributos se agrupam para determinar se serão um único DER ou múltiplos DERs; o agrupamento vai depender de como o processo elementar utiliza os atributos na aplicação.<br />
  85. 85. Análise de Ponto de Função - APF<br />Definição de RLR<br />É um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou AIE<br />Existem dois tipo de subgrupos de dados:<br />Opcional : são aqueles que o usuário tem a opção de não informar no processo elementar que cria ou adiciona dados ao arquivo<br />Obrigatórios: são aqueles que o usuário deve sempre informar ao processo elementar que cria ou adiciona dados ao arquivo<br />
  86. 86. Análise de Ponto de Função - APF<br />Regras de RLR<br />Contar um RLR para cada Função de Dados identificada<br />Contar um RLR adicional para cada um dos subgrupos de dados que contenham mais de um DER:<br />Entidade associativa com atributos não-chave<br />Sub-tipo (exceto o primeiro sub-tipo)<br />Entidade atributiva, em uma relação que não seja obrigatório 1-1<br />
  87. 87. Análise de Ponto de Função - APF<br />Complexidade Funcional para ALI e AIE<br />
  88. 88. Análise de Ponto de Função - APF<br />Contribuição para ALI e AIE<br />
  89. 89. Análise de Ponto de Função - APF<br />Exemplo de contagem de RLR<br />Em uma aplicação de recursos humanos, as informações sobre um empregado são adicionadas cadastrando-se dados genéricos. Também foi determinado pelo usuário que existe a obrigatoriedade de cadastramento do tipo de pagamento (por hora ou mensal) para o empregado. <br />No cadastramento de um empregado podem ser incluídas informações a respeito de seus dependentes. <br />
  90. 90. Análise de Ponto de Função - APF<br />Resultado do Exemplo<br />No ALI empregado existem 3 RLR que são:<br /> As informações sobre o empregado - Obrigatório;<br /> Dados sobre pagamento - Obrigatório;<br /> Os dados relativos aos seus dependentes - Opcional.<br />Provavelmente RLRs obrigatórios farão parte do mesmo ALI, mas os opcionais devem ser verificados quanto a “como são vistos pelos usuários”, pois dependendo desta visão eles podem fazer parte de outro ALI ou até mesmo ser um ALI em separado.<br />
  91. 91. Análise de Ponto de Função - APF<br />Dicas para contagem de Funções de Dados<br /> Uma aplicação pode utilizar um ALI ou AIE diversas vezes, porém o ALI ou AIE é contado uma única vez.<br /> Um arquivo lógico não pode ser contado como um ALI e um AIE na mesma aplicação. Caso isto ocorra, conte-o como um ALI.<br /> Arquivos com mais de um tipo de registro indicam vários RLRs (Ex.: arquivos de transações).<br /> Tabelas dependentes geralmente são um RLR da tabela pai e não são contadas como funções de dados separadas.<br /> Verifique se o arquivo é mantido dentro da aplicação. Se for, sempre será um ALI.<br /> Arquivos de interface gerados em um aplicação não são contados como função de dados na aplicação que o gerou.<br /> Arquivos de help, mantidos fora da aplicação, são contados como AIE. <br />
  92. 92. Análise de Ponto de Função - APF<br />Dicas para contagem de Funções de Dados<br />Uma forte identificação de ser um RLR:<br />A inclusão ou exclusão conjunta de determinado grupo de entidades é um forte indicador que esse grupo deva ser considerado um único arquivo lógico referenciado (ALI ou AIE). A alteração de dados normalmente está direcionada apenas para uma entidade; consequentemente, ela não é uma orientação efetiva para agrupar entidades.<br />LEMBRAR DO CONCEITO DE ENTIDADE DEPENDENTE.<br />Ex: Ordem de Serviço e Itens da Ordem de Serviço.<br />
  93. 93. Análise de Ponto de Função - APF<br />Exercício – Funções de Dados<br />Em uma aplicação de recursos humanos foi requisitado pelo usuário a capacidade de se manter dados sobre os cargos possíveis de serem ocupados na Organização, bem como poder associar um cargo a cada funcionário.<br />Cada cargo conterá as seguintes informações: Código do Cargo, Nome do Cargo e um conjunto de linhas descritivas (cada uma com até 80 caracteres alfa-numérico) sobre suas atribuições básicas. Podem existir tantas linhas quantas forem necessárias para descrever as atribuições de cada cargo. <br />Existe uma tabela corporativa que armazena informações das áreas da empresa, que serão usadas na definição da área de lotação de cada funcionário. Esta tabela é mantida fora da fronteira desta aplicação e todos os seus dados são vistos pelo usuário.<br />Segundo o usuário, é obrigatório que todos os cargos tenham suas respectivas descrições de atribuições para serem cadastrados.<br />
  94. 94. Análise de Ponto de Função - APF<br />Exercício – Funções de Dados – MER<br />
  95. 95. Análise de Ponto de Função - APF<br />Exercício – Funções de Dados – Arquivo de Funcionários<br />ALI – 2RLR – 15DER – Baixa – 7 PF<br />
  96. 96. Análise de Ponto de Função - APF<br />Exercício – Funções de Dados – Arquivo de Cargo<br />ALI – 1RLR – 3DER – Baixa – 7 PF<br />
  97. 97. Análise de Ponto de Função - APF<br />Exercício – Funções de Dados – Arquivo de Unidade<br />AIE – 2RLR – 4DER – Baixa – 7 PF<br />
  98. 98. Análise de Ponto de Função - APF<br />Exercício – Funções de Dados – Análise Final<br />ALI – 2RLR – 15DER – Baixa – 7 PF<br />ALI – 1RLR – 3DER – Baixa – 7 PF<br />AIE – 2RLR – 4DER – Baixa – 7 PF<br />
  99. 99. Análise de Ponto de Função - APF<br />Conceitos de Modelagem de Dados<br />Entidade<br />É um grupo de dados sobre o qual a informação é coletada (pessoa, lugares, coisas, eventos, etc.)<br />Podem ser instanciadas<br />É algo fundamental e relevante para o usuário manter um conjunto de informações<br />Uma associação entre entidades pode conter seus próprios atributos<br />Envolve informações ou representações de coisas similares, que compartilham características ou propriedades<br />Entidade -> Arquivo lógico<br />
  100. 100. Análise de Ponto de Função - APF<br />Conceitos de Modelagem de Dados<br />Elemento de Dados (ou Data Item)<br />Um componente fundamental da entidade<br />Uma partícula atômica de informação no universo de negócios tratado pelo sistema (aplicação)<br />A menor partícula de informação com sentido para o mundo real de negócios do usuário<br />Linha, registro<br />Grupo de dados relacionados, tratados como uma unidade<br />Elemento de Dados -> DER<br />Grupo de Dados -> RLR<br />
  101. 101. Análise de Ponto de Função - APF<br />Tipos de Entidades – Negócio (bussiness data)<br />Entidades do núcleo de negócios. Mandatório para a área de negócios tratada, identificável e mantido regularmente por funcionalidades determinadas pelo usuário (negócios). Usualmente com vários campos e possibilidade ilimitada de registros.<br />Exemplos:<br />Funcionário<br />Cargos<br />Dependentes<br />Fatura<br />Itens de Fatura<br />Contrato<br />Aditivos de Contrato<br />Clientes<br />
  102. 102. Análise de Ponto de Função - APF<br />Características<br />É obrigatório para a operação da área funcional do usuário<br />É identificável e mantido pelo usuário de negócio<br />Armazena o Dado Principal do usuário para apoiar as transações do negócio<br />É muito dinâmico, ou seja, as operações normais do negócio os induzem a ser regularmente referenciado e usualmente adicionado, alterado ou excluído<br />Como característica física possui campos de chave e geralmente muitos atributos, e pode conter de zero a infinitos registros<br />Tipos de Entidades – Negócio (bussiness data)<br />
  103. 103. Análise de Ponto de Função - APF<br />Tipos de Entidades – Referência (reference data)<br />Obrigatória para a área de negócio tratada, identificável e mantida regularmente por funcionalidades determinadas pelo usuário (usuário administrativo). Contém dados relevantes para o núcleo de negócios tratados pela aplicação. Menos dinâmica com mudanças ocasionais, em resposta à mudanças em ambientes de áreas funcionais do usuário, processos externos ou regras de negócio. Usualmente poucos campos (além de código descrição).<br />Exemplos:<br />FuncionárioCargos Funcionário<br />Cargos<br />Dependentes<br />FaturaImpostos Fatura<br />Itens de Fatura<br />ContratoSaldo Devedor TxJuros<br />Aditivos de Contrato<br />Clientes<br />
  104. 104. Análise de Ponto de Função - APF<br />Tipos de Entidades – Referência (reference data)<br />Características<br />É obrigatória para a área funcional do usuário<br />É identificável pelo usuário<br />Geralmente é mantida pelo usuário (geralmente usuário administrativo)<br />Geralmente construída quando a aplicação é inicialmente implantada e é mantida intermitentemente<br />Armazena os dados para apoiar as atividades principais do usuário<br />É menos dinâmica, ou seja, ocasionalmente se altera com as mudanças nas áreas funcionais, nos processos externos funcionais e/ou nas regras de negocio<br />Transações que processam dados de negócio frequentemente necessitam acessar os dado de referência<br />Como característica física, possui campos de chave e alguns atributos, e geralmente contém ao menos um registro ou um número limitado de registros<br />
  105. 105. Análise de Ponto de Função - APF<br />Tipos de Entidades – Código Descrição (code data)<br />Raramente especificadas pelo usuário (negócios). Listas ou tabelas de tradução de dados codificados ou valores padrão. Descobertas a partir do projeto e não de requisitos funcionais. Podem ser mantidas por usuários (grupo de suporte). Essencialmente estáticas, campos Código/Descrição e poucos registros.<br />Exemplos:<br />FuncionárioCargos Funcionário<br />CargosTipoPag<br />Dependentes<br />FaturaImpostos Fatura<br />Itens de Fatura<br />ContratoSaldo Devedor TxJuros<br />Aditivos de ContratoTipo de TxJuros<br />Clientes<br />
  106. 106. Análise de Ponto de Função - APF<br />Características<br />O dado é obrigatório na área funcional, mas opcionalmente armazenado como um arquivo de dados<br />Geralmente não é identificado como parte dos requisitos funcionais, mas como parte do desenho para alinhar-se aos requisitos técnicos<br />É mantido algumas vezes pelo usuário (geralmente usuário de suporte)<br />Armazena os dados para padronizar e facilitar as atividades do negócio e as transações do negócio.<br />Tipos de Entidades – Código Descrição (code data)<br />
  107. 107. Análise de Ponto de Função - APF<br />Características<br />É essencialmente estático, ou seja, somente se altera com as mudanças decorrentes da operação do negócio<br />Transações de negócio acessam os Dados de Código para melhorar e facilitar a entrada de dados, melhorar a consistência dos dados, assegurar a integridade dos dados, etc.;<br />Como característica física contém campo de chave e geralmente apenas um ou dois atributos; tipicamente contém um número estável de registros, pode representar 50% de todas as entidades na terceira forma normal; algumas vezes “desnormalizada” é colocada em uma tabela física com outros Dados de Código; pode ser implementado de diferentes maneiras, tais como: em aplicações separadas, dicionário de dados, ou HARD-CODED no software.<br />Tipos de Entidades – Código Descrição (code data)<br />
  108. 108. Análise de Ponto de Função - APF<br />Outros exemplos:<br />Situação<br />Código da situação<br />Descrição da situação<br />Tipo de pagamento<br />Código do tipo de pagamento<br />Descrição do pagamento<br />Dados de código ou dados de referência?<br />UF<br />Estado Civil<br />Tipos de munição<br />Marcas de armas<br />Código das cores<br />Tipos de Entidades – Código Descrição (code data)<br />
  109. 109. Análise de Ponto de Função - APF<br />Dica importante<br />Verifique se o dado foi requisitado pelo usuário e, portanto, é relevante para o negócio tratado pela aplicação<br />Se ele nasceu em decorrência de uma atividade de análise / modelagem / projeto<br />Tipos de Entidades<br />
  110. 110. Análise de Ponto de Função - APF<br />Visão Geral da APF<br />APF<br />Reunir documentação<br />Propósito, Tipo, Escopo e Fronteira<br />Contar Funções Transacionais<br />Contar Funções de Dados<br />ALI<br />AIE<br />EE<br />CE<br />SE<br />Calcular Tamanho Funcional<br />Documentar e Reportar<br />
  111. 111. Análise de Ponto de Função - APF<br />Funções de Transação<br />Funções de Transação<br />Entrada<br />Processamento<br />Saída<br />Arquivos<br />Funções de Dados<br />
  112. 112. Análise de Ponto de Função - APF<br />Funções de Transação<br />É um processo elementar que fornece ao usuário a capacidade de processar dados<br />Podem ser de três tipos: <br />Entradas Externas (EE)<br />Saídas Externas (SE)<br />Consultas Externas (CE)<br />
  113. 113. Análise de Ponto de Função - APF<br />Funções de Transação<br />São fluxos de dados que devem obrigatoriamente cruzar a fronteira da aplicação sendo contada.<br />1.1<br />Fronteira da Aplicação<br />Inserir Produto<br />1.2<br />Usuário<br />Consultar Produto<br />Produtos<br />1.3<br />Saldo de Produto<br />
  114. 114. Análise de Ponto de Função - APF<br />Identificação das Funções de Transação<br />A identificação dos tipos de Funções de Transação nem sempre é trivial por isso o IFPUG construiu a seguinte tabela.<br />
  115. 115. Análise de Ponto de Função - APF<br />Definição de EE – Entrada Externa<br />É um processo elementar no qual dados ou informação de controle atravessam a fronteira da aplicação de fora para dentro.<br />A intenção primária de uma Entrada Externa é manter um ou mais ALI ou alterar o comportamento do sistema<br />EE representam as atividades que CRIAM, ATUZALIZAM ou APAGAM dados ou processam INFORMAÇÃO DE CONTROLE<br />Exemplo:<br />O usuário solicitou a capacidade da aplicação em manter dados no cadastro de funcionários. A manutenção de dados consiste em incluir um novo funcionário, alterar e excluir um funcionário existente.<br />Para APF existem 3 Entradas Externas: uma para a inclusão, uma para alteração e uma para a exclusão de dados do funcionário.<br />
  116. 116. Análise de Ponto de Função - APF<br />Processo de Contagem de EE – Entrada Externa<br />Identificar o processo elementar e verificar se ele se enquadra nas regras de Entrada Externa<br />Determinar a complexidade funcional<br />Determinar a contribuição em Pontos de Função<br />
  117. 117. Análise de Ponto de Função - APF<br />Regras de identificação de EE – Entrada Externa<br />Ao menos um ALI deve ser mantido se os dados, entrando pela fronteira da aplicação, não forem informações de controle (que alteram o comportamento do sistema).<br />1.1<br />Fronteira da Aplicação<br />Inserir Produto<br />1.2<br />Usuário<br />Consultar Produto<br />EE<br />Produtos<br />1.3<br />Saldo de Produto<br />ALI<br />
  118. 118. Análise de Ponto de Função - APF<br />Regras de identificação de EE – Entrada Externa<br />Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita:<br />A lógica de processamento é única e diferente de todas as outras entradas externas na aplicação sendo contada<br />O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras entradas externas na aplicação sendo contada<br />Os ALI mantidos e/ou referenciados e os AIE referenciados são diferentes dos usados por outras entradas externas<br />UNICIDADE<br />
  119. 119. Análise de Ponto de Função - APF<br />Exemplos de EE – Entrada Externa<br />São Entradas Externas:<br />Transações de entrada de dados que mantém um ALI<br />Transações usadas para alterar o comportamento do sistema ou controlar seu fluxo de processamento (informação de controle)<br />Cada processo elementar utilizando uma ou mais telas que mantém um ou mais ALI<br />Cada processo batch único que mantém um ou mais ALI, com dados ou informação de controle que cruzem a fronteira da aplicação<br />Cada atividade de atualização (inserir, alterar ou excluir) poderá ser considerada como uma Entrada Externa, se fizerem parte de um processo elementar<br />Funções de conversão de dados são contabilizadas como entradas externas dentro da contagem de um projeto de desenvolvimento ou manutenção<br />
  120. 120. Análise de Ponto de Função - APF<br />Exemplos de não EE – Entrada Externa<br />Não são Entradas Externas:<br />Processos dentro da fronteira da aplicação para manter um arquivo sem que os dados cruzem a fronteira da aplicação<br />Auxílios à navegação, menus estáticos<br />Parâmetros de entrada que direcionam a recuperação de dados em uma consulta externa<br />Múltiplos métodos para executar uma mesma lógica de uma entrada externa (batch e online)<br />Respostas para uma mensagem que pedem uma confirmação do usuário para exclusão ou qualquer outra transação<br />Dados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicação<br />Dados passados entre a parte “cliente” e a parte “servidor” dentro da mesma aplicação: estes dados não cruzam a fronteira da aplicação<br />
  121. 121. Análise de Ponto de Função - APF<br />Complexidade Funcional para EE – Entrada Externa<br />São utilizados dois fatores:<br />Dado Elementar Referenciado (DER)<br />Arquivo Lógico Referenciado (ALR)<br />
  122. 122. Análise de Ponto de Função - APF<br />Complexidade Funcional para EE – Entrada Externa<br />DER – Dado Elementar Referenciado<br />É um campo único, não repetitivo, reconhecido pelo usuário<br />Regras:<br />Contar um DER para cada campo referenciado, único, não repetitivo, reconhecido pelo usuário que cruze a fronteira da aplicação e seja requerido para realizar a Entrada Externa<br />Não contar campos que são recuperados ou derivados pelo sistema e armazenados em um ALI durante um processo elementar de uma EE, se este campo não cruzar a fronteira da aplicação<br />Deve ser contado um DER pela capacidade do sistema em mandar uma mensagem para fora da fronteira da aplicação a fim de indicar um erro ocorrido durante o processo, confirmar um processamento ou indicar que um processamento deve continuar<br />Deve ser contado um DER pela habilidade da aplicação em especificar uma ação a ser tomada, mesmo se existirem múltiplos métodos de invocar o mesmo processo lógico (ex.: linha de comando, teclas, botões, etc.)<br />
  123. 123. Análise de Ponto de Função - APF<br />Complexidade Funcional para EE – Entrada Externa<br />ALR – Arquivo Lógico Referenciado<br />É um ALI lido ou mantido pela EE, ou um AIE lido pela EE.<br />Regras:<br />Contar um ALR para cada ALI mantido durante o processo elementar<br />Contar um ALR para cada ALI ou AIE lido durante o processo elementar<br />Contar somente um ALR para cada ALI que seja mantido e lido durante o processo elementar da EE<br />
  124. 124. Análise de Ponto de Função - APF<br />Complexidade Funcional para EE – Entrada Externa<br />
  125. 125. Análise de Ponto de Função - APF<br />Contribuição para EE – Entrada Externa<br />
  126. 126. Análise de Ponto de Função - APF<br />Exemplo para EE – Entrada Externa<br />Na aplicação de Recursos Humanos, o usuário solicitou a capacidade de entrar os dados básicos de um funcionário. Foi, então, elaborada a seguinte tela.<br />Empresa XPTO<br />Sistema de Recursos Humanos<br />Inclusão de Novo Funcionário<br />28/02/2010 21:06<br />Incluir<br />002/10<br />Informe o nº da Matrícula: <br />Marcus de Paula Costa<br />Nome: <br />Rua 2 Casa 50, ACP DFL<br />Endereço:<br />Vila Planalto<br />Brasília<br />Bairro:<br />Cidade:<br />DF<br />71900300<br />UF:<br />CEP:<br />Imprimir<br />Sair<br />61 8888-9900<br />Telefone:<br />OBS: Todas as informações apresentadas são incluídas em um único ALI - Funcionário<br />
  127. 127. Análise de Ponto de Função - APF<br />Visão Geral da APF<br />APF<br />Reunir documentação<br />Propósito, Tipo, Escopo e Fronteira<br />Contar Funções Transacionais<br />Contar Funções de Dados<br />ALI<br />AIE<br />EE<br />CE<br />SE<br />Calcular Tamanho Funcional<br />Documentar e Reportar<br />
  128. 128. Análise de Ponto de Função - APF<br />Definição de CE – Consulta Externa<br />É um processo elementar que apresenta dados ou informações de controle para fora da fronteira da aplicação<br />A intenção primária de uma Consulta Externa é apresentar informações ao usuário, por meio da recuperação de dados ou informações de controle<br />A lógica de processamento não pode conter fórmulas matemáticas de cálculo, nem criar dados derivados, nem manter ALI ao ser executada e nem alterar o comportamento do sistema<br />Exemplo:<br />O usuário solicitou a capacidade da aplicação de apresentar informações sobre funcionários, tais como estão armazenadas.<br />Para APF existe 1 Consulta Externa, pois apresenta informação de funcionário aos usuários da aplicação.<br />
  129. 129. Análise de Ponto de Função - APF<br />Regras de identificação de CE – Consulta Externa<br />O processo elementar abaixo somente recupera dados de um ALI e apresenta ao usuário.<br />1.1<br />Fronteira da Aplicação<br />Inserir Produto<br />1.2<br />Usuário<br />Consultar Produto<br />Produtos<br />1.3<br />Saldo de Produto<br />CE<br />ALI -> ALR<br />
  130. 130. Análise de Ponto de Função - APF<br />Processo de Contagem de CE – Consulta Externa<br />Identificar o processo elementar e verificar se ele se enquadra nas regras de Consulta Externa<br />Determinar a complexidade funcional<br />Determinar a contribuição em Pontos de Função<br />
  131. 131. Análise de Ponto de Função - APF<br />Regras de identificação de CE – Consulta Externa<br />Todas as regras abaixo devem ser satisfeitas:<br />O processo elementar recupera dados ou informação de controle de um ALI ou AIE<br />A lógica de processamento não contém cálculos<br />A lógica de processamento não cria dados derivados<br />A lógica de processamento não mantêm nenhum ALI<br />A lógica de processamento não altera o comportamento do sistema<br />
  132. 132. Análise de Ponto de Função - APF<br />Regras de identificação de CE – Consulta Externa<br />Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita:<br />A lógica de processamento é única e diferente de todas as outras consultas externas na aplicação sendo contada<br />O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contada<br />Os ALI ou AIE referenciados são diferentes dos usados por outras consultas externas<br />UNICIDADE<br />
  133. 133. Análise de Ponto de Função - APF<br />Exemplos de CE – Consulta Externa<br />São Consultas Externas:<br />Relatórios ou telas de apresentação de dados sem cálculos ou dados derivados<br />Transferência de dados para outra aplicação, sem cálculos ou dados derivados<br />Combo boxes ou telas auxiliares apresentando informações recuperadas de um ALI ou AIE<br />Dados que são recuperados de um ou mais ALI e/ou AIE e apresentados com base em um critério de entrada<br />Lista que o usuário clica ou aponta em uma tela para recuperação de dados<br />
  134. 134. Análise de Ponto de Função - APF<br />Exemplos de CE – Consulta Externa<br />Outros exemplos que são CE:<br />Consultas Implícitas: telas de alteração ou remoção de dados, que mostram o que será alterado ou removido antes de sua ação efetiva.<br />OBS: Caso a tela de alteração e remoção sejam idênticas, considerar apenas uma Consulta Externa e, no caso destas serem iguais à tela de Consulta propriamente dita, deve-se considerar apenas a função de consulta como uma Consulta Externa.<br />UNICIDADE<br />
  135. 135. Análise de Ponto de Função - APF<br />Exemplos de não CE – Consulta Externa<br />Não são Consultas Externas:<br />Menu de navegação com somente recursos de seleção de telas<br />Telas de mensagem de erro<br />DropDownlistbox que não acessem dados da aplicação (hardcoded)<br />Mensagens que requeiram confirmação do usuário ou indiquem que o processo está sendo executado -> fazem parte do processo elementar sendo contado<br />Dados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicação<br />Dados passados entre a parte “cliente” e a parte “servidor” dentro da mesma aplicação: estes dados não cruzam a fronteira da aplicação<br />
  136. 136. Análise de Ponto de Função - APF<br />Complexidade Funcional para CE – Consulta Externa<br />São utilizados dois fatores:<br />Dado Elementar Referenciado (DER)<br />Arquivo Lógico Referenciado (ALR)<br />
  137. 137. Análise de Ponto de Função - APF<br />Complexidade Funcional para CE – Consulta Externa<br />DER – Dado Elementar Referenciado<br />É um campo único, não repetitivo, reconhecido pelo usuário<br />Regras:<br />Contar um DER para cada campo referenciado, único, não repetitivo, reconhecido pelo usuário que cruze a fronteira da aplicação e requerido para especificar o que ou como os dados serão recuperados pelo processo elementar<br />Contar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicação<br />Se um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da CE<br />Deve ser contado 1 (um) DER pela capacidade do sistema em mandar uma mensagem para fora da fronteira da aplicação a fim de indicar um erro ocorrido durante o processo, confirmar um processamento ou indicar que um processamento deve continuar<br />Deve ser contado um DER pela habilidade da aplicação em especificar uma ação a ser tomada, mesmo se existirem múltiplos métodos de invocar o mesmo processo lógico (ex.: linha de comando, teclas, botões, etc.)<br />Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema<br />
  138. 138. Análise de Ponto de Função - APF<br />Complexidade Funcional para CE – Consulta Externa<br />ALR – Arquivo Lógico Referenciado<br />É um ALI ou AIE lido pela CE.<br />Regras:<br />Contar um ALR para cada ALI lido durante o processo elementar<br />Contar um ALR para cada AIE lido durante o processo elementar<br />
  139. 139. Análise de Ponto de Função - APF<br />Complexidade Funcional para CE – Consulta Externa<br />
  140. 140. Análise de Ponto de Função - APF<br />Contribuição para CE – Consulta Externa<br />
  141. 141. Análise de Ponto de Função - APF<br />Exemplo para CE – Consulta Externa<br />Na aplicação de Recursos Humanos, o usuário solicitou a capacidade de apresentar os dados básicos de um funcionário a partir de uma consulta pelo número da matrícula. Foi, então, elaborada a seguinte tela.<br />Empresa XPTO<br />Sistema de Recursos Humanos<br />Consulta de Funcionário<br />28/02/2010 21:06<br />Pesquisar<br />002/10<br />Informe o nº da Matrícula: <br />Marcus de Paula Costa<br />Nome: <br />Rua 2 Casa 50, ACP DFL<br />Endereço:<br />Vila Planalto<br />Brasília<br />Bairro:<br />Cidade:<br />DF<br />71900300<br />UF:<br />CEP:<br />61 8888-9900<br />Telefone:<br />Imprimir<br />Sair<br />OBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário<br />
  142. 142. Análise de Ponto de Função - APF<br />Visão Geral da APF<br />APF<br />Reunir documentação<br />Propósito, Tipo, Escopo e Fronteira<br />Contar Funções Transacionais<br />Contar Funções de Dados<br />ALI<br />AIE<br />EE<br />CE<br />SE<br />Calcular Tamanho Funcional<br />Documentar e Reportar<br />
  143. 143. Análise de Ponto de Função - APF<br />Definição de SE – Saída Externa<br />É um processo elementar que apresenta dados ou informação de controle para fora da fronteira da aplicação<br />A intenção primária de uma Consulta Externa é apresentar informações ao usuário, por meio de um processamento lógico diferente de, e em adição a, uma recuperação de dados ou informação de controle<br />A lógica de processamento deve conter ao menos uma fórmula ou cálculo matemático ou criar dados derivados<br />Uma Saída Externa pode também manter um ou mais ALIs ou alterar o comportamento do sistema<br />Exemplo:<br />O usuário solicitou um relatório contendo, além das informações básicas de funcionários (nome, endereço, telefone, matrícula, etc.) um cálculo do tempo de casa de cada um deles. O relatório inclusive, deve ser classificado em ordem descendente pelo calor de cálculo de tempo de casa.<br />Para APF existe 1 Saída Externa, pois apresenta cálculo no relatório apresentado.<br />
  144. 144. Análise de Ponto de Função - APF<br />Regras de identificação de SE – Saída Externa<br />O processo elementar abaixo realiza um cálculo para apresentar o saldo de produtos para o usuário.<br />1.1<br />Fronteira da Aplicação<br />Inserir Produto<br />1.2<br />Usuário<br />Consultar Produto<br />Produtos<br />1.3<br />Saldo de Produto<br />ALI -> ALR<br />SE<br />
  145. 145. Análise de Ponto de Função - APF<br />Processo de Contagem de SE – Saída Externa<br />Identificar o processo elementar e verificar se ele se enquadra nas regras de Saída Externa<br />Determinar a complexidade funcional<br />Determinar a contribuição em Pontos de Função<br />
  146. 146. Análise de Ponto de Função - APF<br />Regras de identificação de SE – Saída Externa<br />Pelo menos uma das regras abaixo devem ser satisfeitas para o processo elementar ser contado como uma Saída Externa (SE):<br />A lógica de processamento contém ao menos um cálculo matemático<br />A lógica de processamento cria dados derivados<br />A lógica de processamento mantém ao menos um ALI<br />A lógica de processamento altera o comportamento do sistema<br />
  147. 147. Análise de Ponto de Função - APF<br />Regras de identificação de SE – Saída Externa<br />Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita:<br />A lógica de processamento é única e diferente de todas as outras saídas externas na aplicação sendo contada<br />O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contada<br />Os ALI ou AIE referenciados são diferentes dos usados por outras saídas externas<br />UNICIDADE<br />
  148. 148. Análise de Ponto de Função - APF<br />Exemplos de SE – Saída Externa<br />São Saídas Externas:<br />Relatórios ou telas de apresentação de dados com cálculos ou dados derivados<br />Transferência de dados para outra aplicação, com cálculos ou dados derivados<br />Funcionalidades de consulta que, ao serem executadas, fazem manutenção em ALI<br />Gráfico exibidos (gráfico de barra, pizza, etc.)<br />Etiquetas com código de barras<br />Telas de logon<br />
  149. 149. Análise de Ponto de Função - APF<br />Exemplos de não SE – Saída Externa<br />Não são Saídas Externas:<br />Menu de navegação com somente recursos de seleção de telas<br />Telas de mensagem de erro, cancelamento ou confirmação de processamento<br />Relatórios múltiplus: processos que possuem o mesmo formato de saída e a mesma lógica de processamento, separados apenas por conveniência, são considerados apenas como uma saída<br />Relatórios criados diretamente pelo próprio usuário, utilizando-se de ferramentas de extração de dados flexíveis, ainda que provida pela aplicação, não são considerados como Saídas Externas<br />
  150. 150. Análise de Ponto de Função - APF<br />Complexidade Funcional para SE – Saídas Externa<br />São utilizados dois fatores:<br />Dado Elementar Referenciado (DER)<br />Arquivo Lógico Referenciado (ALR)<br />
  151. 151. Análise de Ponto de Função - APF<br />Complexidade Funcional para SE – Saída Externa<br />DER – Dado Elementar Referenciado<br />É um campo único, não repetitivo, reconhecido pelo usuário<br />Regras:<br />Contar um DER para cada campo único, não repetitivo, reconhecido pelo usuário que cruze a fronteira da aplicação e requerido para especificar o que ou como os dados serão recuperados e/ou gerados pelo processo elementar<br />Não contar campos que são recuperados ou derivados pelo sistema e armazenados em um ALI durante o processo elementar, se este campo não cruzar a fronteira da aplicação<br />Contar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicação<br />Se um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da SE<br />Deve ser contado 1 (um) DER pela capacidade do sistema em mandar uma mensagem para fora da fronteira da aplicação a fim de indicar um erro ocorrido durante o processo, confirmar um processamento ou indicar que um processamento deve continuar<br />Deve ser contado um DER pela habilidade da aplicação em especificar uma ação a ser tomada, mesmo se existirem múltiplos métodos de invocar o mesmo processo lógico (ex.: linha de comando, teclas, botões, etc.)<br />Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema<br />
  152. 152. Análise de Ponto de Função - APF<br />Complexidade Funcional para SE – Saída Externa<br />ALR – Arquivo Lógico Referenciado<br />É um ALI lido ou mantido ou AIE lido pela SE.<br />Regras:<br />Contar um ALR para cada ALI mantido durante o processo elementar<br />Contar um ALR para cada ALI ou AIE lido durante o processo elementar<br />Contar somente um ALR quando um ALI for mantido e lido pelo processo elementar da SE<br />
  153. 153. Análise de Ponto de Função - APF<br />Complexidade Funcional para SE – Saída Externa<br />
  154. 154. Análise de Ponto de Função - APF<br />Contribuição para SE – Saída Externa<br />
  155. 155. Análise de Ponto de Função - APF<br />Exemplo para SE – Saída Externa<br />Na aplicação de Recursos Humanos, o usuário solicitou a capacidade de apresentar os dados básicos de um funcionário a partir de uma consulta pelo número da matrícula. Também apresentar o tempo de casa calculado pelo sistema. Foi, então, elaborada a seguinte tela.<br />Empresa XPTO<br />Sistema de Recursos Humanos<br />Inclusão de Novo Funcionário<br />28/02/2010 21:06<br />Pesquisar<br />002/10<br />Informe o nº da Matrícula: <br />Marcus de Paula Costa<br />Nome: <br />Rua 2 Casa 50, ACP DFL<br />Endereço:<br />Campo Calculado Pelo Sistema<br />Vila Planalto<br />Brasília<br />Bairro:<br />Cidade:<br />DF<br />71900300<br />UF:<br />CEP:<br />61 8888-9900<br />Telefone:<br />Tempo de Casa:<br />2 anos e 60 dias<br />Imprimir<br />Sair<br />OBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário<br />
  156. 156. Análise de Ponto de Função - APF<br />Lógicas de Processamento para EE, CE e SE<br />
  157. 157. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />ALI<br />ALI<br />ALI<br />AIE<br />Para o sistema de Controle de Reservas Cliente, Reserva e Apartamento são ALI. E Funcionário é um AIE.<br />Para o sistema de Pessoal Funcionário é um ALI.<br />
  158. 158. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Regras Gerais<br />Em todos os exemplos, considere que as funcionalidades possuem algum botão, ou link ou coisa parecida que forneça um meio para comandar a ação (CCA – Capacidade de Controlar Ação)<br />Considere também que todas as funcionalidades possuem mensagens que são emitidas para o usuário (CEM – Capacidade de Emitir Mensagem)<br />A próxima tela apresenta a tela de inclusão de reserva no sistema<br />
  159. 159. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Registro de Reserva<br />Número da Reserva: [ _ _ _ _ ]<br />Matrícula do Funcionário: [ _ _ _ _ ]<br />Código do Cliente: [ _ _ _ _ ]<br />Data da Reserva: [ _ _ _ _ ]<br />Período: Início: [ _ _ _ _ ] Fim: [ _ _ _ _ ] Tipo Apto: [ _ _ ]<br />Pessoa: [ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ]<br />Número Apartamento: [ _ _ _ _ ]<br />
  160. 160. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Regras de Validação para que a inclusão ocorra:<br />Se a reserva já existe (o sistema deve verificar se já existe uma reserva com o número digitado)<br />Verificar se o funcionário está cadastrado (é verificado no repositório de funcionário do sistema de Pessoal)<br />Verificar se o cliente está cadastrado (é verificado no repositório de cliente)<br />Validar a data da reserva (é verificado no repositório de reservas se já existe uma reserva para esse período para o número do apartamento informado)<br />Verificar se o apartamento existe (é verificado se o número do apartamento informado existe no repositório de apartamento)<br />
  161. 161. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />ALR Resultado:<br />Arquivo de Reserva (é lido na validação se a reserva já existe e é gravado com os dados da reserva)<br />Contar Somente um ALR, pois se trata de ALI lido e mantido durante o processo elementar.<br />Arquivo de Funcionário (é lido para verificar se o funcionário existe)<br />Contar um ALR, pois se trata de um AIE lido durante a execução do processo elementar<br />Arquivo de Clientes (é lido para ver se o cliente informado já estava cadastrado)<br />Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar<br />Arquivo de Apartamento (é lido para verificar se o apartamento existe)<br />Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar<br />Para execução do Processo Elementar são utilizados 4 ALR<br />
  162. 162. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />DERs Resultado:<br />Número da Reserva<br />Matrícula do Funcionário<br />Código do Cliente<br />Data da Reserva<br />Período Início<br />Período Fim<br />Tipo Apto<br />Pessoa<br />Número do Apartamento<br />São utilizados 4 ALR e 9 DERs na Tela + 1 CCA + 1 CEM = 11 DER<br />
  163. 163. Estudo de Caso – Sistema de Reservas<br />Análise de Ponto de Função - APF<br />Qual a complexidade funcional desta EE de registro de Reservas? (Verifique na tabela de EE)<br />
  164. 164. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />A próxima tela é a alteração da reserva. <br />Os dados foram obtidos a partir de uma consulta pelo código da reserva.<br />Na tela tudo pode ser alterado menos o Código da Reserva e o Código do Cliente<br />Caso seja necessário mudar um cliente de uma reserva é necessário excluir a reserva e criar uma nova para o novo cliente<br />As regras de validação são as mesmas das utilizadas ao inserir uma reserva, porém não executa a validação de cliente.<br />
  165. 165. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Alteração de Reserva<br />Número da Reserva: [ 0023/2010 ]<br />Matrícula do Funcionário: [ 34985 ]<br />Código do Cliente: [ 34778 ]<br />Data da Reserva: [ 01/03/2010 ]<br />Período: Início: [ 05/03/2010 ] Fim: [ 10/03/2010 ] Tipo Apto: [ D ]<br />Pessoa: [ Aderbal Luiz Imóveis – ALI ]<br />Número Apartamento: [ 207 ]<br />
  166. 166. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />ALR Resultado:<br />Arquivo de Reserva (é lido na validação se a reserva já existe e é gravado com os dados da reserva)<br />Contar Somente um ALR, pois se trata de ALI lido e mantido durante o processo elementar.<br />Arquivo de Funcionário (é lido para verificar se o funcionário existe)<br />Contar um ALR, pois se trata de um AIE lido durante a execução do processo elementar<br />Arquivo de Apartamento (é lido para verificar se o apartamento existe)<br />Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar<br />Para execução do Processo Elementar são utilizados 3 ALR<br />
  167. 167. Estudo de Caso – Sistema de Reservas<br />Análise de Ponto de Função - APF<br />DERs Resultado:<br />Número da Reserva<br />Matrícula do Funcionário<br />Código do Cliente<br />Data da Reserva<br />Período Início<br />Período Fim<br />Tipo Apto<br />Pessoa<br />Número do Apartamento<br />Na tela são 9 DERs menos 1 DER do Código do Cliente = 8 + CCA + CEM = 10 DER<br />O código da reserva é contado porque o sistema precisa localizar a reserva a ser alterada<br />
  168. 168. Estudo de Caso – Sistema de Reservas<br />Análise de Ponto de Função - APF<br />Qual a complexidade funcional desta EE de Alterar Reservas? (Verifique na tabela de EE)<br />
  169. 169. Estudo de Caso – Sistema de Reservas<br />Análise de Ponto de Função - APF<br />Exclusão de Reserva<br />Número da Reserva: [ _ _ _ _ _ _ _ _ _ ]<br />Matrícula do Funcionário: [ _ _ _ _ _ ]<br />
  170. 170. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Arquivos Referenciados<br />Arquivo de Reservas<br />Arquivo de Funcionário<br />Regras de Validação<br />Verificar se a reserva existe<br />Verificar se o funcionário está cadastrado, pois somente funcionários cadastrados podem excluir reservas<br />Faça a Contagem!!!<br />
  171. 171. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />O próximo exemplo é o relatório de reservas<br />Desconsiderar os campos de filtro apenas considerar as informações do relatório<br />O sistema apenas recupera as informações do repositório de reservas<br />
  172. 172. Estudo de Caso – Sistema de Reservas<br />Análise de Ponto de Função - APF<br />Relatório de Reservas Data 02/02/2010<br />Período<br />Início Fim<br />Nome /Sobrenome<br />Tipo Apto<br />SS<br />01/02/2010<br />10/03/2010<br />Aderbal Luiz Imóveis - ALI<br />
  173. 173. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Resultado:<br />Apenas 1 ALR, pois todas as informações vem do repositório de reserva<br />DERs:<br />Nome e Sobrenome<br />Tipo Apartamento<br />Período início<br />Período fim<br />CCA<br />CEM<br />É uma Consulta Externa ( não tem cálculo, nem dado derivado, nem mantém ALI ao ser realizada nem tampouco altera o comportamento do sistema ao ser realizada.<br />
  174. 174. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Relatório de Apartamentos Data 02/02/2010<br />Número<br />Tipo Apto<br />SS<br />Aderbal Luiz Imóveis - ALI<br /><ul><li> Arquivo Referenciado
  175. 175. Arquivo de Apartamentos
  176. 176. Regras
  177. 177. Relacionar todos os apartamentos cadastrados</li></li></ul><li>Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Resultado de Apartamento:<br />ALR = 1<br />DERs = 4<br />
  178. 178. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Relatório de Ocupação no Período início: 02/02/2010 até 10/03/2010<br />Semana<br />05 a 11<br />12 a 18<br />19 a 25<br />Ocupação<br />Apto SS<br />12<br />10<br />19<br />65%<br />Apto CS<br />20<br />4<br />10<br />45%<br />Apto SL<br />3<br />200<br />4<br />37%<br />Apto CL<br />23<br />45<br />9<br />10%<br />Apto VIP<br />234<br />4<br />78<br />80%<br />Vazio<br />5<br />50<br />10<br />40%<br />Arquivos Referenciados:<br /> - Reservas<br />Regras:<br /> - A ocupação é calculada pela média aritmética das ocupações divididas pelo<br /> total de apartamentos disponíveis<br /> - Período é informado como parâmetro<br />
  179. 179. Análise de Ponto de Função - APF<br />Estudo de Caso – Sistema de Reservas<br />Resultado:<br />ALR<br />Só o ALI de Reserva. Tudo está dentro dele, inclusive o tipo de apartamento que é usado nas contagens de totais de apartamentos para as contas necessárias.<br />DERs (Lembrando que DERs são informações reconhecidas pelo usuário):<br />Data de Início<br />Data de Fim<br />Identificação da Semana<br />Identificação do Tipo de Apartamento<br />Coluna de totais por tipo de apartamento (6 DERs, um para cada coluna)<br />Percentuais de ocupação por tipo de apartamento (6 DERs para cada total por tipo de apartamento)<br />CCA<br />CEM<br />É uma Saída Externa, pois realizo cálculos.<br />Resultado: 1 ALR / 18 DERs<br />
  180. 180. Análise de Ponto de Função - APF<br />Visão Geral da APF<br />APF<br />Reunir documentação<br />Propósito, Tipo, Escopo e Fronteira<br />Contar Funções Transacionais<br />Contar Funções de Dados<br />ALI<br />AIE<br />EE<br />CE<br />SE<br />Calcular Tamanho Funcional<br />Documentar e Reportar<br />
  181. 181. Análise de Ponto de Função - APF<br />Relacionamento entre os tipos de contagem<br />Formula para Projeto de Desenvolvimento<br />Contagem Estimada<br />Projeto de Desenvolvimento<br />Projeto A<br />Contagem Final<br />Projeto de Desenvolvimento<br />Projeto A<br />Projeto Completo<br />Inicializa<br />Contagem da Aplicação/Baseline<br />Contagem Estimada<br />Projeto de Melhoria<br />Projeto B<br />Contagem Final<br />Projeto de Melhoria<br />Projeto B<br />Atualiza<br />Projeto Completo<br />
  182. 182. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Projeto de Desenvolvimento<br />DFP = ADD + CFP<br />ONDE:<br />DFP – Pontos de Função do projeto de desenvolvimento<br />ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto<br />CFP – Tamanho funcional das funcionalidades de conversão de dados<br />
  183. 183. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Exemplo: Projeto de Desenvolvimento<br />Funcionalidades identificadas no projeto:<br /> 2 ALI – Baixa = 14PF<br /> 1 AIE – Baixa = 5PF<br /> 10 EE – Média = 40PF<br /> 6 CE – Alta = 36PF<br /> 4 SE – Média = 20PF<br /> 5 EE – Baixa = 15PF (Conversão de Dados)<br />DFP = ADD + CFP<br />DFP = (14+5+40+36+20) + 15 => 130PF<br />
  184. 184. Análise de Ponto de Função - APF<br />Relacionamento entre os tipos de contagem<br />Formula para Iniciar a Contagem da Aplicação<br />Contagem Estimada<br />Projeto de Desenvolvimento<br />Projeto A<br />Contagem Final<br />Projeto de Desenvolvimento<br />Projeto A<br />Projeto Completo<br />Inicializa<br />Contagem da Aplicação/Baseline<br />Contagem Estimada<br />Projeto de Melhoria<br />Projeto B<br />Contagem Final<br />Projeto de Melhoria<br />Projeto B<br />Atualiza<br />Projeto Completo<br />
  185. 185. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Iniciar a contagem da aplicação após um projeto de desenvolvimento<br />AFP = ADD<br />ONDE:<br />AFP – Pontos de Função da aplicação<br />ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto<br />Não utiliza o tamanho funcional das funções para Conversão de Dados identificadas no Projeto de Desenvolvimento!!!<br />
  186. 186. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Exemplo: Iniciar a contagem da aplicação após um projeto de desenvolvimento<br />Funcionalidades identificadas no projeto de desenvolvimento:<br /> 2 ALI – Baixa = 14PF<br /> 1 AIE – Baixa = 5PF<br /> 10 EE – Média = 40PF<br /> 6 CE – Alta = 36PF<br /> 4 SE – Média = 20PF<br /> 5 EE – Baixa = 15PF (Conversão de Dados não são levadas em consideração)<br />AFP = ADD<br />AFP = (14+5+40+36+20) => 115PF<br />
  187. 187. Análise de Ponto de Função - APF<br />Relacionamento entre os tipos de contagem<br />Contagem Estimada<br />Projeto de Desenvolvimento<br />Projeto A<br />Contagem Final<br />Projeto de Desenvolvimento<br />Projeto A<br />Projeto Completo<br />Inicializa<br />Contagem da Aplicação/Baseline<br />Contagem Estimada<br />Projeto de Melhoria<br />Projeto B<br />Contagem Final<br />Projeto de Melhoria<br />Projeto B<br />Atualiza<br />Projeto Completo<br />Formula para Projeto de Melhoria<br />
  188. 188. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Projeto de Melhoria<br />EFP = ADD + CHGA + DEL + CFP<br />ONDE:<br />EFP – Pontos de Função do projeto de melhoria<br />ADD – Tamanho funcional das funcionalidades adicionadas à aplicação<br />CHGA – Tamanho funcional das funcionalidades alteradas após o projeto de melhoria<br />DEL – Tamanho funcional das funcionalidades removidas da aplicação<br />CFP – Tamanho funcional das funcionalidades de conversão de dados<br />
  189. 189. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Exemplo: Projeto de Melhoria<br />Funcionalidades identificadas no projeto:<br /> 1 AIE – Baixa = 5PF (Alterado Depois)<br /> 3 EE – Média = 12PF (Adicionados)<br /> 1 CE – Alta = 3PF (Excluído)<br /> 1 EE – Baixa = 3PF (Conversão de Dados)<br />EFP = ADD + CHGA + DEL + CFP<br />EFP = (12) + (5) + (3) + (3) => 23PF<br />
  190. 190. Análise de Ponto de Função - APF<br />Relacionamento entre os tipos de contagem<br />Contagem Estimada<br />Projeto de Desenvolvimento<br />Projeto A<br />Contagem Final<br />Projeto de Desenvolvimento<br />Projeto A<br />Projeto Completo<br />Inicializa<br />Contagem da Aplicação/Baseline<br />Contagem Estimada<br />Projeto de Melhoria<br />Projeto B<br />Contagem Final<br />Projeto de Melhoria<br />Projeto B<br />Atualiza<br />Projeto Completo<br />Formula para Atualizar contagem da Aplicação após Projeto de Melhoria<br />
  191. 191. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Atualizar a contagem da aplicação após um projeto de melhoria<br />AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)<br />ONDE:<br />AFP – Pontos de Função da aplicação depois do projeto de melhoria<br />ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto<br />CHGA – Tamanho funcional das funcionalidades alteradas depois do projeto de melhoria<br />CHGB – Tamanho funcional das funcionalidades alteradas antes do projeto de melhoria<br />DEL – Tamanho funcional das funcionalidades excluídas no projeto de melhoria<br />
  192. 192. Análise de Ponto de Função - APF<br />Calcular o Tamanho Funcional<br />Exemplo: Atualizar a contagem da aplicação após um projeto de melhoria<br />Tamanho funcional da aplicação antes do projeto de melhoria:<br /> 115PF<br />Funcionalidades identificadas no projeto:<br /> 1 AIE – Média = 7PF (Alterado Antes)<br /> 1 AIE – Baixa = 5PF (Alterado Depois)<br /> 3 EE – Média = 12PF (Adicionados)<br /> 1 CE – Alta = 3PF (Excluído)<br /> 1 EE – Baixa = 3PF (Conversão de Dados)<br />AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)<br />AFPA = (115 + 12 + 5) – (7 + 3) => 132 – 10 => 122PF<br />
  193. 193. Análise de Ponto de Função - APF<br />Visão Geral da APF<br />APF<br />Reunir documentação<br />Propósito, Tipo, Escopo e Fronteira<br />Contar Funções Transacionais<br />Contar Funções de Dados<br />ALI<br />AIE<br />EE<br />CE<br />SE<br />Calcular Tamanho Funcional<br />Documentar e Reportar<br />
  194. 194. Análise de Ponto de Função - APF<br />Reportar o Resultado da Contagem<br />Deve ser apresentado um relatório de contagem<br />O tamanho funcional deve ser apresentado da seguinte maneira<br />S PF (IFPUG-IS)<br />Onde:<br /> S – O resultado da contagem<br /> PF – É a unidade de tamanho conforme o método IFPUG FSM<br /> IS – É o padrão internacional (ISO/IEC 20926:200x)<br />Exemplo:<br /> 250 PF (IFPUG-ISO/IEC 20926:2009)<br />
  195. 195. Análise de Ponto de Função - APF<br />Reportar o Resultado da Contagem<br />O tamanho funcional que utilizar um guia local customizado com base na método do IFPUG deve ser apresentado da seguinte forma:<br />S PF (IFPUG-IS-c)<br />Onde:<br /> S – O resultado da contagem<br /> PF – É a unidade de tamanho conforme o método IFPUG FSM<br /> IS – É o padrão internacional (ISO/IEC 20926:200x)<br /> c – Caractere que informa que o resultado não é totalmente aderente à técnica.<br />Exemplo:<br /> 250 PF (IFPUG-ISO/IEC 20926:2009-a)<br />
  196. 196. Análise de Ponto de Função - APF<br />FIM<br />Muito Obrigado<br />
  197. 197. Análise de Ponto de Função - APF<br />Referências<br />IFPUG CountingPratices Manual – Version 4.3 – Janeiro de 2010<br />IFPUG Framework for Functional Sizing - Version 1.0<br />BFPUG – http://www.bfpug.com.br<br />Análise de pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software – Carlos Vazquez, GuilhermeSimões e Renato Albert<br />

×