SlideShare a Scribd company logo
1 of 194
Métrica de SoftwareAnálise de Pontos de Função
Plano de Ensino Objetivo 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.
Público 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 Analistas de negócios Gerentes de projetos Gestores de TI Interessados na certificação CFPS – CertifiedFunctionPointSpecialist (segundo semestre de 2010) Gestores e usuários.  Plano de Ensino
Planejamento Plano de Ensino Aula 1 Apresentação Métrica de software Aula 2 Introdução da técnica, propósito, tipo e escopo da contagem Exemplos e exercícios Aula 3 Medir funções de dados Exemplos e exercícios Aula 4 Medir funções de transações Exemplos e exercícios Aula 5 Calcular o tamanho funcional Exemplos e exercícios
Metodologia Plano de Ensino Aulas expositivas e discussão na aplicação da técnica Apresentação Exemplos, exercícios e dinâmicas de grupo baseadas em situações reais que promovam a interação entre alunos e instrutor.
Apresentação Plano de Ensino Aluno Atuação Expectativa Contatos
Instrutor Plano de Ensino Marcus de Paula Costa CFPS Experiência de 2 anos em APF Experiência de 6 anos em desenvolvimento de software Coordenador de Medição e Análise Contato: marcus.itacanet@gmail.com Site: http://www.marcuscosta.com.br Telefone: +55 61 8401-2483
Por que medir software?
Por que medir software? Enquete Quantos já participaram de projetos de software que extrapolou o prazo ou custo? Quantos já participaram de projetos de software que foi entregue no prazo? Quantos já participaram de projetos de software que foi entregue no prazo e dentro do orçamento previsto?
Por que medir software? Contexto Desenvolvimento de Software Qualidade, prazo e custo Maturidade Métricas
Contexto Por que medir software? 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.  Atualmente, as Organizações têm se perguntado: Por que utilizar Métrica de Software?
Legislação Por que medir software? A legislação vigente estipula regras claras e precisas de gerenciamento dos contratos firmados ao término de cada processo licitatório. Lei 8.666  IN 04
Legislação Por que medir software? 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. Praticamente extingue a aferição de esforço por meio da métrica Homem/Hora
Fiscalização e Controle Por que medir software? 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. Existe o entendimento pelos especialistas em tecnologia do governo que a APF é um primeiro passo para medição de software.
Fiscalização e Controle Por que medir software? “- Assuntos: INFORMÁTICA e TECNOLOGIA DA INFORMAÇÃO.  DOU de 28.09.2007, S. 1, p. 137.  Ementa: o TCU manifestou-se no sentido de que os serviços de informática diferem substancialmente dos demais serviços,  ... ... 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 ... (item 9.4.1.1, TC-006.030/2007-4, Acórdão nº 1.999/2007-TCU-Plenário).”
Fiscalização e Controle Por que medir software? “- Assunto: TECNOLOGIA DA INFORMAÇÃO. DOU de 28.09.2007, S. 1, p. 145.  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), ... ... (item 9.2.2.2, TC-019.998/2007-7, Acórdão nº 2.024/2007-TCUPlenário).”
Contratos do Governo Por que medir software? 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. MPS ANAC Banco do Brasil Caixa Econômica IBAMA BACEN
Contratos da Iniciativa Privada Por que medir software? A indústria e comércio de forma geral também acompanham essa tendência, não só Governos. Poliedro Politec CTIS DBA EDS IBM
Comparação Por que medir software? 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.
Por que medir software? Motivação “Não se consegue controlar aquilo que não se consegue medir.” (Tom De Marco) “Não se consegue medir aquilo que não se consegue perceber objetivamente.” (Desconhecido) 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.
Por que medir software? Os quatro papéis da Medição Entender Controlar Processos, Produtos e Serviços de Software Avaliar Prever
Por que medir software? Motivos Entender e aperfeiçoar o processo de desenvolvimento Melhorar a gerência de projetos e o relacionamento com clientes Reduzir frustrações e pressões de cronograma Gerenciar contratos de software Indicar a qualidade de um produto de software Avaliar a produtividade do processo Avaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de software Avaliar retorno de investimento
Por que medir software? Motivos Identificar as melhores práticas de desenvolvimento de software Embasar solicitações de novas ferramentas e treinamento Avaliar o impacto da variação de um ou mais atributos do produto ou do processo na qualidade e/ou produtividade Formar uma baseline para estimativas Melhorar a exatidão das estimativas Oferecer dados qualitativos e quantitativos ao gerenciamento de desenvolvimento de software, de forma a realizar melhorias em todo o processo de desenvolvimento de software
Por que medir software? Definição de Métricas O que se busca na medição de software? Medir a quantificação de uma característica de produto e as características do processos envolvidos. GQM (GoalQuestionMetric): Traçar os objetivos da medição de acordo com a estratégia da empresa Estabelecer perguntas que atendam aos objetivos identificados Verificar qual a métrica a ser utilizada para responder as questões
Por que medir software? Framework de Medição Definir e Implantar Processo de Medição Utilizar Ferramentas de Qualidade Dados Históricos de Projetos Promover a Melhoria Contínua Definir Indicadores
Plano de Medição e Análise Por que medir software? Plano de levantamento e análise de indicadores em uma organização, de acordo com as necessidades estratégicas da empresa Exemplo de indicadores: Produtividade Densidade dos defeitos Mudanças no Esforço Variação nos cronogramas Variação dos custos Custo da qualidade
Exemplos de Indicadores Indicador de produtividade Indicador de custo Indicador de esforço Por que medir software? Produtividade = Produto de Trabalho/Esforço de Trabalho CUSTO = $/PF ESFORÇO = PF/Pessoa-Mês
Modelos de Estimativas Baseado em Analogias Opiniões de especialistas e Bases Históricas Baseado em Atividades Hierarquia de atividades – Ex. EAP (Estrutura Analítica do Projeto) Relação simples de estimativas Esforço = Produtividade x Tamanho Modelos Paramétricos COCOMO Por que medir software?
Do tamanho para o esforço Por que medir software? Tamanho dos Requisitos Eficácia da Tecnologia Tamanho Funcional Tamanho do Produto Ferramentas Tamanho Técnico Padrões Custo do Projeto 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. Não existem uma correlação direta entre o Tamanho Funcional e o Esforço!!! Esforço Valor da Hora Outros Custos
Ingredientes para uma boa estimativa O escopo da atividade O ambiente Experiência da equipe Ferramentas Aprender com experiências passadas  Por que medir software?
Experiência da Equipe Habilidade para entender claramente o escopo Experiência na Plataforma de desenvolvimento Gerente experiente Qualidade dos Processos  Competência da Equipe de Testes Por que medir software?
Estimativas Eficientes Cada projeto novo de Software é uma experiência única para a equipe. Métricas , Passado, Presente e Futuro “Quem não lembra do passado está condenado a repeti-lo”. (Santayana) Por que medir software?
Estimativas Erradas Ignorar o passado – Dados Históricos Otimismo para agradar  Incerteza nos requisitos Pressão Gerencial Equipe de estimativas não qualificada Orçamento irreal Por que medir software?
Análise de Pontos de Função
Histórico 1979 Allan Albrecht (IBM) cria as primeiras regras da APF 1983 Primeiro curso de APF no Brasil (Unisys) 1984 Primeiro manual de APF 1986 Criação da primeira diretoria do IFPUG 1996 Primeiro exame CFPS no Brasil 1998 Criação do BFPUG 2004 CFPS no Brasil = 200 2007 CPM (Manual de Práticas de Contagem) versão 4.2.1 em português 2010 CPM versão 4.3 Análise de Ponto de Função - APF
Aplicação Suporte a análise de QUALIDADE e PRODUTIVIDADE Estimar CUSTOS e RECURSOS necessários para o desenvolvimento e manutenção de software Fator de NORMALIZAÇÃO para a comparação de software Determinar o TAMANHO DE UM PACOTE de software adquirido pela empresa Ajudar a DEFINIR O BENEFÍCIO de um pacote de software para um determinado grupo de usuários Análise de Ponto de Função - APF
Objetivos Análise de Ponto de Função - APF Medir a funcionalidade que o usuário solicita e recebe. Medir o desenvolvimento e a manutenção de software, independentemente da tecnologia utilizada para a implementação. Técnica Suficientemente simples para minimizar a sobrecarga no processo de medição. Uma medida consistente entre os vários projetos e organizações. Processo
Referências Normativas ISO/IEC 14143-1:1998 – Medição de Tamanho Funcional de Software O IFPUG-CPM foi referenciado pela ISO/IEC 14143 desde a versão 4.1, com a exclusão das CGS. 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. Análise de Ponto de Função - APF
Procedimentos de Contagem Análise de Ponto de Função - APF Contar funções de dados Determinar  o escopo,  as fronteiras  e identificar as necessidades funcionais  do usuário Calcular o tamanho funcional Documentar e Reportar Reunir a documentação disponível Contar funções de transação
Reunir a documentação disponível Deve oferecer suporte a contagem Deve descrever as funcionalidades impactadas pelo projeto Ter acesso a especialistas aos quais poderão corrigir eventuais falhas na documentação 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. Análise de Ponto de Função - APF
Determinar o propósito da contagem Uma contagem deve prover uma resposta a um problema do negócio Estimar o esforço para desenvolver novo sistema ou evoluir um já existente? Contar a base instalada de aplicativos? Comparar funcionalidades entre pacotes de aplicativos? Determina o Escopo e o Tipo de contagem Influencia o posicionamento da(s) fronteira(s) da(s) aplicação(ões) 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. Análise de Ponto de Função - APF
Determinar o tipo de contagem Desenvolvimento Melhoria Aplicação/Baseline Análise de Ponto de Função - APF
Análise de Ponto de Função - APF Determinar o tipo de contagem - Desenvolvimento Quantifica as funcionalidades providas ao usuário da aplicação com a primeira instalação de um software entregue quando o projeto é terminado. Funcionalidades Criadas ou Customizadas Conversão de dados Tamanho do Projeto de Desenvolvimento
Análise de Ponto de Função - APF Determinar o tipo de contagem - Melhoria 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. Funcionalidades Adicionadas Conversão de dados Funcionalidades Alteradas Funcionalidades Excluídas Tamanho do Projeto de Melhoria
Análise de Ponto de Função - APF Determinar o tipo de contagem – Aplicação/Baseline Dimensiona o tamanho real de uma aplicação instalada, representando as funcionalidades oferecidas ao usuário. Funcionalidades Disponíveis Tamanho da Aplicação
Tipos de Manutenção Análise de Ponto de Função - APF Corretiva Defeitos ou não conformidades. Adaptativa Resposta às modificações dos requisitos em um momento em que partes do produto já foram instaladas. Mudança na funcionalidade. Perfectiva /Manutenção Preventiva Mudanças  no ambiente sem alteração na funcionalidade.
Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo
Determinar o escopo da contagem Análise de Ponto de Função - APF O escopo da contagem define as funções que serão incluídas em uma contagem em particular. Define: O escopo define um conjunto (ou subconjunto) de software sendo medido Identifica quais funcionalidades serão incluídas na contagem Pode incluir mais de uma aplicação ou parte de uma aplicação
Escopo X Tipo de Contagem Análise de Ponto de Função - APF Desenvolvimento: inclui todas as funções construídas ou customizadas no projeto. Melhoria: inclui todas as funções adicionadas, alteradas e excluídas. A fronteira da aplicação permanece a mesma. Aplicação: pode incluir Todas as funções usadas pelo usuário Todas as funções entregues
Definições Análise de Ponto de Função - APF Usuário: pessoa ou coisa que se comunique ou interaja com o sistema a qualquer momento. 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. Exemplo: É uma descrição das funções do negócio É aprovada pelo usuário Pode ser usada para contar pontos de função 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)
Visão do Usuário x Requisitos Análise de Ponto de Função - APF Possíveis Requisitos: ,[object Object]
 Se os documentos apresentados não estiverem conforme o checklist, o sistema não pode apresentar a tela de cadastro de pessoa.
 O sistema deve manter informações de pessoa.,[object Object]
Requisitos do Usuário Análise de Ponto de Função - APF APF Funcionalidades Software Necessidades do usuário Tecnologia Qualidade
Determinar a fronteira da aplicação Análise de Ponto de Função - APF A fronteira é uma interface conceitual entre a aplicação em estudo e seus usuários. A fronteira: Define o que é externo a aplicação Indica a fronteira entre o software sendo contado e o usuário Funciona como uma membrana pela qual os dados processados pelas transações (EE, SE e CE) passam para dentro e fora da aplicação Inclui os Arquivos Lógicos Internos (ALI) mantidos pela aplicação Auxilia na identificação dos Arquivos Referenciados (AIE), mas não mantidos pela aplicação Depende da visão de negócio do usuário da aplicação. É independente da tecnologia de implementação
Exemplo de Posicionamento de Fronteira Análise de Ponto de Função - APF Exemplo A: Sistema de Folha de Pagamento Sistema de Recursos Humanos Exemplo B: Sistema de Gestão de Recursos Humanos Módulo de Recrutamento e Seleção Módulo de Plano de Saúde Módulo de Folha de Pagamento
Regras para determinar a fronteira Análise de Ponto de Função - APF É determinada pela visão do usuário. Deve obedecer o que o usuário pode reconhecer e descrever 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 Uma fronteira já estabelecida numa aplicação sendo alterada não é influenciada pelo escopo da contagem Caso o escopo da contagem envolva mais de uma aplicação, as fronteiras entre as aplicações devem ser determinadas
Análise de Ponto de Função - APF Estudo de Caso – Posicionamento de Fronteira 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. 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. 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. Segundo está configuração de processos qual seria a configuração de fronteiras para as aplicações citadas?
Análise de Ponto de Função - APF Estudo de Caso – Posicionamento de Fronteira Usuário Setor de Faturamento Pedidos Clientes Faturamento referencia dados de pedidos cadastrados Faturamento referencia dados de clientes cadastrados Usuário Setor de Cadastro de Clientes Faturamento Usuário Setor de Cadastro de Pedidos
Análise de Ponto de Função - APF Dicas para definição de Fronteira 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 Observe como os grupos de dados são mantidos Identificar por áreas funcionais, atribuindo os responsáveis por cara objeto de negócio (como entidades ou processos elementares) de uma área funcional Analise contagens anteriores, as fronteiras provavelmente serão as mesmas Entreviste os especialistas de cada área
Análise de Ponto de Função - APF Prática de Conceitos A empresa “XPTO” possui um sistema informatizado que administra os seus gastos externos (Contas a Pagar).  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.   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.
Propósito da Contagem: Identificar o tamanho de um sistema já  existente, implementado e em produção. Tipo: Aplicação / Baseline Escopo: As funções que compõem o sistema de contas a pagar. Análise de Ponto de Função - APF Prática de Conceitos
Análise de Ponto de Função - APF Prática de Conceitos 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. Para saber a viabilidade econômica, resolveu-se medir o tamanho funcional das funções atuais e estimar seu custo, caso fossem redesenhadas.
Propósito da Contagem: Identificar o tamanho funcional de um módulo de software para compará-lo a outro software funcionalmente equivalente. Tipo: Aplicação / Baseline Escopo: As funções que serão substituídas pelo pacote de software. Análise de Ponto de Função - APF Prática de Conceitos
Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
Análise de Ponto de Função - APF Funções de Dados Representam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externos São definidas como Arquivos de Interface Interna (ALI) e Arquivos de Interface Externa (AIE)
Análise de Ponto de Função - APF Funções de Dados Entrada Processamento Saída Arquivos Funções de Dados
Análise de Ponto de Função - APF Definição de Arquivo para APF Não significa arquivo no sentido tradicional de processamento de dados Refere-se a um grupo de dados logicamente relacionados Não leva em consideração a implementação física desses grupos de dados
Análise de Ponto de Função - APF Definição de ALI Grupo de dados ou informação de controle Logicamente relacionados Reconhecido pelo usuário Mantido dentro da fronteira da aplicação A intenção primária é armazenar dados mantidos através de um ou mais processos elementares da aplicação que está sendo contada.
Análise de Ponto de Função - APF Definição de AIE Grupo de dados ou informação de controle Logicamente relacionados Reconhecido pelo usuário Referenciado pela aplicação Mantido dentro da fronteira de outra aplicação A intenção primária é armazenar dados referenciados através de um ou mais processos elementares da aplicação que está sendo contada. Um AIE contado para uma aplicação tem que ser um ALI em outra aplicação.
Análise de Ponto de Função - APF Diferença entre ALI e AIE Um AIE não émantido pela aplicação que está sendo contada, enquanto que um ALI o é.
Exemplo – Sistema de Reservas Análise de Ponto de Função - APF ALI ALI ALI AIE Para o sistema de Controle de Reservas Cliente, Reserva e Apartamento são ALI. E Funcionário é um AIE. Para o sistema de Pessoal Funcionário é um ALI.
Análise de Ponto de Função - APF Definições de Termos Utilizados Processo Elementar Informações de controle Reconhecido pelo usuário Mantido
Análise de Ponto de Função - APF Processo Elementar É a menor unidade de atividade significante para o usuário na aplicação. Tem que ser: Reconhecido pelo usuário Auto contido (auto suficiente ou independente) Ser uma operação completa Deixar o negócio da aplicação sendo contada em um estado consistente após ser concluído.
Análise de Ponto de Função - APF Processo Elementar 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.
Análise de Ponto de Função - APF Informações de Controle São dados utilizados pela aplicação para garantir a conformidade com os requisitos do negócio especificados pelo cliente Influenciam um processo elementar da aplicação que está sendo contada Especificam o que, quando ou como os dados serão processados Exemplo: Seleção de perfil Seleção de idioma Parâmetros de configuração – (Quando especificados pelo usuário)
Análise de Ponto de Função - APF Reconhecido pelo Usuário É o entendimento comum entre usuário e técnicos sobre os requisitos dos processos de negócio É o consenso entre USUÁRIO e TÉCNICO É o resultado final da disciplina de requisitos
Análise de Ponto de Função - APF Mantido É a habilidade de modificar dados através de um processo elementar Exemplo: Inserir Alterar Excluir Revisar Associar Criar ...
Análise de Ponto de Função - APF Processo de contagem de Funções de Dados Identificar as Funções de Dados Classificar cada Função de Dados em ALI ou AIE Determinar a complexidade e contribuição de cada Função de Dados
Análise de Ponto de Função - APF Regras de identificação de Funções de Dados Identificar todos os dados logicamente relacionados e reconhecidos pelo usuário que estejam no escopo da contagem Entidades independentes são consideradas grupos de dados lógicos separados Agrupar entidades dependes em um único grupo de dados Excluir todas as entidades consideradas Code Data (Dado de Código) Excluir toda entidade que não contém atributos solicitados pelo usuário 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
Análise de Ponto de Função - APF Regras de classificação de Funções de Dados Classifique como ALI se os dados do arquivo lógico forem mantidos dentro da fronteira da aplicação sendo contada Classifique como AIE se os dados do arquivo lógico: Forem referenciados, mas não mantidos, pela aplicação sendo contada Forem mantidos dentro da fronteira de outra aplicação Se a Função de Dados atender ambas as regras, classifique como ALI
Análise de Ponto de Função - APF Regras de complexidade e contribuição de Funções de Dados A complexidade funcional de cada função de dados é determinada pela contagem dos: Tipos de Dados Elementares (DER) Tipos de Registros Elementares (RLR)
Análise de Ponto de Função - APF Definição de DER É um campo único, reconhecido pelo usuário e não repetido. Se compararmos com a modelagem de dados seriam os atributos. Se o usuário não enxergar o campo existem grandes chances deste campo ter sido gerado por razões técnicas.
Análise de Ponto de Função - APF Regras de DER 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. 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.  Conte um DER para cada parte de dado requisitada pelo usuário para estabelecer um relacionamento com outro ALI ou AIE. 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.
Análise de Ponto de Função - APF Definição de RLR É um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou AIE Existem dois tipo de subgrupos de dados: 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 Obrigatórios: são aqueles que o usuário deve sempre informar ao processo elementar que cria ou adiciona dados ao arquivo
Análise de Ponto de Função - APF Regras de RLR Contar um RLR para cada Função de Dados identificada Contar um RLR adicional para cada um dos subgrupos de dados que contenham mais de um DER: Entidade associativa com atributos não-chave Sub-tipo (exceto o primeiro sub-tipo) Entidade atributiva, em uma relação que não seja obrigatório 1-1
Análise de Ponto de Função - APF Complexidade Funcional para ALI e AIE
Análise de Ponto de Função - APF Contribuição para ALI e AIE
Análise de Ponto de Função - APF Exemplo de contagem de RLR 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.  No cadastramento de um empregado podem ser incluídas informações a respeito de seus dependentes.
Análise de Ponto de Função - APF Resultado do Exemplo No ALI empregado existem 3 RLR que são:  As informações sobre o empregado - Obrigatório;  Dados sobre pagamento - Obrigatório;  Os dados relativos aos seus dependentes - Opcional. 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.
Análise de Ponto de Função - APF Dicas para contagem de Funções de Dados  Uma aplicação pode utilizar um ALI ou AIE diversas vezes, porém o ALI ou AIE é contado uma única vez.  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.  Arquivos com mais de um tipo de registro indicam vários RLRs (Ex.: arquivos de transações).  Tabelas dependentes geralmente são um RLR da tabela pai e não são contadas como funções de dados separadas.  Verifique se o arquivo é mantido dentro da aplicação. Se for, sempre será um ALI.  Arquivos de interface gerados em um aplicação não são contados como função de dados na aplicação que o gerou.  Arquivos de help, mantidos fora da aplicação, são contados como AIE.
Análise de Ponto de Função - APF Dicas para contagem de Funções de Dados Uma forte identificação de ser um RLR: 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. LEMBRAR DO CONCEITO DE ENTIDADE DEPENDENTE. Ex: Ordem de Serviço e Itens da Ordem de Serviço.
Análise de Ponto de Função - APF Exercício – Funções de Dados 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. 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.  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. Segundo o usuário, é obrigatório que todos os cargos tenham suas respectivas descrições de atribuições para serem cadastrados.
Análise de Ponto de Função - APF Exercício – Funções de Dados – MER
Análise de Ponto de Função - APF Exercício – Funções de Dados – Arquivo de Funcionários ALI – 2RLR – 15DER – Baixa – 7 PF
Análise de Ponto de Função - APF Exercício – Funções de Dados – Arquivo de Cargo ALI – 1RLR – 3DER – Baixa – 7 PF
Análise de Ponto de Função - APF Exercício – Funções de Dados – Arquivo de Unidade AIE – 2RLR – 4DER – Baixa – 7 PF
Análise de Ponto de Função - APF Exercício – Funções de Dados – Análise Final ALI – 2RLR – 15DER – Baixa – 7 PF ALI – 1RLR – 3DER – Baixa – 7 PF AIE – 2RLR – 4DER – Baixa – 7 PF
Análise de Ponto de Função - APF Conceitos de Modelagem de Dados Entidade É um grupo de dados sobre o qual a informação é coletada (pessoa, lugares, coisas, eventos, etc.) Podem ser instanciadas É algo fundamental e relevante para o usuário manter um conjunto de informações Uma associação entre entidades pode conter seus próprios atributos Envolve informações ou representações de coisas similares, que compartilham características ou propriedades Entidade -> Arquivo lógico
Análise de Ponto de Função - APF Conceitos de Modelagem de Dados Elemento de Dados (ou Data Item) Um componente fundamental da entidade Uma partícula atômica de informação no universo de negócios tratado pelo sistema (aplicação) A menor partícula de informação com sentido para o mundo real de negócios do usuário Linha, registro Grupo de dados relacionados, tratados como uma unidade Elemento de Dados -> DER Grupo de Dados -> RLR
Análise de Ponto de Função - APF Tipos de Entidades – Negócio (bussiness data) 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. Exemplos: Funcionário Cargos Dependentes Fatura Itens de Fatura Contrato Aditivos de Contrato Clientes
Análise de Ponto de Função - APF Características É obrigatório para a operação da área funcional do usuário É identificável e mantido pelo usuário de negócio Armazena o Dado Principal do usuário para apoiar as transações do negócio É 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 Como característica física possui campos de chave e geralmente muitos atributos, e pode conter de zero a infinitos registros Tipos de Entidades – Negócio (bussiness data)
Análise de Ponto de Função - APF Tipos de Entidades – Referência (reference data) 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). Exemplos: FuncionárioCargos Funcionário Cargos Dependentes FaturaImpostos Fatura Itens de Fatura ContratoSaldo Devedor	TxJuros Aditivos de Contrato Clientes
Análise de Ponto de Função - APF Tipos de Entidades – Referência (reference data) Características É obrigatória para a área funcional do usuário É identificável pelo usuário Geralmente é mantida pelo usuário (geralmente usuário administrativo) Geralmente construída quando a aplicação é inicialmente implantada e é mantida intermitentemente Armazena os dados para apoiar as atividades principais do usuário É 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 Transações que processam dados de negócio frequentemente necessitam acessar os dado de referência 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
Análise de Ponto de Função - APF Tipos de Entidades – Código Descrição (code data) 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. Exemplos: FuncionárioCargos Funcionário CargosTipoPag Dependentes FaturaImpostos Fatura Itens de Fatura ContratoSaldo Devedor	TxJuros Aditivos de ContratoTipo de TxJuros Clientes
Análise de Ponto de Função - APF Características O dado é obrigatório na área funcional, mas opcionalmente armazenado como um arquivo de dados Geralmente não é identificado como parte dos requisitos funcionais, mas como parte do desenho para alinhar-se aos requisitos técnicos É mantido algumas vezes pelo usuário (geralmente usuário de suporte) Armazena os dados para padronizar e facilitar as atividades do negócio e as transações do negócio. Tipos de Entidades – Código Descrição (code data)
Análise de Ponto de Função - APF Características É essencialmente estático, ou seja, somente se altera com as mudanças decorrentes da operação do negócio 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.; 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. Tipos de Entidades – Código Descrição (code data)
Análise de Ponto de Função - APF Outros exemplos: Situação Código da situação Descrição da situação Tipo de pagamento Código do tipo de pagamento Descrição do pagamento Dados de código ou dados de referência? UF Estado Civil Tipos de munição Marcas de armas Código das cores Tipos de Entidades – Código Descrição (code data)
Análise de Ponto de Função - APF Dica importante Verifique se o dado foi requisitado pelo usuário e, portanto, é relevante para o negócio tratado pela aplicação Se ele nasceu em decorrência de uma atividade de análise / modelagem / projeto Tipos de Entidades
Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
Análise de Ponto de Função - APF Funções de Transação Funções de Transação Entrada Processamento Saída Arquivos Funções de Dados
Análise de Ponto de Função - APF Funções de Transação É um processo elementar que fornece ao usuário a capacidade de processar dados Podem ser de três tipos:  Entradas Externas (EE) Saídas Externas (SE) Consultas Externas (CE)
Análise de Ponto de Função - APF Funções de Transação São fluxos de dados que devem obrigatoriamente cruzar a fronteira da aplicação sendo contada. 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto Produtos 1.3 Saldo de Produto
Análise de Ponto de Função - APF Identificação das Funções de Transação A identificação dos tipos de Funções de Transação nem sempre é trivial por isso o IFPUG construiu a seguinte tabela.
Análise de Ponto de Função - APF Definição de EE – Entrada Externa É um processo elementar no qual dados ou informação de controle atravessam a fronteira da aplicação de fora para dentro. A intenção primária de uma Entrada Externa é manter um ou mais ALI ou alterar o comportamento do sistema EE representam as atividades que CRIAM, ATUZALIZAM ou APAGAM dados ou processam INFORMAÇÃO DE CONTROLE Exemplo: 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. 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.
Análise de Ponto de Função - APF Processo de Contagem de EE – Entrada Externa Identificar o processo elementar e verificar se ele se enquadra nas regras de Entrada Externa Determinar a complexidade funcional Determinar a contribuição em Pontos de Função
Análise de Ponto de Função - APF Regras de identificação de EE – Entrada Externa 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). 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto EE Produtos 1.3 Saldo de Produto ALI
Análise de Ponto de Função - APF Regras de identificação de EE – Entrada Externa Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita: A lógica de processamento é única e diferente de todas as outras entradas externas na aplicação sendo contada O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras entradas externas na aplicação sendo contada Os ALI mantidos e/ou referenciados e os AIE referenciados são diferentes dos usados por outras entradas externas UNICIDADE
Análise de Ponto de Função - APF Exemplos de EE – Entrada Externa São Entradas Externas: Transações de entrada de dados que mantém um ALI Transações usadas para alterar o comportamento do sistema ou controlar seu fluxo de processamento (informação de controle) Cada processo elementar utilizando uma ou mais telas que mantém um ou mais ALI 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 Cada atividade de atualização (inserir, alterar ou excluir) poderá ser considerada como uma Entrada Externa, se fizerem parte de um processo elementar Funções de conversão de dados são contabilizadas como entradas externas dentro da contagem de um projeto de desenvolvimento ou manutenção
Análise de Ponto de Função - APF Exemplos de não EE – Entrada Externa Não são Entradas Externas: Processos dentro da fronteira da aplicação para manter um arquivo sem que os dados cruzem a fronteira da aplicação Auxílios à navegação, menus estáticos Parâmetros de entrada que direcionam a recuperação de dados em uma consulta externa Múltiplos métodos para executar uma mesma lógica de uma entrada externa (batch e online) Respostas para uma mensagem que pedem uma confirmação do usuário para exclusão ou qualquer outra transação Dados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicação 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
Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa São utilizados dois fatores: Dado Elementar Referenciado (DER) Arquivo Lógico Referenciado (ALR)
Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa DER – Dado Elementar Referenciado É um campo único, não repetitivo, reconhecido pelo usuário Regras: 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 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 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 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.)
Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa ALR – Arquivo Lógico Referenciado É um ALI lido ou mantido pela EE, ou um AIE lido pela EE. Regras: Contar um ALR para cada ALI mantido durante o processo elementar Contar um ALR para cada ALI ou AIE lido durante o processo elementar Contar somente um ALR para cada ALI que seja mantido e lido durante o processo elementar da EE
Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa
Análise de Ponto de Função - APF Contribuição para EE – Entrada Externa
Análise de Ponto de Função - APF Exemplo para EE – Entrada Externa 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. Empresa XPTO Sistema de Recursos Humanos Inclusão de Novo Funcionário 28/02/2010 21:06 Incluir 002/10 Informe o nº da Matrícula:  Marcus de Paula Costa Nome:  Rua 2 Casa 50, ACP DFL Endereço: Vila Planalto Brasília Bairro: Cidade: DF 71900300 UF: CEP: Imprimir Sair 61 8888-9900 Telefone: OBS: Todas as informações apresentadas são incluídas em um único ALI - Funcionário
Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
Análise de Ponto de Função - APF Definição de CE – Consulta Externa É um processo elementar que apresenta dados ou informações de controle para fora da fronteira da aplicação 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 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 Exemplo: O usuário solicitou a capacidade da aplicação de apresentar informações sobre funcionários, tais como estão armazenadas. Para APF existe 1 Consulta Externa, pois apresenta informação de funcionário aos usuários da aplicação.
Análise de Ponto de Função - APF Regras de identificação de CE – Consulta Externa O processo elementar abaixo somente recupera dados de um ALI e apresenta ao usuário. 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto Produtos 1.3 Saldo de Produto CE ALI -> ALR
Análise de Ponto de Função - APF Processo de Contagem de CE – Consulta Externa Identificar o processo elementar e verificar se ele se enquadra nas regras de Consulta Externa Determinar a complexidade funcional Determinar a contribuição em Pontos de Função
Análise de Ponto de Função - APF Regras de identificação de CE – Consulta Externa Todas as regras abaixo devem ser satisfeitas: O processo elementar recupera dados ou informação de controle de um ALI ou AIE A lógica de processamento não contém cálculos A lógica de processamento não cria dados derivados A lógica de processamento não mantêm nenhum ALI A lógica de processamento não altera o comportamento do sistema
Análise de Ponto de Função - APF Regras de identificação de CE – Consulta Externa Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita: A lógica de processamento é única e diferente de todas as outras consultas externas na aplicação sendo contada O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contada Os ALI ou AIE referenciados são diferentes dos usados por outras consultas externas UNICIDADE
Análise de Ponto de Função - APF Exemplos de CE – Consulta Externa São Consultas Externas: Relatórios ou telas de apresentação de dados sem cálculos ou dados derivados Transferência de dados para outra aplicação, sem cálculos ou dados derivados Combo boxes ou telas auxiliares apresentando informações recuperadas de um ALI ou AIE Dados que são recuperados de um ou mais ALI e/ou AIE e apresentados com base em um critério de entrada Lista que o usuário clica ou aponta em uma tela para recuperação de dados
Análise de Ponto de Função - APF Exemplos de CE – Consulta Externa Outros exemplos que são CE: 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. 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. UNICIDADE
Análise de Ponto de Função - APF Exemplos de não CE – Consulta Externa Não são Consultas Externas: Menu de navegação com somente recursos de seleção de telas Telas de mensagem de erro DropDownlistbox que não acessem dados da aplicação (hardcoded) Mensagens que requeiram confirmação do usuário ou indiquem que o processo está sendo executado -> fazem parte do processo elementar sendo contado Dados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicação 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
Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa São utilizados dois fatores: Dado Elementar Referenciado (DER) Arquivo Lógico Referenciado (ALR)
Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa DER – Dado Elementar Referenciado É um campo único, não repetitivo, reconhecido pelo usuário Regras: 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 Contar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicação Se um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da CE 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 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.) Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema
Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa ALR – Arquivo Lógico Referenciado É um ALI ou AIE lido pela CE. Regras: Contar um ALR para cada ALI lido durante o processo elementar Contar um ALR para cada AIE lido durante o processo elementar
Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa
Análise de Ponto de Função - APF Contribuição para CE – Consulta Externa
Análise de Ponto de Função - APF Exemplo para CE – Consulta Externa 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. Empresa XPTO Sistema de Recursos Humanos Consulta de Funcionário 28/02/2010 21:06 Pesquisar 002/10 Informe o nº da Matrícula:  Marcus de Paula Costa Nome:  Rua 2 Casa 50, ACP DFL Endereço: Vila Planalto Brasília Bairro: Cidade: DF 71900300 UF: CEP: 61 8888-9900 Telefone: Imprimir Sair OBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
Análise de Ponto de Função - APF Definição de SE – Saída Externa É um processo elementar que apresenta dados ou informação de controle para fora da fronteira da aplicação 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 A lógica de processamento deve conter ao menos uma fórmula ou cálculo  matemático ou criar dados derivados Uma Saída Externa pode também manter um ou mais ALIs ou alterar o comportamento do sistema Exemplo: 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. Para APF existe 1 Saída Externa, pois apresenta cálculo no relatório apresentado.
Análise de Ponto de Função - APF Regras de identificação de SE – Saída Externa O processo elementar abaixo realiza um cálculo para apresentar o saldo de produtos para o usuário. 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto Produtos 1.3 Saldo de Produto ALI -> ALR SE
Análise de Ponto de Função - APF Processo de Contagem de SE – Saída Externa Identificar o processo elementar e verificar se ele se enquadra nas regras de Saída Externa Determinar a complexidade funcional Determinar a contribuição em Pontos de Função
Análise de Ponto de Função - APF Regras de identificação de SE – Saída Externa Pelo menos uma das regras abaixo devem ser satisfeitas para o processo elementar ser contado como uma Saída Externa (SE): A lógica de processamento contém ao menos um cálculo matemático A lógica de processamento cria dados derivados A lógica de processamento mantém ao menos um ALI A lógica de processamento altera o comportamento do sistema
Análise de Ponto de Função - APF Regras de identificação de SE – Saída Externa Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita: A lógica de processamento é única e diferente de todas as outras saídas externas na aplicação sendo contada O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contada Os ALI ou AIE referenciados são diferentes dos usados por outras saídas externas UNICIDADE
Análise de Ponto de Função - APF Exemplos de SE – Saída Externa São Saídas Externas: Relatórios ou telas de apresentação de dados com cálculos ou dados derivados Transferência de dados para outra aplicação, com cálculos ou dados derivados Funcionalidades de consulta que, ao serem executadas, fazem manutenção em ALI Gráfico exibidos (gráfico de barra, pizza, etc.) Etiquetas com código de barras Telas de logon
Análise de Ponto de Função - APF Exemplos de não SE – Saída Externa Não são Saídas Externas: Menu de navegação com somente recursos de seleção de telas Telas de mensagem de erro, cancelamento ou confirmação de processamento 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 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
Análise de Ponto de Função - APF Complexidade Funcional para SE – Saídas Externa São utilizados dois fatores: Dado Elementar Referenciado (DER) Arquivo Lógico Referenciado (ALR)
Análise de Ponto de Função - APF Complexidade Funcional para SE – Saída Externa DER – Dado Elementar Referenciado É um campo único, não repetitivo, reconhecido pelo usuário Regras: 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 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 Contar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicação Se um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da SE 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 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.) Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema
Análise de Ponto de Função - APF Complexidade Funcional para SE – Saída Externa ALR – Arquivo Lógico Referenciado É um ALI lido ou mantido ou AIE lido pela SE. Regras: Contar um ALR para cada ALI mantido durante o processo elementar Contar um ALR para cada ALI ou AIE lido durante o processo elementar Contar somente um ALR quando um ALI for mantido e lido pelo processo elementar da SE
Análise de Ponto de Função - APF Complexidade Funcional para SE – Saída Externa
Análise de Ponto de Função - APF Contribuição para SE – Saída Externa
Análise de Ponto de Função - APF Exemplo para SE – Saída Externa 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. Empresa XPTO Sistema de Recursos Humanos Inclusão de Novo Funcionário 28/02/2010 21:06 Pesquisar 002/10 Informe o nº da Matrícula:  Marcus de Paula Costa Nome:  Rua 2 Casa 50, ACP DFL Endereço: Campo Calculado Pelo Sistema Vila Planalto Brasília Bairro: Cidade: DF 71900300 UF: CEP: 61 8888-9900 Telefone: Tempo de Casa: 2 anos e 60 dias Imprimir Sair OBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
Análise de Ponto de Função - APF Lógicas de Processamento para EE, CE e SE
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas ALI ALI ALI AIE Para o sistema de Controle de Reservas Cliente, Reserva e Apartamento são ALI. E Funcionário é um AIE. Para o sistema de Pessoal Funcionário é um ALI.
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Regras Gerais 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) Considere também que todas as funcionalidades possuem mensagens que são emitidas para o usuário (CEM – Capacidade de Emitir Mensagem) A próxima tela apresenta a tela de inclusão de reserva no sistema
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Registro de Reserva Número da Reserva: [ _ _ _ _ ] Matrícula do Funcionário: [ _ _ _ _ ] Código do Cliente: [ _ _ _ _ ] Data da Reserva: [ _ _ _ _ ] Período:                 Início: [ _ _ _ _ ]                Fim: [ _ _ _ _ ]         Tipo Apto: [ _ _ ] Pessoa: [ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ] Número Apartamento: [ _ _ _ _ ]
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Regras de Validação para que a inclusão ocorra: Se a reserva já existe (o sistema deve verificar se já existe uma reserva com o número digitado) Verificar se o funcionário está cadastrado (é verificado no repositório de funcionário do sistema de Pessoal) Verificar se o cliente está cadastrado (é verificado no repositório de cliente) 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) Verificar se o apartamento existe (é verificado se o número do apartamento informado existe no repositório de apartamento)
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas ALR Resultado: Arquivo de Reserva (é lido na validação se a reserva já existe e é gravado com os dados da reserva) Contar Somente um ALR, pois se trata de ALI lido e mantido durante o processo elementar. Arquivo de Funcionário (é lido para verificar se o funcionário existe) Contar um ALR, pois se trata de um AIE lido durante a execução do processo elementar Arquivo de Clientes (é lido para ver se o cliente informado já estava cadastrado) Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar Arquivo de Apartamento (é lido para verificar se o apartamento existe) Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar Para execução do Processo Elementar são utilizados 4 ALR
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas DERs Resultado: Número da Reserva Matrícula do Funcionário Código do Cliente Data da Reserva Período Início Período Fim Tipo Apto Pessoa Número do Apartamento São utilizados 4 ALR e 9 DERs na Tela + 1 CCA + 1 CEM = 11 DER
Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Qual a complexidade funcional desta EE de registro de Reservas? (Verifique na tabela de EE)
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas A próxima tela é a alteração da reserva.  Os dados foram obtidos a partir de uma consulta pelo código da reserva. Na tela tudo pode ser alterado menos o Código da Reserva e o Código do Cliente Caso seja necessário mudar um cliente de uma reserva é necessário excluir a reserva e criar uma nova para o novo cliente 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.
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Alteração de Reserva Número da Reserva: [ 0023/2010 ] Matrícula do Funcionário: [ 34985 ] Código do Cliente: [ 34778 ] Data da Reserva: [ 01/03/2010 ] Período:      Início: [ 05/03/2010 ]         Fim: [ 10/03/2010 ]         Tipo Apto: [ D ] Pessoa: [ Aderbal Luiz Imóveis – ALI ] Número Apartamento: [ 207 ]
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas ALR Resultado: Arquivo de Reserva (é lido na validação se a reserva já existe e é gravado com os dados da reserva) Contar Somente um ALR, pois se trata de ALI lido e mantido durante o processo elementar. Arquivo de Funcionário (é lido para verificar se o funcionário existe) Contar um ALR, pois se trata de um AIE lido durante a execução do processo elementar Arquivo de Apartamento (é lido para verificar se o apartamento existe) Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar Para execução do Processo Elementar são utilizados 3 ALR
Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF DERs Resultado: Número da Reserva Matrícula do Funcionário Código do Cliente Data da Reserva Período Início Período Fim Tipo Apto Pessoa Número do Apartamento Na tela são 9 DERs menos 1 DER do Código do Cliente = 8 + CCA + CEM = 10 DER O código da reserva é contado porque o sistema precisa localizar a reserva a ser alterada
Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Qual a complexidade funcional desta EE de Alterar Reservas? (Verifique na tabela de EE)
Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Exclusão de Reserva Número da Reserva: [ _ _ _ _ _ _ _ _ _ ] Matrícula do Funcionário: [ _ _ _ _ _ ]
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Arquivos Referenciados Arquivo de Reservas Arquivo de Funcionário Regras de Validação Verificar se a reserva existe Verificar se o funcionário está cadastrado, pois somente funcionários cadastrados podem excluir reservas Faça a Contagem!!!
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas O próximo exemplo é o relatório de reservas Desconsiderar os campos de filtro apenas considerar as informações do relatório O sistema apenas recupera as informações do repositório de reservas
Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Relatório de Reservas               Data 02/02/2010 Período Início      Fim Nome /Sobrenome Tipo Apto SS 01/02/2010 10/03/2010 Aderbal Luiz Imóveis - ALI
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Resultado: Apenas 1 ALR, pois todas as informações vem do repositório de reserva DERs: Nome e Sobrenome Tipo Apartamento Período início Período fim CCA CEM É 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.
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Relatório de Apartamentos     Data 02/02/2010 Número Tipo Apto SS Aderbal Luiz Imóveis - ALI ,[object Object]
 Arquivo de Apartamentos
 Regras
 Relacionar todos os apartamentos cadastrados,[object Object]
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Relatório de Ocupação no Período início: 02/02/2010 até 10/03/2010 Semana 05 a 11 12 a 18 19 a 25 Ocupação Apto SS 12 10 19 65% Apto CS 20 4 10 45% Apto SL 3 200 4 37% Apto CL 23 45 9 10% Apto VIP 234 4 78 80% Vazio 5 50 10 40% Arquivos Referenciados:       - Reservas Regras:       - A ocupação é calculada pela média aritmética das ocupações divididas pelo          total de apartamentos disponíveis       - Período é informado como parâmetro
Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Resultado: ALR 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. DERs (Lembrando que DERs são informações reconhecidas pelo usuário): Data de Início Data de Fim Identificação da Semana Identificação do Tipo de Apartamento Coluna de totais por tipo de apartamento (6 DERs, um para cada coluna) Percentuais de ocupação por tipo de apartamento (6 DERs para cada total por tipo de apartamento) CCA CEM É uma Saída Externa, pois realizo cálculos. Resultado: 1 ALR / 18 DERs
Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Formula para Projeto de Desenvolvimento Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Projeto de Desenvolvimento DFP = ADD + CFP ONDE: DFP – Pontos de Função do projeto de desenvolvimento ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto CFP – Tamanho funcional das funcionalidades de conversão de dados
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Projeto de Desenvolvimento Funcionalidades identificadas no projeto:      2 ALI – Baixa = 14PF      1 AIE – Baixa = 5PF      10 EE – Média = 40PF      6 CE – Alta = 36PF      4 SE – Média = 20PF      5 EE – Baixa = 15PF (Conversão de Dados) DFP = ADD + CFP DFP = (14+5+40+36+20) + 15 => 130PF
Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Formula para Iniciar a Contagem da Aplicação Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Iniciar a contagem da aplicação após um projeto de desenvolvimento AFP = ADD ONDE: AFP – Pontos de Função da aplicação ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto Não utiliza o tamanho funcional das funções para Conversão de Dados identificadas no Projeto de Desenvolvimento!!!
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Iniciar a contagem da aplicação após um projeto de desenvolvimento Funcionalidades identificadas no projeto de desenvolvimento:      2 ALI – Baixa = 14PF      1 AIE – Baixa = 5PF      10 EE – Média = 40PF      6 CE – Alta = 36PF      4 SE – Média = 20PF      5 EE – Baixa = 15PF (Conversão de Dados não são levadas em consideração) AFP = ADD AFP = (14+5+40+36+20) => 115PF
Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo Formula para Projeto de Melhoria
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Projeto de Melhoria EFP = ADD + CHGA + DEL + CFP ONDE: EFP – Pontos de Função do projeto de melhoria ADD – Tamanho funcional das funcionalidades adicionadas à aplicação CHGA – Tamanho funcional das funcionalidades alteradas após o projeto de melhoria DEL – Tamanho funcional das funcionalidades removidas da aplicação CFP – Tamanho funcional das funcionalidades de conversão de dados
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Projeto de Melhoria Funcionalidades identificadas no projeto:      1 AIE – Baixa = 5PF (Alterado Depois)      3 EE – Média = 12PF (Adicionados)      1 CE – Alta = 3PF (Excluído)      1 EE – Baixa = 3PF (Conversão de Dados) EFP = ADD + CHGA + DEL + CFP EFP = (12) + (5) + (3) + (3) => 23PF
Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo Formula para Atualizar contagem da Aplicação após Projeto de Melhoria
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Atualizar a contagem da aplicação após um projeto de melhoria AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL) ONDE: AFP – Pontos de Função da aplicação depois do projeto de melhoria ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto CHGA – Tamanho funcional das funcionalidades alteradas depois do projeto de melhoria CHGB – Tamanho funcional das funcionalidades alteradas antes do projeto de melhoria DEL – Tamanho funcional das funcionalidades excluídas no projeto de melhoria
Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Atualizar a contagem da aplicação após um projeto de melhoria Tamanho funcional da aplicação antes do projeto de melhoria:      115PF Funcionalidades identificadas no projeto:      1 AIE – Média = 7PF (Alterado Antes)      1 AIE – Baixa = 5PF (Alterado Depois)      3 EE – Média = 12PF (Adicionados)      1 CE – Alta = 3PF (Excluído)      1 EE – Baixa = 3PF (Conversão de Dados) AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL) AFPA = (115 + 12 + 5) – (7 + 3) => 132 – 10 => 122PF
Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
Análise de Ponto de Função - APF Reportar o Resultado da Contagem Deve ser apresentado um relatório de contagem O tamanho funcional deve ser apresentado da seguinte maneira S PF (IFPUG-IS) Onde: 	S – O resultado da contagem 	PF – É a unidade de tamanho conforme o método IFPUG FSM 	IS – É o padrão internacional (ISO/IEC 20926:200x) Exemplo: 	250 PF (IFPUG-ISO/IEC 20926:2009)

More Related Content

What's hot

Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)
Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)
Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)Idik Saeful Bahri
 
Time frame proses perkara kepailitan
Time frame proses perkara kepailitanTime frame proses perkara kepailitan
Time frame proses perkara kepailitanMuhamad Arifudin
 
MAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdf
MAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdfMAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdf
MAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdfWeninggalihP
 
1. sop pemeriksaan tanggal kadaluwarsa
1. sop pemeriksaan tanggal kadaluwarsa1. sop pemeriksaan tanggal kadaluwarsa
1. sop pemeriksaan tanggal kadaluwarsaCitra Rachma
 
Peradilan dalam hukum pajak ppt new
Peradilan dalam hukum pajak ppt newPeradilan dalam hukum pajak ppt new
Peradilan dalam hukum pajak ppt newArif Wiyono
 
Perseroan terbatas (PT)
Perseroan terbatas (PT)Perseroan terbatas (PT)
Perseroan terbatas (PT)Rizal Nurfalah
 
PPT Pengolahan Sampah Perkotaan
PPT Pengolahan Sampah PerkotaanPPT Pengolahan Sampah Perkotaan
PPT Pengolahan Sampah PerkotaanAzzah Fizda
 
Perjanjian Pengikatan Jual Beli Tanah
Perjanjian Pengikatan Jual Beli TanahPerjanjian Pengikatan Jual Beli Tanah
Perjanjian Pengikatan Jual Beli TanahLeks&Co
 
Tata laksana plb per 02 03 itw
Tata laksana plb per 02 03 itwTata laksana plb per 02 03 itw
Tata laksana plb per 02 03 itwEty Puspitasari
 
Swamedikasi Penyakit Kulit_Kel 1-1.pptx
Swamedikasi Penyakit Kulit_Kel 1-1.pptxSwamedikasi Penyakit Kulit_Kel 1-1.pptx
Swamedikasi Penyakit Kulit_Kel 1-1.pptxklinikmora
 
Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...
Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...
Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...Deni Mawar
 
SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...
SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...
SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...Muhamad Imam Khairy
 
pembuktian dan daluarsa
pembuktian dan daluarsapembuktian dan daluarsa
pembuktian dan daluarsajohantorqi
 
Perlindungan Hak Atas Privasi di Internet
Perlindungan Hak Atas Privasi di InternetPerlindungan Hak Atas Privasi di Internet
Perlindungan Hak Atas Privasi di InternetICT Watch
 

What's hot (20)

Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)
Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)
Hukum acara perdata - Eksekusi dan Penyelesaian Perkara (Idik Saeful Bahri)
 
Time frame proses perkara kepailitan
Time frame proses perkara kepailitanTime frame proses perkara kepailitan
Time frame proses perkara kepailitan
 
MAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdf
MAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdfMAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdf
MAKALAH TINDAK PIDANA KORUPSI DAN TPPU_UTS.pdf
 
1. sop pemeriksaan tanggal kadaluwarsa
1. sop pemeriksaan tanggal kadaluwarsa1. sop pemeriksaan tanggal kadaluwarsa
1. sop pemeriksaan tanggal kadaluwarsa
 
Peradilan dalam hukum pajak ppt new
Peradilan dalam hukum pajak ppt newPeradilan dalam hukum pajak ppt new
Peradilan dalam hukum pajak ppt new
 
Perseroan terbatas (PT)
Perseroan terbatas (PT)Perseroan terbatas (PT)
Perseroan terbatas (PT)
 
Relação jurídico Tributária Prof. Sabbag
Relação jurídico Tributária Prof. SabbagRelação jurídico Tributária Prof. Sabbag
Relação jurídico Tributária Prof. Sabbag
 
PPT Pengolahan Sampah Perkotaan
PPT Pengolahan Sampah PerkotaanPPT Pengolahan Sampah Perkotaan
PPT Pengolahan Sampah Perkotaan
 
Salep mata
Salep mataSalep mata
Salep mata
 
Ptpsp kadar air sampah
Ptpsp kadar air sampahPtpsp kadar air sampah
Ptpsp kadar air sampah
 
Badan usaha
Badan usahaBadan usaha
Badan usaha
 
Perjanjian Pengikatan Jual Beli Tanah
Perjanjian Pengikatan Jual Beli TanahPerjanjian Pengikatan Jual Beli Tanah
Perjanjian Pengikatan Jual Beli Tanah
 
Tata laksana plb per 02 03 itw
Tata laksana plb per 02 03 itwTata laksana plb per 02 03 itw
Tata laksana plb per 02 03 itw
 
Swamedikasi Penyakit Kulit_Kel 1-1.pptx
Swamedikasi Penyakit Kulit_Kel 1-1.pptxSwamedikasi Penyakit Kulit_Kel 1-1.pptx
Swamedikasi Penyakit Kulit_Kel 1-1.pptx
 
Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...
Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...
Peraturan kepala bkpm no. 12 tahun 2009 tentang pedoman dan tata cara permoho...
 
Biology ekokinetika
Biology ekokinetikaBiology ekokinetika
Biology ekokinetika
 
SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...
SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...
SNI 19-7119.9-2005 tentang Udara Ambien - Bagian 9: Penentuan Lokasi Pengambi...
 
kasus Haki ppt
kasus Haki ppt kasus Haki ppt
kasus Haki ppt
 
pembuktian dan daluarsa
pembuktian dan daluarsapembuktian dan daluarsa
pembuktian dan daluarsa
 
Perlindungan Hak Atas Privasi di Internet
Perlindungan Hak Atas Privasi di InternetPerlindungan Hak Atas Privasi di Internet
Perlindungan Hak Atas Privasi di Internet
 

Similar to APF: Análise de Pontos de Função para Medição de Software

Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Fatto Consultoria e Sistemas
 
Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Fatto Consultoria e Sistemas
 
A contribuição de Pontos de Função para um programa de métricas de software -...
A contribuição de Pontos de Função para um programa de métricas de software -...A contribuição de Pontos de Função para um programa de métricas de software -...
A contribuição de Pontos de Função para um programa de métricas de software -...Fatto Consultoria e Sistemas
 
A contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwareA contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwaregssimoes
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
Curso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de FuncaoCurso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de FuncaoGrupo Treinar
 
Gestao da tecnologia_da_informacao_unidade_ii
Gestao da tecnologia_da_informacao_unidade_iiGestao da tecnologia_da_informacao_unidade_ii
Gestao da tecnologia_da_informacao_unidade_iimambrosino
 
Lumine SafeChain - Método de Desenvolvimento
Lumine SafeChain - Método de DesenvolvimentoLumine SafeChain - Método de Desenvolvimento
Lumine SafeChain - Método de DesenvolvimentoEdson Aguilera-Fernandes
 
Fatto - Metodologia de Implantação da Análise de Pontos de Função
Fatto - Metodologia de Implantação da Análise de Pontos de FunçãoFatto - Metodologia de Implantação da Análise de Pontos de Função
Fatto - Metodologia de Implantação da Análise de Pontos de FunçãoFatto Consultoria e Sistemas
 
Medida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de FunçãoMedida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de FunçãoÁlvaro Farias Pinheiro
 
Implantação da APF: Obstáculos e Boas Práticas em um Caso Real
Implantação da APF: Obstáculos e Boas Práticas em um Caso RealImplantação da APF: Obstáculos e Boas Práticas em um Caso Real
Implantação da APF: Obstáculos e Boas Práticas em um Caso Realgssimoes
 
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloIndicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloRoberto de Pinho
 
Aplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoAplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoWisthon Douglas
 
Projeto de pesquisa apresentação
Projeto de pesquisa   apresentaçãoProjeto de pesquisa   apresentação
Projeto de pesquisa apresentaçãoEduardo Rodriguez
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalNuno Baptista Rodrigues
 
APF - Fundamentos, aplicação como base para medição em contratos de software ...
APF - Fundamentos, aplicação como base para medição em contratos de software ...APF - Fundamentos, aplicação como base para medição em contratos de software ...
APF - Fundamentos, aplicação como base para medição em contratos de software ...Fatto Consultoria e Sistemas
 

Similar to APF: Análise de Pontos de Função para Medição de Software (20)

Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...
 
Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...Software na medida certa: desmistificando pontos de função - apresentado no I...
Software na medida certa: desmistificando pontos de função - apresentado no I...
 
A contribuição de Pontos de Função para um programa de métricas de software -...
A contribuição de Pontos de Função para um programa de métricas de software -...A contribuição de Pontos de Função para um programa de métricas de software -...
A contribuição de Pontos de Função para um programa de métricas de software -...
 
A contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de softwareA contribuição de Pontos de Função para um programa de métricas de software
A contribuição de Pontos de Função para um programa de métricas de software
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Curso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de FuncaoCurso Completo em APF - Analise de Ponto de Funcao
Curso Completo em APF - Analise de Ponto de Funcao
 
Gestao da tecnologia_da_informacao_unidade_ii
Gestao da tecnologia_da_informacao_unidade_iiGestao da tecnologia_da_informacao_unidade_ii
Gestao da tecnologia_da_informacao_unidade_ii
 
Lumine SafeChain - Método de Desenvolvimento
Lumine SafeChain - Método de DesenvolvimentoLumine SafeChain - Método de Desenvolvimento
Lumine SafeChain - Método de Desenvolvimento
 
Fatto - Metodologia de Implantação da Análise de Pontos de Função
Fatto - Metodologia de Implantação da Análise de Pontos de FunçãoFatto - Metodologia de Implantação da Análise de Pontos de Função
Fatto - Metodologia de Implantação da Análise de Pontos de Função
 
Medida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de FunçãoMedida de Esforço de Software com Análise de Ponto de Função
Medida de Esforço de Software com Análise de Ponto de Função
 
Implantação da APF: Obstáculos e Boas Práticas em um Caso Real
Implantação da APF: Obstáculos e Boas Práticas em um Caso RealImplantação da APF: Obstáculos e Boas Práticas em um Caso Real
Implantação da APF: Obstáculos e Boas Práticas em um Caso Real
 
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paraleloIndicadores de políticas públicas e métricas de software: uma visão em paralelo
Indicadores de políticas públicas e métricas de software: uma visão em paralelo
 
Ponto de função
Ponto de funçãoPonto de função
Ponto de função
 
Aplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoAplicacao fpa pontos da função
Aplicacao fpa pontos da função
 
Planificação do Projeto de Software
Planificação do Projeto de SoftwarePlanificação do Projeto de Software
Planificação do Projeto de Software
 
Projeto de pesquisa apresentação
Projeto de pesquisa   apresentaçãoProjeto de pesquisa   apresentação
Projeto de pesquisa apresentação
 
Aula 02
Aula 02Aula 02
Aula 02
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
APF - Fundamentos, aplicação como base para medição em contratos de software ...
APF - Fundamentos, aplicação como base para medição em contratos de software ...APF - Fundamentos, aplicação como base para medição em contratos de software ...
APF - Fundamentos, aplicação como base para medição em contratos de software ...
 
Ponto de função
Ponto de funçãoPonto de função
Ponto de função
 

APF: Análise de Pontos de Função para Medição de Software

  • 1. Métrica de SoftwareAnálise de Pontos de Função
  • 2. Plano de Ensino Objetivo 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.
  • 3. Público 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 Analistas de negócios Gerentes de projetos Gestores de TI Interessados na certificação CFPS – CertifiedFunctionPointSpecialist (segundo semestre de 2010) Gestores e usuários. Plano de Ensino
  • 4. Planejamento Plano de Ensino Aula 1 Apresentação Métrica de software Aula 2 Introdução da técnica, propósito, tipo e escopo da contagem Exemplos e exercícios Aula 3 Medir funções de dados Exemplos e exercícios Aula 4 Medir funções de transações Exemplos e exercícios Aula 5 Calcular o tamanho funcional Exemplos e exercícios
  • 5. Metodologia Plano de Ensino Aulas expositivas e discussão na aplicação da técnica Apresentação Exemplos, exercícios e dinâmicas de grupo baseadas em situações reais que promovam a interação entre alunos e instrutor.
  • 6. Apresentação Plano de Ensino Aluno Atuação Expectativa Contatos
  • 7. Instrutor Plano de Ensino Marcus de Paula Costa CFPS Experiência de 2 anos em APF Experiência de 6 anos em desenvolvimento de software Coordenador de Medição e Análise Contato: marcus.itacanet@gmail.com Site: http://www.marcuscosta.com.br Telefone: +55 61 8401-2483
  • 8. Por que medir software?
  • 9. Por que medir software? Enquete Quantos já participaram de projetos de software que extrapolou o prazo ou custo? Quantos já participaram de projetos de software que foi entregue no prazo? Quantos já participaram de projetos de software que foi entregue no prazo e dentro do orçamento previsto?
  • 10. Por que medir software? Contexto Desenvolvimento de Software Qualidade, prazo e custo Maturidade Métricas
  • 11. Contexto Por que medir software? 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. Atualmente, as Organizações têm se perguntado: Por que utilizar Métrica de Software?
  • 12. Legislação Por que medir software? A legislação vigente estipula regras claras e precisas de gerenciamento dos contratos firmados ao término de cada processo licitatório. Lei 8.666 IN 04
  • 13. Legislação Por que medir software? 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. Praticamente extingue a aferição de esforço por meio da métrica Homem/Hora
  • 14. Fiscalização e Controle Por que medir software? 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. Existe o entendimento pelos especialistas em tecnologia do governo que a APF é um primeiro passo para medição de software.
  • 15. Fiscalização e Controle Por que medir software? “- Assuntos: INFORMÁTICA e TECNOLOGIA DA INFORMAÇÃO. DOU de 28.09.2007, S. 1, p. 137. Ementa: o TCU manifestou-se no sentido de que os serviços de informática diferem substancialmente dos demais serviços, ... ... 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 ... (item 9.4.1.1, TC-006.030/2007-4, Acórdão nº 1.999/2007-TCU-Plenário).”
  • 16. Fiscalização e Controle Por que medir software? “- Assunto: TECNOLOGIA DA INFORMAÇÃO. DOU de 28.09.2007, S. 1, p. 145. 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), ... ... (item 9.2.2.2, TC-019.998/2007-7, Acórdão nº 2.024/2007-TCUPlenário).”
  • 17. Contratos do Governo Por que medir software? 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. MPS ANAC Banco do Brasil Caixa Econômica IBAMA BACEN
  • 18. Contratos da Iniciativa Privada Por que medir software? A indústria e comércio de forma geral também acompanham essa tendência, não só Governos. Poliedro Politec CTIS DBA EDS IBM
  • 19. Comparação Por que medir software? 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.
  • 20. Por que medir software? Motivação “Não se consegue controlar aquilo que não se consegue medir.” (Tom De Marco) “Não se consegue medir aquilo que não se consegue perceber objetivamente.” (Desconhecido) 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.
  • 21. Por que medir software? Os quatro papéis da Medição Entender Controlar Processos, Produtos e Serviços de Software Avaliar Prever
  • 22. Por que medir software? Motivos Entender e aperfeiçoar o processo de desenvolvimento Melhorar a gerência de projetos e o relacionamento com clientes Reduzir frustrações e pressões de cronograma Gerenciar contratos de software Indicar a qualidade de um produto de software Avaliar a produtividade do processo Avaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de software Avaliar retorno de investimento
  • 23. Por que medir software? Motivos Identificar as melhores práticas de desenvolvimento de software Embasar solicitações de novas ferramentas e treinamento Avaliar o impacto da variação de um ou mais atributos do produto ou do processo na qualidade e/ou produtividade Formar uma baseline para estimativas Melhorar a exatidão das estimativas Oferecer dados qualitativos e quantitativos ao gerenciamento de desenvolvimento de software, de forma a realizar melhorias em todo o processo de desenvolvimento de software
  • 24. Por que medir software? Definição de Métricas O que se busca na medição de software? Medir a quantificação de uma característica de produto e as características do processos envolvidos. GQM (GoalQuestionMetric): Traçar os objetivos da medição de acordo com a estratégia da empresa Estabelecer perguntas que atendam aos objetivos identificados Verificar qual a métrica a ser utilizada para responder as questões
  • 25. Por que medir software? Framework de Medição Definir e Implantar Processo de Medição Utilizar Ferramentas de Qualidade Dados Históricos de Projetos Promover a Melhoria Contínua Definir Indicadores
  • 26. Plano de Medição e Análise Por que medir software? Plano de levantamento e análise de indicadores em uma organização, de acordo com as necessidades estratégicas da empresa Exemplo de indicadores: Produtividade Densidade dos defeitos Mudanças no Esforço Variação nos cronogramas Variação dos custos Custo da qualidade
  • 27. Exemplos de Indicadores Indicador de produtividade Indicador de custo Indicador de esforço Por que medir software? Produtividade = Produto de Trabalho/Esforço de Trabalho CUSTO = $/PF ESFORÇO = PF/Pessoa-Mês
  • 28. Modelos de Estimativas Baseado em Analogias Opiniões de especialistas e Bases Históricas Baseado em Atividades Hierarquia de atividades – Ex. EAP (Estrutura Analítica do Projeto) Relação simples de estimativas Esforço = Produtividade x Tamanho Modelos Paramétricos COCOMO Por que medir software?
  • 29. Do tamanho para o esforço Por que medir software? Tamanho dos Requisitos Eficácia da Tecnologia Tamanho Funcional Tamanho do Produto Ferramentas Tamanho Técnico Padrões Custo do Projeto 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. Não existem uma correlação direta entre o Tamanho Funcional e o Esforço!!! Esforço Valor da Hora Outros Custos
  • 30. Ingredientes para uma boa estimativa O escopo da atividade O ambiente Experiência da equipe Ferramentas Aprender com experiências passadas Por que medir software?
  • 31. Experiência da Equipe Habilidade para entender claramente o escopo Experiência na Plataforma de desenvolvimento Gerente experiente Qualidade dos Processos Competência da Equipe de Testes Por que medir software?
  • 32. Estimativas Eficientes Cada projeto novo de Software é uma experiência única para a equipe. Métricas , Passado, Presente e Futuro “Quem não lembra do passado está condenado a repeti-lo”. (Santayana) Por que medir software?
  • 33. Estimativas Erradas Ignorar o passado – Dados Históricos Otimismo para agradar Incerteza nos requisitos Pressão Gerencial Equipe de estimativas não qualificada Orçamento irreal Por que medir software?
  • 34. Análise de Pontos de Função
  • 35. Histórico 1979 Allan Albrecht (IBM) cria as primeiras regras da APF 1983 Primeiro curso de APF no Brasil (Unisys) 1984 Primeiro manual de APF 1986 Criação da primeira diretoria do IFPUG 1996 Primeiro exame CFPS no Brasil 1998 Criação do BFPUG 2004 CFPS no Brasil = 200 2007 CPM (Manual de Práticas de Contagem) versão 4.2.1 em português 2010 CPM versão 4.3 Análise de Ponto de Função - APF
  • 36. Aplicação Suporte a análise de QUALIDADE e PRODUTIVIDADE Estimar CUSTOS e RECURSOS necessários para o desenvolvimento e manutenção de software Fator de NORMALIZAÇÃO para a comparação de software Determinar o TAMANHO DE UM PACOTE de software adquirido pela empresa Ajudar a DEFINIR O BENEFÍCIO de um pacote de software para um determinado grupo de usuários Análise de Ponto de Função - APF
  • 37. Objetivos Análise de Ponto de Função - APF Medir a funcionalidade que o usuário solicita e recebe. Medir o desenvolvimento e a manutenção de software, independentemente da tecnologia utilizada para a implementação. Técnica Suficientemente simples para minimizar a sobrecarga no processo de medição. Uma medida consistente entre os vários projetos e organizações. Processo
  • 38. Referências Normativas ISO/IEC 14143-1:1998 – Medição de Tamanho Funcional de Software O IFPUG-CPM foi referenciado pela ISO/IEC 14143 desde a versão 4.1, com a exclusão das CGS. 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. Análise de Ponto de Função - APF
  • 39. Procedimentos de Contagem Análise de Ponto de Função - APF Contar funções de dados Determinar o escopo, as fronteiras e identificar as necessidades funcionais do usuário Calcular o tamanho funcional Documentar e Reportar Reunir a documentação disponível Contar funções de transação
  • 40. Reunir a documentação disponível Deve oferecer suporte a contagem Deve descrever as funcionalidades impactadas pelo projeto Ter acesso a especialistas aos quais poderão corrigir eventuais falhas na documentação 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. Análise de Ponto de Função - APF
  • 41. Determinar o propósito da contagem Uma contagem deve prover uma resposta a um problema do negócio Estimar o esforço para desenvolver novo sistema ou evoluir um já existente? Contar a base instalada de aplicativos? Comparar funcionalidades entre pacotes de aplicativos? Determina o Escopo e o Tipo de contagem Influencia o posicionamento da(s) fronteira(s) da(s) aplicação(ões) 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. Análise de Ponto de Função - APF
  • 42. Determinar o tipo de contagem Desenvolvimento Melhoria Aplicação/Baseline Análise de Ponto de Função - APF
  • 43. Análise de Ponto de Função - APF Determinar o tipo de contagem - Desenvolvimento Quantifica as funcionalidades providas ao usuário da aplicação com a primeira instalação de um software entregue quando o projeto é terminado. Funcionalidades Criadas ou Customizadas Conversão de dados Tamanho do Projeto de Desenvolvimento
  • 44. Análise de Ponto de Função - APF Determinar o tipo de contagem - Melhoria 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. Funcionalidades Adicionadas Conversão de dados Funcionalidades Alteradas Funcionalidades Excluídas Tamanho do Projeto de Melhoria
  • 45. Análise de Ponto de Função - APF Determinar o tipo de contagem – Aplicação/Baseline Dimensiona o tamanho real de uma aplicação instalada, representando as funcionalidades oferecidas ao usuário. Funcionalidades Disponíveis Tamanho da Aplicação
  • 46. Tipos de Manutenção Análise de Ponto de Função - APF Corretiva Defeitos ou não conformidades. Adaptativa Resposta às modificações dos requisitos em um momento em que partes do produto já foram instaladas. Mudança na funcionalidade. Perfectiva /Manutenção Preventiva Mudanças no ambiente sem alteração na funcionalidade.
  • 47. Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo
  • 48. Determinar o escopo da contagem Análise de Ponto de Função - APF O escopo da contagem define as funções que serão incluídas em uma contagem em particular. Define: O escopo define um conjunto (ou subconjunto) de software sendo medido Identifica quais funcionalidades serão incluídas na contagem Pode incluir mais de uma aplicação ou parte de uma aplicação
  • 49. Escopo X Tipo de Contagem Análise de Ponto de Função - APF Desenvolvimento: inclui todas as funções construídas ou customizadas no projeto. Melhoria: inclui todas as funções adicionadas, alteradas e excluídas. A fronteira da aplicação permanece a mesma. Aplicação: pode incluir Todas as funções usadas pelo usuário Todas as funções entregues
  • 50. Definições Análise de Ponto de Função - APF Usuário: pessoa ou coisa que se comunique ou interaja com o sistema a qualquer momento. 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. Exemplo: É uma descrição das funções do negócio É aprovada pelo usuário Pode ser usada para contar pontos de função 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)
  • 51.
  • 52. Se os documentos apresentados não estiverem conforme o checklist, o sistema não pode apresentar a tela de cadastro de pessoa.
  • 53.
  • 54. Requisitos do Usuário Análise de Ponto de Função - APF APF Funcionalidades Software Necessidades do usuário Tecnologia Qualidade
  • 55. Determinar a fronteira da aplicação Análise de Ponto de Função - APF A fronteira é uma interface conceitual entre a aplicação em estudo e seus usuários. A fronteira: Define o que é externo a aplicação Indica a fronteira entre o software sendo contado e o usuário Funciona como uma membrana pela qual os dados processados pelas transações (EE, SE e CE) passam para dentro e fora da aplicação Inclui os Arquivos Lógicos Internos (ALI) mantidos pela aplicação Auxilia na identificação dos Arquivos Referenciados (AIE), mas não mantidos pela aplicação Depende da visão de negócio do usuário da aplicação. É independente da tecnologia de implementação
  • 56. Exemplo de Posicionamento de Fronteira Análise de Ponto de Função - APF Exemplo A: Sistema de Folha de Pagamento Sistema de Recursos Humanos Exemplo B: Sistema de Gestão de Recursos Humanos Módulo de Recrutamento e Seleção Módulo de Plano de Saúde Módulo de Folha de Pagamento
  • 57. Regras para determinar a fronteira Análise de Ponto de Função - APF É determinada pela visão do usuário. Deve obedecer o que o usuário pode reconhecer e descrever 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 Uma fronteira já estabelecida numa aplicação sendo alterada não é influenciada pelo escopo da contagem Caso o escopo da contagem envolva mais de uma aplicação, as fronteiras entre as aplicações devem ser determinadas
  • 58. Análise de Ponto de Função - APF Estudo de Caso – Posicionamento de Fronteira 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. 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. 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. Segundo está configuração de processos qual seria a configuração de fronteiras para as aplicações citadas?
  • 59. Análise de Ponto de Função - APF Estudo de Caso – Posicionamento de Fronteira Usuário Setor de Faturamento Pedidos Clientes Faturamento referencia dados de pedidos cadastrados Faturamento referencia dados de clientes cadastrados Usuário Setor de Cadastro de Clientes Faturamento Usuário Setor de Cadastro de Pedidos
  • 60. Análise de Ponto de Função - APF Dicas para definição de Fronteira 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 Observe como os grupos de dados são mantidos Identificar por áreas funcionais, atribuindo os responsáveis por cara objeto de negócio (como entidades ou processos elementares) de uma área funcional Analise contagens anteriores, as fronteiras provavelmente serão as mesmas Entreviste os especialistas de cada área
  • 61. Análise de Ponto de Função - APF Prática de Conceitos A empresa “XPTO” possui um sistema informatizado que administra os seus gastos externos (Contas a Pagar). 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. 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.
  • 62. Propósito da Contagem: Identificar o tamanho de um sistema já existente, implementado e em produção. Tipo: Aplicação / Baseline Escopo: As funções que compõem o sistema de contas a pagar. Análise de Ponto de Função - APF Prática de Conceitos
  • 63. Análise de Ponto de Função - APF Prática de Conceitos 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. Para saber a viabilidade econômica, resolveu-se medir o tamanho funcional das funções atuais e estimar seu custo, caso fossem redesenhadas.
  • 64. Propósito da Contagem: Identificar o tamanho funcional de um módulo de software para compará-lo a outro software funcionalmente equivalente. Tipo: Aplicação / Baseline Escopo: As funções que serão substituídas pelo pacote de software. Análise de Ponto de Função - APF Prática de Conceitos
  • 65. Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
  • 66. Análise de Ponto de Função - APF Funções de Dados Representam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externos São definidas como Arquivos de Interface Interna (ALI) e Arquivos de Interface Externa (AIE)
  • 67. Análise de Ponto de Função - APF Funções de Dados Entrada Processamento Saída Arquivos Funções de Dados
  • 68. Análise de Ponto de Função - APF Definição de Arquivo para APF Não significa arquivo no sentido tradicional de processamento de dados Refere-se a um grupo de dados logicamente relacionados Não leva em consideração a implementação física desses grupos de dados
  • 69. Análise de Ponto de Função - APF Definição de ALI Grupo de dados ou informação de controle Logicamente relacionados Reconhecido pelo usuário Mantido dentro da fronteira da aplicação A intenção primária é armazenar dados mantidos através de um ou mais processos elementares da aplicação que está sendo contada.
  • 70. Análise de Ponto de Função - APF Definição de AIE Grupo de dados ou informação de controle Logicamente relacionados Reconhecido pelo usuário Referenciado pela aplicação Mantido dentro da fronteira de outra aplicação A intenção primária é armazenar dados referenciados através de um ou mais processos elementares da aplicação que está sendo contada. Um AIE contado para uma aplicação tem que ser um ALI em outra aplicação.
  • 71. Análise de Ponto de Função - APF Diferença entre ALI e AIE Um AIE não émantido pela aplicação que está sendo contada, enquanto que um ALI o é.
  • 72. Exemplo – Sistema de Reservas Análise de Ponto de Função - APF ALI ALI ALI AIE Para o sistema de Controle de Reservas Cliente, Reserva e Apartamento são ALI. E Funcionário é um AIE. Para o sistema de Pessoal Funcionário é um ALI.
  • 73. Análise de Ponto de Função - APF Definições de Termos Utilizados Processo Elementar Informações de controle Reconhecido pelo usuário Mantido
  • 74. Análise de Ponto de Função - APF Processo Elementar É a menor unidade de atividade significante para o usuário na aplicação. Tem que ser: Reconhecido pelo usuário Auto contido (auto suficiente ou independente) Ser uma operação completa Deixar o negócio da aplicação sendo contada em um estado consistente após ser concluído.
  • 75. Análise de Ponto de Função - APF Processo Elementar 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.
  • 76. Análise de Ponto de Função - APF Informações de Controle São dados utilizados pela aplicação para garantir a conformidade com os requisitos do negócio especificados pelo cliente Influenciam um processo elementar da aplicação que está sendo contada Especificam o que, quando ou como os dados serão processados Exemplo: Seleção de perfil Seleção de idioma Parâmetros de configuração – (Quando especificados pelo usuário)
  • 77. Análise de Ponto de Função - APF Reconhecido pelo Usuário É o entendimento comum entre usuário e técnicos sobre os requisitos dos processos de negócio É o consenso entre USUÁRIO e TÉCNICO É o resultado final da disciplina de requisitos
  • 78. Análise de Ponto de Função - APF Mantido É a habilidade de modificar dados através de um processo elementar Exemplo: Inserir Alterar Excluir Revisar Associar Criar ...
  • 79. Análise de Ponto de Função - APF Processo de contagem de Funções de Dados Identificar as Funções de Dados Classificar cada Função de Dados em ALI ou AIE Determinar a complexidade e contribuição de cada Função de Dados
  • 80. Análise de Ponto de Função - APF Regras de identificação de Funções de Dados Identificar todos os dados logicamente relacionados e reconhecidos pelo usuário que estejam no escopo da contagem Entidades independentes são consideradas grupos de dados lógicos separados Agrupar entidades dependes em um único grupo de dados Excluir todas as entidades consideradas Code Data (Dado de Código) Excluir toda entidade que não contém atributos solicitados pelo usuário 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
  • 81. Análise de Ponto de Função - APF Regras de classificação de Funções de Dados Classifique como ALI se os dados do arquivo lógico forem mantidos dentro da fronteira da aplicação sendo contada Classifique como AIE se os dados do arquivo lógico: Forem referenciados, mas não mantidos, pela aplicação sendo contada Forem mantidos dentro da fronteira de outra aplicação Se a Função de Dados atender ambas as regras, classifique como ALI
  • 82. Análise de Ponto de Função - APF Regras de complexidade e contribuição de Funções de Dados A complexidade funcional de cada função de dados é determinada pela contagem dos: Tipos de Dados Elementares (DER) Tipos de Registros Elementares (RLR)
  • 83. Análise de Ponto de Função - APF Definição de DER É um campo único, reconhecido pelo usuário e não repetido. Se compararmos com a modelagem de dados seriam os atributos. Se o usuário não enxergar o campo existem grandes chances deste campo ter sido gerado por razões técnicas.
  • 84. Análise de Ponto de Função - APF Regras de DER 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. 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. Conte um DER para cada parte de dado requisitada pelo usuário para estabelecer um relacionamento com outro ALI ou AIE. 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.
  • 85. Análise de Ponto de Função - APF Definição de RLR É um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou AIE Existem dois tipo de subgrupos de dados: 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 Obrigatórios: são aqueles que o usuário deve sempre informar ao processo elementar que cria ou adiciona dados ao arquivo
  • 86. Análise de Ponto de Função - APF Regras de RLR Contar um RLR para cada Função de Dados identificada Contar um RLR adicional para cada um dos subgrupos de dados que contenham mais de um DER: Entidade associativa com atributos não-chave Sub-tipo (exceto o primeiro sub-tipo) Entidade atributiva, em uma relação que não seja obrigatório 1-1
  • 87. Análise de Ponto de Função - APF Complexidade Funcional para ALI e AIE
  • 88. Análise de Ponto de Função - APF Contribuição para ALI e AIE
  • 89. Análise de Ponto de Função - APF Exemplo de contagem de RLR 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. No cadastramento de um empregado podem ser incluídas informações a respeito de seus dependentes.
  • 90. Análise de Ponto de Função - APF Resultado do Exemplo No ALI empregado existem 3 RLR que são: As informações sobre o empregado - Obrigatório; Dados sobre pagamento - Obrigatório; Os dados relativos aos seus dependentes - Opcional. 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.
  • 91. Análise de Ponto de Função - APF Dicas para contagem de Funções de Dados Uma aplicação pode utilizar um ALI ou AIE diversas vezes, porém o ALI ou AIE é contado uma única vez. 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. Arquivos com mais de um tipo de registro indicam vários RLRs (Ex.: arquivos de transações). Tabelas dependentes geralmente são um RLR da tabela pai e não são contadas como funções de dados separadas. Verifique se o arquivo é mantido dentro da aplicação. Se for, sempre será um ALI. Arquivos de interface gerados em um aplicação não são contados como função de dados na aplicação que o gerou. Arquivos de help, mantidos fora da aplicação, são contados como AIE.
  • 92. Análise de Ponto de Função - APF Dicas para contagem de Funções de Dados Uma forte identificação de ser um RLR: 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. LEMBRAR DO CONCEITO DE ENTIDADE DEPENDENTE. Ex: Ordem de Serviço e Itens da Ordem de Serviço.
  • 93. Análise de Ponto de Função - APF Exercício – Funções de Dados 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. 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. 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. Segundo o usuário, é obrigatório que todos os cargos tenham suas respectivas descrições de atribuições para serem cadastrados.
  • 94. Análise de Ponto de Função - APF Exercício – Funções de Dados – MER
  • 95. Análise de Ponto de Função - APF Exercício – Funções de Dados – Arquivo de Funcionários ALI – 2RLR – 15DER – Baixa – 7 PF
  • 96. Análise de Ponto de Função - APF Exercício – Funções de Dados – Arquivo de Cargo ALI – 1RLR – 3DER – Baixa – 7 PF
  • 97. Análise de Ponto de Função - APF Exercício – Funções de Dados – Arquivo de Unidade AIE – 2RLR – 4DER – Baixa – 7 PF
  • 98. Análise de Ponto de Função - APF Exercício – Funções de Dados – Análise Final ALI – 2RLR – 15DER – Baixa – 7 PF ALI – 1RLR – 3DER – Baixa – 7 PF AIE – 2RLR – 4DER – Baixa – 7 PF
  • 99. Análise de Ponto de Função - APF Conceitos de Modelagem de Dados Entidade É um grupo de dados sobre o qual a informação é coletada (pessoa, lugares, coisas, eventos, etc.) Podem ser instanciadas É algo fundamental e relevante para o usuário manter um conjunto de informações Uma associação entre entidades pode conter seus próprios atributos Envolve informações ou representações de coisas similares, que compartilham características ou propriedades Entidade -> Arquivo lógico
  • 100. Análise de Ponto de Função - APF Conceitos de Modelagem de Dados Elemento de Dados (ou Data Item) Um componente fundamental da entidade Uma partícula atômica de informação no universo de negócios tratado pelo sistema (aplicação) A menor partícula de informação com sentido para o mundo real de negócios do usuário Linha, registro Grupo de dados relacionados, tratados como uma unidade Elemento de Dados -> DER Grupo de Dados -> RLR
  • 101. Análise de Ponto de Função - APF Tipos de Entidades – Negócio (bussiness data) 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. Exemplos: Funcionário Cargos Dependentes Fatura Itens de Fatura Contrato Aditivos de Contrato Clientes
  • 102. Análise de Ponto de Função - APF Características É obrigatório para a operação da área funcional do usuário É identificável e mantido pelo usuário de negócio Armazena o Dado Principal do usuário para apoiar as transações do negócio É 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 Como característica física possui campos de chave e geralmente muitos atributos, e pode conter de zero a infinitos registros Tipos de Entidades – Negócio (bussiness data)
  • 103. Análise de Ponto de Função - APF Tipos de Entidades – Referência (reference data) 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). Exemplos: FuncionárioCargos Funcionário Cargos Dependentes FaturaImpostos Fatura Itens de Fatura ContratoSaldo Devedor TxJuros Aditivos de Contrato Clientes
  • 104. Análise de Ponto de Função - APF Tipos de Entidades – Referência (reference data) Características É obrigatória para a área funcional do usuário É identificável pelo usuário Geralmente é mantida pelo usuário (geralmente usuário administrativo) Geralmente construída quando a aplicação é inicialmente implantada e é mantida intermitentemente Armazena os dados para apoiar as atividades principais do usuário É 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 Transações que processam dados de negócio frequentemente necessitam acessar os dado de referência 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
  • 105. Análise de Ponto de Função - APF Tipos de Entidades – Código Descrição (code data) 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. Exemplos: FuncionárioCargos Funcionário CargosTipoPag Dependentes FaturaImpostos Fatura Itens de Fatura ContratoSaldo Devedor TxJuros Aditivos de ContratoTipo de TxJuros Clientes
  • 106. Análise de Ponto de Função - APF Características O dado é obrigatório na área funcional, mas opcionalmente armazenado como um arquivo de dados Geralmente não é identificado como parte dos requisitos funcionais, mas como parte do desenho para alinhar-se aos requisitos técnicos É mantido algumas vezes pelo usuário (geralmente usuário de suporte) Armazena os dados para padronizar e facilitar as atividades do negócio e as transações do negócio. Tipos de Entidades – Código Descrição (code data)
  • 107. Análise de Ponto de Função - APF Características É essencialmente estático, ou seja, somente se altera com as mudanças decorrentes da operação do negócio 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.; 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. Tipos de Entidades – Código Descrição (code data)
  • 108. Análise de Ponto de Função - APF Outros exemplos: Situação Código da situação Descrição da situação Tipo de pagamento Código do tipo de pagamento Descrição do pagamento Dados de código ou dados de referência? UF Estado Civil Tipos de munição Marcas de armas Código das cores Tipos de Entidades – Código Descrição (code data)
  • 109. Análise de Ponto de Função - APF Dica importante Verifique se o dado foi requisitado pelo usuário e, portanto, é relevante para o negócio tratado pela aplicação Se ele nasceu em decorrência de uma atividade de análise / modelagem / projeto Tipos de Entidades
  • 110. Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
  • 111. Análise de Ponto de Função - APF Funções de Transação Funções de Transação Entrada Processamento Saída Arquivos Funções de Dados
  • 112. Análise de Ponto de Função - APF Funções de Transação É um processo elementar que fornece ao usuário a capacidade de processar dados Podem ser de três tipos: Entradas Externas (EE) Saídas Externas (SE) Consultas Externas (CE)
  • 113. Análise de Ponto de Função - APF Funções de Transação São fluxos de dados que devem obrigatoriamente cruzar a fronteira da aplicação sendo contada. 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto Produtos 1.3 Saldo de Produto
  • 114. Análise de Ponto de Função - APF Identificação das Funções de Transação A identificação dos tipos de Funções de Transação nem sempre é trivial por isso o IFPUG construiu a seguinte tabela.
  • 115. Análise de Ponto de Função - APF Definição de EE – Entrada Externa É um processo elementar no qual dados ou informação de controle atravessam a fronteira da aplicação de fora para dentro. A intenção primária de uma Entrada Externa é manter um ou mais ALI ou alterar o comportamento do sistema EE representam as atividades que CRIAM, ATUZALIZAM ou APAGAM dados ou processam INFORMAÇÃO DE CONTROLE Exemplo: 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. 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.
  • 116. Análise de Ponto de Função - APF Processo de Contagem de EE – Entrada Externa Identificar o processo elementar e verificar se ele se enquadra nas regras de Entrada Externa Determinar a complexidade funcional Determinar a contribuição em Pontos de Função
  • 117. Análise de Ponto de Função - APF Regras de identificação de EE – Entrada Externa 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). 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto EE Produtos 1.3 Saldo de Produto ALI
  • 118. Análise de Ponto de Função - APF Regras de identificação de EE – Entrada Externa Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita: A lógica de processamento é única e diferente de todas as outras entradas externas na aplicação sendo contada O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras entradas externas na aplicação sendo contada Os ALI mantidos e/ou referenciados e os AIE referenciados são diferentes dos usados por outras entradas externas UNICIDADE
  • 119. Análise de Ponto de Função - APF Exemplos de EE – Entrada Externa São Entradas Externas: Transações de entrada de dados que mantém um ALI Transações usadas para alterar o comportamento do sistema ou controlar seu fluxo de processamento (informação de controle) Cada processo elementar utilizando uma ou mais telas que mantém um ou mais ALI 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 Cada atividade de atualização (inserir, alterar ou excluir) poderá ser considerada como uma Entrada Externa, se fizerem parte de um processo elementar Funções de conversão de dados são contabilizadas como entradas externas dentro da contagem de um projeto de desenvolvimento ou manutenção
  • 120. Análise de Ponto de Função - APF Exemplos de não EE – Entrada Externa Não são Entradas Externas: Processos dentro da fronteira da aplicação para manter um arquivo sem que os dados cruzem a fronteira da aplicação Auxílios à navegação, menus estáticos Parâmetros de entrada que direcionam a recuperação de dados em uma consulta externa Múltiplos métodos para executar uma mesma lógica de uma entrada externa (batch e online) Respostas para uma mensagem que pedem uma confirmação do usuário para exclusão ou qualquer outra transação Dados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicação 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
  • 121. Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa São utilizados dois fatores: Dado Elementar Referenciado (DER) Arquivo Lógico Referenciado (ALR)
  • 122. Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa DER – Dado Elementar Referenciado É um campo único, não repetitivo, reconhecido pelo usuário Regras: 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 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 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 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.)
  • 123. Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa ALR – Arquivo Lógico Referenciado É um ALI lido ou mantido pela EE, ou um AIE lido pela EE. Regras: Contar um ALR para cada ALI mantido durante o processo elementar Contar um ALR para cada ALI ou AIE lido durante o processo elementar Contar somente um ALR para cada ALI que seja mantido e lido durante o processo elementar da EE
  • 124. Análise de Ponto de Função - APF Complexidade Funcional para EE – Entrada Externa
  • 125. Análise de Ponto de Função - APF Contribuição para EE – Entrada Externa
  • 126. Análise de Ponto de Função - APF Exemplo para EE – Entrada Externa 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. Empresa XPTO Sistema de Recursos Humanos Inclusão de Novo Funcionário 28/02/2010 21:06 Incluir 002/10 Informe o nº da Matrícula: Marcus de Paula Costa Nome: Rua 2 Casa 50, ACP DFL Endereço: Vila Planalto Brasília Bairro: Cidade: DF 71900300 UF: CEP: Imprimir Sair 61 8888-9900 Telefone: OBS: Todas as informações apresentadas são incluídas em um único ALI - Funcionário
  • 127. Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
  • 128. Análise de Ponto de Função - APF Definição de CE – Consulta Externa É um processo elementar que apresenta dados ou informações de controle para fora da fronteira da aplicação 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 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 Exemplo: O usuário solicitou a capacidade da aplicação de apresentar informações sobre funcionários, tais como estão armazenadas. Para APF existe 1 Consulta Externa, pois apresenta informação de funcionário aos usuários da aplicação.
  • 129. Análise de Ponto de Função - APF Regras de identificação de CE – Consulta Externa O processo elementar abaixo somente recupera dados de um ALI e apresenta ao usuário. 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto Produtos 1.3 Saldo de Produto CE ALI -> ALR
  • 130. Análise de Ponto de Função - APF Processo de Contagem de CE – Consulta Externa Identificar o processo elementar e verificar se ele se enquadra nas regras de Consulta Externa Determinar a complexidade funcional Determinar a contribuição em Pontos de Função
  • 131. Análise de Ponto de Função - APF Regras de identificação de CE – Consulta Externa Todas as regras abaixo devem ser satisfeitas: O processo elementar recupera dados ou informação de controle de um ALI ou AIE A lógica de processamento não contém cálculos A lógica de processamento não cria dados derivados A lógica de processamento não mantêm nenhum ALI A lógica de processamento não altera o comportamento do sistema
  • 132. Análise de Ponto de Função - APF Regras de identificação de CE – Consulta Externa Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita: A lógica de processamento é única e diferente de todas as outras consultas externas na aplicação sendo contada O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contada Os ALI ou AIE referenciados são diferentes dos usados por outras consultas externas UNICIDADE
  • 133. Análise de Ponto de Função - APF Exemplos de CE – Consulta Externa São Consultas Externas: Relatórios ou telas de apresentação de dados sem cálculos ou dados derivados Transferência de dados para outra aplicação, sem cálculos ou dados derivados Combo boxes ou telas auxiliares apresentando informações recuperadas de um ALI ou AIE Dados que são recuperados de um ou mais ALI e/ou AIE e apresentados com base em um critério de entrada Lista que o usuário clica ou aponta em uma tela para recuperação de dados
  • 134. Análise de Ponto de Função - APF Exemplos de CE – Consulta Externa Outros exemplos que são CE: 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. 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. UNICIDADE
  • 135. Análise de Ponto de Função - APF Exemplos de não CE – Consulta Externa Não são Consultas Externas: Menu de navegação com somente recursos de seleção de telas Telas de mensagem de erro DropDownlistbox que não acessem dados da aplicação (hardcoded) Mensagens que requeiram confirmação do usuário ou indiquem que o processo está sendo executado -> fazem parte do processo elementar sendo contado Dados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicação 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
  • 136. Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa São utilizados dois fatores: Dado Elementar Referenciado (DER) Arquivo Lógico Referenciado (ALR)
  • 137. Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa DER – Dado Elementar Referenciado É um campo único, não repetitivo, reconhecido pelo usuário Regras: 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 Contar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicação Se um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da CE 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 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.) Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema
  • 138. Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa ALR – Arquivo Lógico Referenciado É um ALI ou AIE lido pela CE. Regras: Contar um ALR para cada ALI lido durante o processo elementar Contar um ALR para cada AIE lido durante o processo elementar
  • 139. Análise de Ponto de Função - APF Complexidade Funcional para CE – Consulta Externa
  • 140. Análise de Ponto de Função - APF Contribuição para CE – Consulta Externa
  • 141. Análise de Ponto de Função - APF Exemplo para CE – Consulta Externa 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. Empresa XPTO Sistema de Recursos Humanos Consulta de Funcionário 28/02/2010 21:06 Pesquisar 002/10 Informe o nº da Matrícula: Marcus de Paula Costa Nome: Rua 2 Casa 50, ACP DFL Endereço: Vila Planalto Brasília Bairro: Cidade: DF 71900300 UF: CEP: 61 8888-9900 Telefone: Imprimir Sair OBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
  • 142. Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
  • 143. Análise de Ponto de Função - APF Definição de SE – Saída Externa É um processo elementar que apresenta dados ou informação de controle para fora da fronteira da aplicação 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 A lógica de processamento deve conter ao menos uma fórmula ou cálculo matemático ou criar dados derivados Uma Saída Externa pode também manter um ou mais ALIs ou alterar o comportamento do sistema Exemplo: 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. Para APF existe 1 Saída Externa, pois apresenta cálculo no relatório apresentado.
  • 144. Análise de Ponto de Função - APF Regras de identificação de SE – Saída Externa O processo elementar abaixo realiza um cálculo para apresentar o saldo de produtos para o usuário. 1.1 Fronteira da Aplicação Inserir Produto 1.2 Usuário Consultar Produto Produtos 1.3 Saldo de Produto ALI -> ALR SE
  • 145. Análise de Ponto de Função - APF Processo de Contagem de SE – Saída Externa Identificar o processo elementar e verificar se ele se enquadra nas regras de Saída Externa Determinar a complexidade funcional Determinar a contribuição em Pontos de Função
  • 146. Análise de Ponto de Função - APF Regras de identificação de SE – Saída Externa Pelo menos uma das regras abaixo devem ser satisfeitas para o processo elementar ser contado como uma Saída Externa (SE): A lógica de processamento contém ao menos um cálculo matemático A lógica de processamento cria dados derivados A lógica de processamento mantém ao menos um ALI A lógica de processamento altera o comportamento do sistema
  • 147. Análise de Ponto de Função - APF Regras de identificação de SE – Saída Externa Para o processo elementar identificado, pelo menos uma das três opções abaixo deve ser satisfeita: A lógica de processamento é única e diferente de todas as outras saídas externas na aplicação sendo contada O conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contada Os ALI ou AIE referenciados são diferentes dos usados por outras saídas externas UNICIDADE
  • 148. Análise de Ponto de Função - APF Exemplos de SE – Saída Externa São Saídas Externas: Relatórios ou telas de apresentação de dados com cálculos ou dados derivados Transferência de dados para outra aplicação, com cálculos ou dados derivados Funcionalidades de consulta que, ao serem executadas, fazem manutenção em ALI Gráfico exibidos (gráfico de barra, pizza, etc.) Etiquetas com código de barras Telas de logon
  • 149. Análise de Ponto de Função - APF Exemplos de não SE – Saída Externa Não são Saídas Externas: Menu de navegação com somente recursos de seleção de telas Telas de mensagem de erro, cancelamento ou confirmação de processamento 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 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
  • 150. Análise de Ponto de Função - APF Complexidade Funcional para SE – Saídas Externa São utilizados dois fatores: Dado Elementar Referenciado (DER) Arquivo Lógico Referenciado (ALR)
  • 151. Análise de Ponto de Função - APF Complexidade Funcional para SE – Saída Externa DER – Dado Elementar Referenciado É um campo único, não repetitivo, reconhecido pelo usuário Regras: 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 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 Contar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicação Se um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da SE 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 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.) Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema
  • 152. Análise de Ponto de Função - APF Complexidade Funcional para SE – Saída Externa ALR – Arquivo Lógico Referenciado É um ALI lido ou mantido ou AIE lido pela SE. Regras: Contar um ALR para cada ALI mantido durante o processo elementar Contar um ALR para cada ALI ou AIE lido durante o processo elementar Contar somente um ALR quando um ALI for mantido e lido pelo processo elementar da SE
  • 153. Análise de Ponto de Função - APF Complexidade Funcional para SE – Saída Externa
  • 154. Análise de Ponto de Função - APF Contribuição para SE – Saída Externa
  • 155. Análise de Ponto de Função - APF Exemplo para SE – Saída Externa 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. Empresa XPTO Sistema de Recursos Humanos Inclusão de Novo Funcionário 28/02/2010 21:06 Pesquisar 002/10 Informe o nº da Matrícula: Marcus de Paula Costa Nome: Rua 2 Casa 50, ACP DFL Endereço: Campo Calculado Pelo Sistema Vila Planalto Brasília Bairro: Cidade: DF 71900300 UF: CEP: 61 8888-9900 Telefone: Tempo de Casa: 2 anos e 60 dias Imprimir Sair OBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
  • 156. Análise de Ponto de Função - APF Lógicas de Processamento para EE, CE e SE
  • 157. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas ALI ALI ALI AIE Para o sistema de Controle de Reservas Cliente, Reserva e Apartamento são ALI. E Funcionário é um AIE. Para o sistema de Pessoal Funcionário é um ALI.
  • 158. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Regras Gerais 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) Considere também que todas as funcionalidades possuem mensagens que são emitidas para o usuário (CEM – Capacidade de Emitir Mensagem) A próxima tela apresenta a tela de inclusão de reserva no sistema
  • 159. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Registro de Reserva Número da Reserva: [ _ _ _ _ ] Matrícula do Funcionário: [ _ _ _ _ ] Código do Cliente: [ _ _ _ _ ] Data da Reserva: [ _ _ _ _ ] Período: Início: [ _ _ _ _ ] Fim: [ _ _ _ _ ] Tipo Apto: [ _ _ ] Pessoa: [ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ] Número Apartamento: [ _ _ _ _ ]
  • 160. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Regras de Validação para que a inclusão ocorra: Se a reserva já existe (o sistema deve verificar se já existe uma reserva com o número digitado) Verificar se o funcionário está cadastrado (é verificado no repositório de funcionário do sistema de Pessoal) Verificar se o cliente está cadastrado (é verificado no repositório de cliente) 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) Verificar se o apartamento existe (é verificado se o número do apartamento informado existe no repositório de apartamento)
  • 161. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas ALR Resultado: Arquivo de Reserva (é lido na validação se a reserva já existe e é gravado com os dados da reserva) Contar Somente um ALR, pois se trata de ALI lido e mantido durante o processo elementar. Arquivo de Funcionário (é lido para verificar se o funcionário existe) Contar um ALR, pois se trata de um AIE lido durante a execução do processo elementar Arquivo de Clientes (é lido para ver se o cliente informado já estava cadastrado) Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar Arquivo de Apartamento (é lido para verificar se o apartamento existe) Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar Para execução do Processo Elementar são utilizados 4 ALR
  • 162. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas DERs Resultado: Número da Reserva Matrícula do Funcionário Código do Cliente Data da Reserva Período Início Período Fim Tipo Apto Pessoa Número do Apartamento São utilizados 4 ALR e 9 DERs na Tela + 1 CCA + 1 CEM = 11 DER
  • 163. Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Qual a complexidade funcional desta EE de registro de Reservas? (Verifique na tabela de EE)
  • 164. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas A próxima tela é a alteração da reserva. Os dados foram obtidos a partir de uma consulta pelo código da reserva. Na tela tudo pode ser alterado menos o Código da Reserva e o Código do Cliente Caso seja necessário mudar um cliente de uma reserva é necessário excluir a reserva e criar uma nova para o novo cliente 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.
  • 165. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Alteração de Reserva Número da Reserva: [ 0023/2010 ] Matrícula do Funcionário: [ 34985 ] Código do Cliente: [ 34778 ] Data da Reserva: [ 01/03/2010 ] Período: Início: [ 05/03/2010 ] Fim: [ 10/03/2010 ] Tipo Apto: [ D ] Pessoa: [ Aderbal Luiz Imóveis – ALI ] Número Apartamento: [ 207 ]
  • 166. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas ALR Resultado: Arquivo de Reserva (é lido na validação se a reserva já existe e é gravado com os dados da reserva) Contar Somente um ALR, pois se trata de ALI lido e mantido durante o processo elementar. Arquivo de Funcionário (é lido para verificar se o funcionário existe) Contar um ALR, pois se trata de um AIE lido durante a execução do processo elementar Arquivo de Apartamento (é lido para verificar se o apartamento existe) Contar um ALR, pois se trata de um ALI lido durante a execução do processo elementar Para execução do Processo Elementar são utilizados 3 ALR
  • 167. Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF DERs Resultado: Número da Reserva Matrícula do Funcionário Código do Cliente Data da Reserva Período Início Período Fim Tipo Apto Pessoa Número do Apartamento Na tela são 9 DERs menos 1 DER do Código do Cliente = 8 + CCA + CEM = 10 DER O código da reserva é contado porque o sistema precisa localizar a reserva a ser alterada
  • 168. Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Qual a complexidade funcional desta EE de Alterar Reservas? (Verifique na tabela de EE)
  • 169. Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Exclusão de Reserva Número da Reserva: [ _ _ _ _ _ _ _ _ _ ] Matrícula do Funcionário: [ _ _ _ _ _ ]
  • 170. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Arquivos Referenciados Arquivo de Reservas Arquivo de Funcionário Regras de Validação Verificar se a reserva existe Verificar se o funcionário está cadastrado, pois somente funcionários cadastrados podem excluir reservas Faça a Contagem!!!
  • 171. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas O próximo exemplo é o relatório de reservas Desconsiderar os campos de filtro apenas considerar as informações do relatório O sistema apenas recupera as informações do repositório de reservas
  • 172. Estudo de Caso – Sistema de Reservas Análise de Ponto de Função - APF Relatório de Reservas Data 02/02/2010 Período Início Fim Nome /Sobrenome Tipo Apto SS 01/02/2010 10/03/2010 Aderbal Luiz Imóveis - ALI
  • 173. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Resultado: Apenas 1 ALR, pois todas as informações vem do repositório de reserva DERs: Nome e Sobrenome Tipo Apartamento Período início Período fim CCA CEM É 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.
  • 174.
  • 175. Arquivo de Apartamentos
  • 177.
  • 178. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Relatório de Ocupação no Período início: 02/02/2010 até 10/03/2010 Semana 05 a 11 12 a 18 19 a 25 Ocupação Apto SS 12 10 19 65% Apto CS 20 4 10 45% Apto SL 3 200 4 37% Apto CL 23 45 9 10% Apto VIP 234 4 78 80% Vazio 5 50 10 40% Arquivos Referenciados: - Reservas Regras: - A ocupação é calculada pela média aritmética das ocupações divididas pelo total de apartamentos disponíveis - Período é informado como parâmetro
  • 179. Análise de Ponto de Função - APF Estudo de Caso – Sistema de Reservas Resultado: ALR 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. DERs (Lembrando que DERs são informações reconhecidas pelo usuário): Data de Início Data de Fim Identificação da Semana Identificação do Tipo de Apartamento Coluna de totais por tipo de apartamento (6 DERs, um para cada coluna) Percentuais de ocupação por tipo de apartamento (6 DERs para cada total por tipo de apartamento) CCA CEM É uma Saída Externa, pois realizo cálculos. Resultado: 1 ALR / 18 DERs
  • 180. Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
  • 181. Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Formula para Projeto de Desenvolvimento Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo
  • 182. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Projeto de Desenvolvimento DFP = ADD + CFP ONDE: DFP – Pontos de Função do projeto de desenvolvimento ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto CFP – Tamanho funcional das funcionalidades de conversão de dados
  • 183. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Projeto de Desenvolvimento Funcionalidades identificadas no projeto: 2 ALI – Baixa = 14PF 1 AIE – Baixa = 5PF 10 EE – Média = 40PF 6 CE – Alta = 36PF 4 SE – Média = 20PF 5 EE – Baixa = 15PF (Conversão de Dados) DFP = ADD + CFP DFP = (14+5+40+36+20) + 15 => 130PF
  • 184. Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Formula para Iniciar a Contagem da Aplicação Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo
  • 185. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Iniciar a contagem da aplicação após um projeto de desenvolvimento AFP = ADD ONDE: AFP – Pontos de Função da aplicação ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto Não utiliza o tamanho funcional das funções para Conversão de Dados identificadas no Projeto de Desenvolvimento!!!
  • 186. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Iniciar a contagem da aplicação após um projeto de desenvolvimento Funcionalidades identificadas no projeto de desenvolvimento: 2 ALI – Baixa = 14PF 1 AIE – Baixa = 5PF 10 EE – Média = 40PF 6 CE – Alta = 36PF 4 SE – Média = 20PF 5 EE – Baixa = 15PF (Conversão de Dados não são levadas em consideração) AFP = ADD AFP = (14+5+40+36+20) => 115PF
  • 187. Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo Formula para Projeto de Melhoria
  • 188. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Projeto de Melhoria EFP = ADD + CHGA + DEL + CFP ONDE: EFP – Pontos de Função do projeto de melhoria ADD – Tamanho funcional das funcionalidades adicionadas à aplicação CHGA – Tamanho funcional das funcionalidades alteradas após o projeto de melhoria DEL – Tamanho funcional das funcionalidades removidas da aplicação CFP – Tamanho funcional das funcionalidades de conversão de dados
  • 189. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Projeto de Melhoria Funcionalidades identificadas no projeto: 1 AIE – Baixa = 5PF (Alterado Depois) 3 EE – Média = 12PF (Adicionados) 1 CE – Alta = 3PF (Excluído) 1 EE – Baixa = 3PF (Conversão de Dados) EFP = ADD + CHGA + DEL + CFP EFP = (12) + (5) + (3) + (3) => 23PF
  • 190. Análise de Ponto de Função - APF Relacionamento entre os tipos de contagem Contagem Estimada Projeto de Desenvolvimento Projeto A Contagem Final Projeto de Desenvolvimento Projeto A Projeto Completo Inicializa Contagem da Aplicação/Baseline Contagem Estimada Projeto de Melhoria Projeto B Contagem Final Projeto de Melhoria Projeto B Atualiza Projeto Completo Formula para Atualizar contagem da Aplicação após Projeto de Melhoria
  • 191. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Atualizar a contagem da aplicação após um projeto de melhoria AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL) ONDE: AFP – Pontos de Função da aplicação depois do projeto de melhoria ADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projeto CHGA – Tamanho funcional das funcionalidades alteradas depois do projeto de melhoria CHGB – Tamanho funcional das funcionalidades alteradas antes do projeto de melhoria DEL – Tamanho funcional das funcionalidades excluídas no projeto de melhoria
  • 192. Análise de Ponto de Função - APF Calcular o Tamanho Funcional Exemplo: Atualizar a contagem da aplicação após um projeto de melhoria Tamanho funcional da aplicação antes do projeto de melhoria: 115PF Funcionalidades identificadas no projeto: 1 AIE – Média = 7PF (Alterado Antes) 1 AIE – Baixa = 5PF (Alterado Depois) 3 EE – Média = 12PF (Adicionados) 1 CE – Alta = 3PF (Excluído) 1 EE – Baixa = 3PF (Conversão de Dados) AFPA = (AFPB + ADD + CHGA) – (CHGB + DEL) AFPA = (115 + 12 + 5) – (7 + 3) => 132 – 10 => 122PF
  • 193. Análise de Ponto de Função - APF Visão Geral da APF APF Reunir documentação Propósito, Tipo, Escopo e Fronteira Contar Funções Transacionais Contar Funções de Dados ALI AIE EE CE SE Calcular Tamanho Funcional Documentar e Reportar
  • 194. Análise de Ponto de Função - APF Reportar o Resultado da Contagem Deve ser apresentado um relatório de contagem O tamanho funcional deve ser apresentado da seguinte maneira S PF (IFPUG-IS) Onde: S – O resultado da contagem PF – É a unidade de tamanho conforme o método IFPUG FSM IS – É o padrão internacional (ISO/IEC 20926:200x) Exemplo: 250 PF (IFPUG-ISO/IEC 20926:2009)
  • 195. Análise de Ponto de Função - APF Reportar o Resultado da Contagem O tamanho funcional que utilizar um guia local customizado com base na método do IFPUG deve ser apresentado da seguinte forma: S PF (IFPUG-IS-c) Onde: S – O resultado da contagem PF – É a unidade de tamanho conforme o método IFPUG FSM IS – É o padrão internacional (ISO/IEC 20926:200x) c – Caractere que informa que o resultado não é totalmente aderente à técnica. Exemplo: 250 PF (IFPUG-ISO/IEC 20926:2009-a)
  • 196. Análise de Ponto de Função - APF FIM Muito Obrigado
  • 197. Análise de Ponto de Função - APF Referências IFPUG CountingPratices Manual – Version 4.3 – Janeiro de 2010 IFPUG Framework for Functional Sizing - Version 1.0 BFPUG – http://www.bfpug.com.br Análise de pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software – Carlos Vazquez, GuilhermeSimões e Renato Albert