Métrica de SoftwareAnálise de Pontos de Função
Plano de EnsinoObjetivoCapacitar 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úblicoDesenvolvedores: 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 softwareAnalistas de negóciosGerentes de projetosGestores de TIInteressados na certificação CFPS – CertifiedFunctionPointSpecialist (segundo semestre de 2010)Gestores e usuários. Plano de Ensino
PlanejamentoPlano de EnsinoAula 1ApresentaçãoMétrica de softwareAula 2Introdução da técnica, propósito, tipo e escopo da contagemExemplos e exercíciosAula 3Medir funções de dadosExemplos e exercíciosAula 4Medir funções de transaçõesExemplos e exercíciosAula 5Calcular o tamanho funcionalExemplos e exercícios
MetodologiaPlano de EnsinoAulas expositivas e discussão na aplicação da técnica ApresentaçãoExemplos, exercícios e dinâmicas de grupo baseadas em situações reais que promovam a interação entre alunos e instrutor.
ApresentaçãoPlano de EnsinoAlunoAtuaçãoExpectativaContatos
InstrutorPlano de EnsinoMarcus de Paula CostaCFPSExperiência de 2 anos em APFExperiência de 6 anos em desenvolvimento de softwareCoordenador de Medição e AnáliseContato: marcus.itacanet@gmail.comSite: http://www.marcuscosta.com.brTelefone: +55 61 8401-2483
Por que medir software?
Por que medir software?EnqueteQuantos 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?ContextoDesenvolvimento de SoftwareQualidade, prazo e custoMaturidadeMétricas
ContextoPor 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çãoPor 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çãoPor 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 ControlePor 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 ControlePor 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 ControlePor 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 GovernoPor 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.MPSANACBanco do BrasilCaixa EconômicaIBAMABACEN
Contratos da Iniciativa PrivadaPor que medir software?A indústria e comércio de forma geral também acompanham essa tendência, não só Governos.PoliedroPolitecCTISDBAEDSIBM
ComparaçãoPor 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çãoEntenderControlarProcessos, Produtos e Serviços de SoftwareAvaliarPrever
Por que medir software?MotivosEntender e aperfeiçoar o processo de desenvolvimentoMelhorar a gerência de projetos e o relacionamento com clientesReduzir frustrações e pressões de cronogramaGerenciar contratos de softwareIndicar a qualidade de um produto de softwareAvaliar a produtividade do processoAvaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de softwareAvaliar retorno de investimento
Por que medir software?MotivosIdentificar as melhores práticas de desenvolvimento de softwareEmbasar solicitações de novas ferramentas e treinamentoAvaliar o impacto da variação de um ou mais atributos do produto ou do processo na qualidade e/ou produtividadeFormar uma baseline para estimativasMelhorar a exatidão das estimativasOferecer 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étricasO 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 empresaEstabelecer perguntas que atendam aos objetivos identificadosVerificar qual a métrica a ser utilizada para responder as questões
Por que medir software?Framework de MediçãoDefinir e Implantar Processo de MediçãoUtilizar Ferramentas de QualidadeDados Históricos de ProjetosPromover a Melhoria ContínuaDefinir Indicadores
Plano de Medição e AnálisePor que medir software?Plano de levantamento e análise de indicadores em uma organização, de acordo com as necessidades estratégicas da empresaExemplo de indicadores:ProdutividadeDensidade dos defeitosMudanças no EsforçoVariação nos cronogramasVariação dos custosCusto da qualidade
Exemplos de IndicadoresIndicador de produtividadeIndicador de custoIndicador de esforçoPor que medir software?Produtividade = Produto de Trabalho/Esforço de TrabalhoCUSTO = $/PFESFORÇO = PF/Pessoa-Mês
Modelos de EstimativasBaseado em AnalogiasOpiniões de especialistas e Bases HistóricasBaseado em AtividadesHierarquia de atividades – Ex. EAP (Estrutura Analítica do Projeto)Relação simples de estimativasEsforço = Produtividade x TamanhoModelos ParamétricosCOCOMOPor que medir software?
Do tamanho para o esforçoPor que medir software?Tamanho dos RequisitosEficácia da TecnologiaTamanho FuncionalTamanho do ProdutoFerramentasTamanho TécnicoPadrõesCusto do ProjetoPodemos 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çoValor da HoraOutros Custos
Ingredientes para uma boa estimativaO escopo da atividadeO ambienteExperiência da equipeFerramentasAprender com experiências passadas Por que medir software?
Experiência da EquipeHabilidade para entender claramente o escopoExperiência na Plataforma de desenvolvimentoGerente experienteQualidade dos Processos Competência da Equipe de TestesPor que medir software?
Estimativas EficientesCada 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 ErradasIgnorar o passado – Dados HistóricosOtimismo para agradar Incerteza nos requisitosPressão GerencialEquipe de estimativas não qualificadaOrçamento irrealPor que medir software?
Análise de Pontos de Função
Histórico1979 Allan Albrecht (IBM) cria as primeiras regras da APF1983 Primeiro curso de APF no Brasil (Unisys)1984 Primeiro manual de APF1986 Criação da primeira diretoria do IFPUG1996 Primeiro exame CFPS no Brasil1998 Criação do BFPUG2004 CFPS no Brasil = 2002007 CPM (Manual de Práticas de Contagem) versão 4.2.1 em português2010 CPM versão 4.3Análise de Ponto de Função - APF
AplicaçãoSuporte a análise de QUALIDADE e PRODUTIVIDADEEstimar CUSTOS e RECURSOS necessários para o desenvolvimento e manutenção de softwareFator de NORMALIZAÇÃO para a comparação de softwareDeterminar o TAMANHO DE UM PACOTE de software adquirido pela empresaAjudar a DEFINIR O BENEFÍCIO de um pacote de software para um determinado grupo de usuáriosAnálise de Ponto de Função - APF
ObjetivosAnálise de Ponto de Função - APFMedir 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écnicaSuficientemente simples para minimizar a sobrecarga no processo de medição.Uma medida consistente entre os vários projetos e organizações.Processo
Referências NormativasISO/IEC 14143-1:1998 – Medição de Tamanho Funcional de SoftwareO 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 ContagemAnálise de Ponto de Função - APFContar funções de dadosDeterminar o escopo, as fronteiras e identificar as necessidades funcionais do usuárioCalcular o tamanho funcionalDocumentar e ReportarReunir a documentação disponívelContar funções de transação
Reunir a documentação disponívelDeve oferecer suporte a contagemDeve descrever as funcionalidades impactadas pelo projetoTer acesso a especialistas aos quais poderão corrigir eventuais falhas na documentaçãoExemplo: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 contagemUma contagem deve prover uma resposta a um problema do negócioEstimar 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 contagemInfluencia 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 contagemDesenvolvimentoMelhoriaAplicação/BaselineAnálise de Ponto de Função - APF
Análise de Ponto de Função - APFDeterminar o tipo de contagem - DesenvolvimentoQuantifica 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 CustomizadasConversão de dadosTamanho do Projeto de Desenvolvimento
Análise de Ponto de Função - APFDeterminar o tipo de contagem - MelhoriaMede 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 AdicionadasConversão de dadosFuncionalidades AlteradasFuncionalidades ExcluídasTamanho do Projeto de Melhoria
Análise de Ponto de Função - APFDeterminar o tipo de contagem – Aplicação/BaselineDimensiona o tamanho real de uma aplicação instalada, representando as funcionalidades oferecidas ao usuário.Funcionalidades DisponíveisTamanho da Aplicação
Tipos de ManutençãoAnálise de Ponto de Função - APFCorretivaDefeitos ou não conformidades.AdaptativaResposta às modificações dos requisitos em um momento em que partes do produto já foram instaladas. Mudança na funcionalidade.Perfectiva /Manutenção PreventivaMudanças  no ambiente sem alteração na funcionalidade.
Análise de Ponto de Função - APFRelacionamento entre os tipos de contagemContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto Completo
Determinar o escopo da contagemAnálise de Ponto de Função - APFO 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 medidoIdentifica quais funcionalidades serão incluídas na contagemPode incluir mais de uma aplicação ou parte de uma aplicação
Escopo X Tipo de ContagemAnálise de Ponto de Função - APFDesenvolvimento: 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 incluirTodas as funções usadas pelo usuárioTodas as funções entregues
DefiniçõesAnálise de Ponto de Função - APFUsuá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árioPode ser usada para contar pontos de funçãoPode 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 RequisitosAnálise de Ponto de Função - APFPossíveis Requisitos: O sistema precisa manter informações do checklist de documentação.
 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.DefiniçõesAnálise de Ponto de Função - APFO que é uma funcionalidade ?É uma FunçãoPode ser um ServiçoPode ser uma Capacidade necessitada por um usuário para resolver um problema ou atingir um objetivoAlgo Visto, Tangível, com sentido tanto para usuários quanto para desenvolvedores que trabalhando em conjunto produzem um determinado resultado.Ex1: Cadastrar um correntista Ex2: Cadastrar um correntista em 5 segundo  ( é uma característica tecnológica , sendo assim não é um requisito funcional).
Requisitos do UsuárioAnálise de Ponto de Função - APFAPFFuncionalidadesSoftwareNecessidades do usuárioTecnologiaQualidade
Determinar a fronteira da aplicaçãoAnálise de Ponto de Função - APFA fronteira é uma interface conceitual entre a aplicação em estudo e seus usuários.A fronteira:Define o que é externo a aplicaçãoIndica a fronteira entre o software sendo contado e o usuárioFunciona como uma membrana pela qual os dados processados pelas transações (EE, SE e CE) passam para dentro e fora da aplicaçãoInclui os Arquivos Lógicos Internos (ALI) mantidos pela aplicaçãoAuxilia na identificação dos Arquivos Referenciados (AIE), mas não mantidos pela aplicaçãoDepende da visão de negócio do usuário da aplicação. É independente da tecnologia de implementação
Exemplo de Posicionamento de FronteiraAnálise de Ponto de Função - APFExemplo A:Sistema de Folha de PagamentoSistema de Recursos HumanosExemplo B:Sistema de Gestão de Recursos HumanosMódulo de Recrutamento e SeleçãoMódulo de Plano de SaúdeMódulo de Folha de Pagamento
Regras para determinar a fronteiraAnálise de Ponto de Função - APFÉ determinada pela visão do usuário. Deve obedecer o que o usuário pode reconhecer e descreverA 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ógicaUma fronteira já estabelecida numa aplicação sendo alterada não é influenciada pelo escopo da contagemCaso 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 - APFEstudo de Caso – Posicionamento de FronteiraUma 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 - APFEstudo de Caso – Posicionamento de FronteiraUsuárioSetor de FaturamentoPedidosClientesFaturamento referencia dados de pedidos cadastradosFaturamento referencia dados de clientes cadastradosUsuárioSetor de Cadastro de ClientesFaturamentoUsuárioSetor de Cadastro de Pedidos
Análise de Ponto de Função - APFDicas para definição de FronteiraUtilize 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 externasObserve como os grupos de dados são mantidosIdentificar por áreas funcionais, atribuindo os responsáveis por cara objeto de negócio (como entidades ou processos elementares) de uma área funcionalAnalise contagens anteriores, as fronteiras provavelmente serão as mesmasEntreviste os especialistas de cada área
Análise de Ponto de Função - APFPrática de ConceitosA 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 / BaselineEscopo:As funções que compõem o sistema de contas a pagar.Análise de Ponto de Função - APFPrática de Conceitos
Análise de Ponto de Função - APFPrática de ConceitosUm 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 / BaselineEscopo:As funções que serão substituídas pelo pacote de software.Análise de Ponto de Função - APFPrática de Conceitos
Análise de Ponto de Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
Análise de Ponto de Função - APFFunções de DadosRepresentam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externosSão definidas como Arquivos de Interface Interna (ALI) e Arquivos de Interface Externa (AIE)
Análise de Ponto de Função - APFFunções de DadosEntradaProcessamentoSaídaArquivosFunções de Dados
Análise de Ponto de Função - APFDefinição de Arquivo para APFNão significa arquivo no sentido tradicional de processamento de dadosRefere-se a um grupo de dados logicamente relacionadosNão leva em consideração a implementação física desses grupos de dados
Análise de Ponto de Função - APFDefinição de ALIGrupo de dados ou informação de controleLogicamente relacionadosReconhecido pelo usuárioMantido dentro da fronteira da aplicaçãoA 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 - APFDefinição de AIEGrupo de dados ou informação de controleLogicamente relacionadosReconhecido pelo usuárioReferenciado pela aplicaçãoMantido dentro da fronteira de outra aplicaçãoA 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 - APFDiferença entre ALI e AIEUm AIE não émantido pela aplicação que está sendo contada, enquanto que um ALI o é.
Exemplo – Sistema de ReservasAnálise de Ponto de Função - APFALIALIALIAIEPara 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 - APFDefinições de Termos UtilizadosProcesso ElementarInformações de controleReconhecido pelo usuárioMantido
Análise de Ponto de Função - APFProcesso ElementarÉ a menor unidade de atividade significante para o usuário na aplicação.Tem que ser:Reconhecido pelo usuárioAuto contido (auto suficiente ou independente)Ser uma operação completaDeixar o negócio da aplicação sendo contada em um estado consistente após ser concluído.
Análise de Ponto de Função - APFProcesso ElementarExemplo: 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 - APFInformações de ControleSão dados utilizados pela aplicação para garantir a conformidade com os requisitos do negócio especificados pelo clienteInfluenciam um processo elementar da aplicação que está sendo contadaEspecificam o que, quando ou como os dados serão processadosExemplo:Seleção de perfilSeleção de idiomaParâmetros de configuração – (Quando especificados pelo usuário)
Análise de Ponto de Função - APFReconhecido 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 - APFMantidoÉ a habilidade de modificar dados através de um processo elementarExemplo:InserirAlterarExcluirRevisarAssociarCriar...
Análise de Ponto de Função - APFProcesso de contagem de Funções de DadosIdentificar as Funções de DadosClassificar cada Função de Dados em ALI ou AIEDeterminar a complexidade e contribuição de cada Função de Dados
Análise de Ponto de Função - APFRegras de identificação de Funções de DadosIdentificar todos os dados logicamente relacionados e reconhecidos pelo usuário que estejam no escopo da contagemEntidades independentes são consideradas grupos de dados lógicos separadosAgrupar entidades dependes em um único grupo de dadosExcluir todas as entidades consideradas Code Data (Dado de Código)Excluir toda entidade que não contém atributos solicitados pelo usuárioRemover 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 - APFRegras de classificação de Funções de DadosClassifique como ALI se os dados do arquivo lógico forem mantidos dentro da fronteira da aplicação sendo contadaClassifique como AIE se os dados do arquivo lógico:Forem referenciados, mas não mantidos, pela aplicação sendo contadaForem mantidos dentro da fronteira de outra aplicaçãoSe a Função de Dados atender ambas as regras, classifique como ALI
Análise de Ponto de Função - APFRegras de complexidade e contribuição de Funções de DadosA 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 - APFDefiniçã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 - APFRegras de DERConte 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 - APFDefinição de RLRÉ um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou AIEExistem 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 arquivoObrigató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 - APFRegras de RLRContar um RLR para cada Função de Dados identificadaContar um RLR adicional para cada um dos subgrupos de dados que contenham mais de um DER:Entidade associativa com atributos não-chaveSub-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 - APFComplexidade Funcional para ALI e AIE
Análise de Ponto de Função - APFContribuição para ALI e AIE
Análise de Ponto de Função - APFExemplo de contagem de RLREm 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 - APFResultado do ExemploNo 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 - APFDicas 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 - APFDicas para contagem de Funções de DadosUma 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 - APFExercício – Funções de DadosEm 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 - APFExercício – Funções de Dados – MER
Análise de Ponto de Função - APFExercício – Funções de Dados – Arquivo de FuncionáriosALI – 2RLR – 15DER – Baixa – 7 PF
Análise de Ponto de Função - APFExercício – Funções de Dados – Arquivo de CargoALI – 1RLR – 3DER – Baixa – 7 PF
Análise de Ponto de Função - APFExercício – Funções de Dados – Arquivo de UnidadeAIE – 2RLR – 4DER – Baixa – 7 PF
Análise de Ponto de Função - APFExercício – Funções de Dados – Análise FinalALI – 2RLR – 15DER – Baixa – 7 PFALI – 1RLR – 3DER – Baixa – 7 PFAIE – 2RLR – 4DER – Baixa – 7 PF
Análise de Ponto de Função - APFConceitos de Modelagem de DadosEntidadeÉ 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çõesUma associação entre entidades pode conter seus próprios atributosEnvolve informações ou representações de coisas similares, que compartilham características ou propriedadesEntidade -> Arquivo lógico
Análise de Ponto de Função - APFConceitos de Modelagem de DadosElemento de Dados (ou Data Item)Um componente fundamental da entidadeUma 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árioLinha, registroGrupo de dados relacionados, tratados como uma unidadeElemento de Dados -> DERGrupo de Dados -> RLR
Análise de Ponto de Função - APFTipos 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árioCargosDependentesFaturaItens de FaturaContratoAditivos de ContratoClientes
Análise de Ponto de Função - APFCaracterísticasÉ obrigatório para a operação da área funcional do usuárioÉ identificável e mantido pelo usuário de negócioArmazena 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ídoComo característica física possui campos de chave e geralmente muitos atributos, e pode conter de zero a infinitos registrosTipos de Entidades – Negócio (bussiness data)
Análise de Ponto de Função - APFTipos 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árioCargosDependentesFaturaImpostos FaturaItens de FaturaContratoSaldo Devedor	TxJurosAditivos de ContratoClientes
Análise de Ponto de Função - APFTipos de Entidades – Referência (reference data)CaracterísticasÉ obrigatória para a área funcional do usuárioÉ identificável pelo usuárioGeralmente é mantida pelo usuário (geralmente usuário administrativo)Geralmente construída quando a aplicação é inicialmente implantada e é mantida intermitentementeArmazena 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 negocioTransações que processam dados de negócio frequentemente necessitam acessar os dado de referênciaComo 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 - APFTipos 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árioCargosTipoPagDependentesFaturaImpostos FaturaItens de FaturaContratoSaldo Devedor	TxJurosAditivos de ContratoTipo de TxJurosClientes
Análise de Ponto de Função - APFCaracterísticasO dado é obrigatório na área funcional, mas opcionalmente armazenado como um arquivo de dadosGeralmente 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 - APFCaracterísticasÉ essencialmente estático, ou seja, somente se altera com as mudanças decorrentes da operação do negócioTransaçõ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 - APFOutros exemplos:SituaçãoCódigo da situaçãoDescrição da situaçãoTipo de pagamentoCódigo do tipo de pagamentoDescrição do pagamentoDados de código ou dados de referência?UFEstado CivilTipos de muniçãoMarcas de armasCódigo das coresTipos de Entidades – Código Descrição (code data)
Análise de Ponto de Função - APFDica importanteVerifique se o dado foi requisitado pelo usuário e, portanto, é relevante para o negócio tratado pela aplicaçãoSe ele nasceu em decorrência de uma atividade de análise / modelagem / projetoTipos de Entidades
Análise de Ponto de Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
Análise de Ponto de Função - APFFunções de TransaçãoFunções de TransaçãoEntradaProcessamentoSaídaArquivosFunções de Dados
Análise de Ponto de Função - APFFunções de TransaçãoÉ um processo elementar que fornece ao usuário a capacidade de processar dadosPodem ser de três tipos: Entradas Externas (EE)Saídas Externas (SE)Consultas Externas (CE)
Análise de Ponto de Função - APFFunções de TransaçãoSão fluxos de dados que devem obrigatoriamente cruzar a fronteira da aplicação sendo contada.1.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoProdutos1.3Saldo de Produto
Análise de Ponto de Função - APFIdentificação das Funções de TransaçãoA 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 - APFDefiniçã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 sistemaEE representam as atividades que CRIAM, ATUZALIZAM ou APAGAM dados ou processam INFORMAÇÃO DE CONTROLEExemplo: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 - APFProcesso de Contagem de EE – Entrada ExternaIdentificar o processo elementar e verificar se ele se enquadra nas regras de Entrada ExternaDeterminar a complexidade funcionalDeterminar a contribuição em Pontos de Função
Análise de Ponto de Função - APFRegras de identificação de EE – Entrada ExternaAo 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.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoEEProdutos1.3Saldo de ProdutoALI
Análise de Ponto de Função - APFRegras de identificação de EE – Entrada ExternaPara 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 contadaO conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras entradas externas na aplicação sendo contadaOs ALI mantidos e/ou referenciados e os AIE referenciados são diferentes dos usados por outras entradas externasUNICIDADE
Análise de Ponto de Função - APFExemplos de EE – Entrada ExternaSão Entradas Externas:Transações de entrada de dados que mantém um ALITransaçõ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 ALICada processo batch único que mantém um ou mais ALI, com dados ou informação de controle que cruzem a fronteira da aplicaçãoCada atividade de atualização (inserir, alterar ou excluir) poderá ser considerada como uma Entrada Externa, se fizerem parte de um processo elementarFunçõ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 - APFExemplos de não EE – Entrada ExternaNã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çãoAuxílios à navegação, menus estáticosParâmetros de entrada que direcionam a recuperação de dados em uma consulta externaMú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çãoDados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicaçãoDados 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 - APFComplexidade Funcional para EE – Entrada ExternaSão utilizados dois fatores:Dado Elementar Referenciado (DER)Arquivo Lógico Referenciado (ALR)
Análise de Ponto de Função - APFComplexidade Funcional para EE – Entrada ExternaDER – Dado Elementar ReferenciadoÉ um campo único, não repetitivo, reconhecido pelo usuárioRegras: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 ExternaNã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çãoDeve 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 continuarDeve 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 - APFComplexidade Funcional para EE – Entrada ExternaALR – 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 elementarContar um ALR para cada ALI ou AIE lido durante o processo elementarContar somente um ALR para cada ALI que seja mantido e lido durante o processo elementar da EE
Análise de Ponto de Função - APFComplexidade Funcional para EE – Entrada Externa
Análise de Ponto de Função - APFContribuição para EE – Entrada Externa
Análise de Ponto de Função - APFExemplo para EE – Entrada ExternaNa 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 XPTOSistema de Recursos HumanosInclusão de Novo Funcionário28/02/2010 21:06Incluir002/10Informe o nº da Matrícula: Marcus de Paula CostaNome: Rua 2 Casa 50, ACP DFLEndereço:Vila PlanaltoBrasíliaBairro:Cidade:DF71900300UF:CEP:ImprimirSair61 8888-9900Telefone:OBS: Todas as informações apresentadas são incluídas em um único ALI - Funcionário
Análise de Ponto de Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
Análise de Ponto de Função - APFDefinição de CE – Consulta ExternaÉ um processo elementar que apresenta dados ou informações de controle para fora da fronteira da aplicaçãoA 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 controleA 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 sistemaExemplo: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 - APFRegras de identificação de CE – Consulta ExternaO processo elementar abaixo somente recupera dados de um ALI e apresenta ao usuário.1.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoProdutos1.3Saldo de ProdutoCEALI -> ALR
Análise de Ponto de Função - APFProcesso de Contagem de CE – Consulta ExternaIdentificar o processo elementar e verificar se ele se enquadra nas regras de Consulta ExternaDeterminar a complexidade funcionalDeterminar a contribuição em Pontos de Função
Análise de Ponto de Função - APFRegras de identificação de CE – Consulta ExternaTodas as regras abaixo devem ser satisfeitas:O processo elementar recupera dados ou informação de controle de um ALI ou AIEA lógica de processamento não contém cálculosA lógica de processamento não cria dados derivadosA lógica de processamento não mantêm nenhum ALIA lógica de processamento não altera o comportamento do sistema
Análise de Ponto de Função - APFRegras de identificação de CE – Consulta ExternaPara 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 contadaO conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contadaOs ALI ou AIE referenciados são diferentes dos usados por outras consultas externasUNICIDADE
Análise de Ponto de Função - APFExemplos de CE – Consulta ExternaSão Consultas Externas:Relatórios ou telas de apresentação de dados sem cálculos ou dados derivadosTransferência de dados para outra aplicação, sem cálculos ou dados derivadosCombo boxes ou telas auxiliares apresentando informações recuperadas de um ALI ou AIEDados que são recuperados de um ou mais ALI e/ou AIE e apresentados com base em um critério de entradaLista que o usuário clica ou aponta em uma tela para recuperação de dados
Análise de Ponto de Função - APFExemplos de CE – Consulta ExternaOutros 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 - APFExemplos de não CE – Consulta ExternaNão são Consultas Externas:Menu de navegação com somente recursos de seleção de telasTelas de mensagem de erroDropDownlistbox 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 contadoDados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicaçãoDados 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 - APFComplexidade Funcional para CE – Consulta ExternaSão utilizados dois fatores:Dado Elementar Referenciado (DER)Arquivo Lógico Referenciado (ALR)
Análise de Ponto de Função - APFComplexidade Funcional para CE – Consulta ExternaDER – Dado Elementar ReferenciadoÉ um campo único, não repetitivo, reconhecido pelo usuárioRegras: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 elementarContar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicaçãoSe um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da CEDeve 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 continuarDeve 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 - APFComplexidade Funcional para CE – Consulta ExternaALR – Arquivo Lógico ReferenciadoÉ um ALI ou AIE lido pela CE.Regras:Contar um ALR para cada ALI lido durante o processo elementarContar um ALR para cada AIE lido durante o processo elementar
Análise de Ponto de Função - APFComplexidade Funcional para CE – Consulta Externa
Análise de Ponto de Função - APFContribuição para CE – Consulta Externa
Análise de Ponto de Função - APFExemplo para CE – Consulta ExternaNa 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 XPTOSistema de Recursos HumanosConsulta de Funcionário28/02/2010 21:06Pesquisar002/10Informe o nº da Matrícula: Marcus de Paula CostaNome: Rua 2 Casa 50, ACP DFLEndereço:Vila PlanaltoBrasíliaBairro:Cidade:DF71900300UF:CEP:61 8888-9900Telefone:ImprimirSairOBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
Análise de Ponto de Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
Análise de Ponto de Função - APFDefinição de SE – Saída ExternaÉ um processo elementar que apresenta dados ou informação de controle para fora da fronteira da aplicaçãoA 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 controleA lógica de processamento deve conter ao menos uma fórmula ou cálculo  matemático ou criar dados derivadosUma Saída Externa pode também manter um ou mais ALIs ou alterar o comportamento do sistemaExemplo: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 - APFRegras de identificação de SE – Saída ExternaO processo elementar abaixo realiza um cálculo para apresentar o saldo de produtos para o usuário.1.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoProdutos1.3Saldo de ProdutoALI -> ALRSE
Análise de Ponto de Função - APFProcesso de Contagem de SE – Saída ExternaIdentificar o processo elementar e verificar se ele se enquadra nas regras de Saída ExternaDeterminar a complexidade funcionalDeterminar a contribuição em Pontos de Função
Análise de Ponto de Função - APFRegras de identificação de SE – Saída ExternaPelo 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áticoA lógica de processamento cria dados derivadosA lógica de processamento mantém ao menos um ALIA lógica de processamento altera o comportamento do sistema
Análise de Ponto de Função - APFRegras de identificação de SE – Saída ExternaPara 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 contadaO conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contadaOs ALI ou AIE referenciados são diferentes dos usados por outras saídas externasUNICIDADE
Análise de Ponto de Função - APFExemplos de SE – Saída ExternaSão Saídas Externas:Relatórios ou telas de apresentação de dados com cálculos ou dados derivadosTransferência de dados para outra aplicação, com cálculos ou dados derivadosFuncionalidades de consulta que, ao serem executadas, fazem manutenção em ALIGráfico exibidos (gráfico de barra, pizza, etc.)Etiquetas com código de barrasTelas de logon
Análise de Ponto de Função - APFExemplos de não SE – Saída ExternaNão são Saídas Externas:Menu de navegação com somente recursos de seleção de telasTelas de mensagem de erro, cancelamento ou confirmação de processamentoRelató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ídaRelató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 - APFComplexidade Funcional para SE – Saídas ExternaSão utilizados dois fatores:Dado Elementar Referenciado (DER)Arquivo Lógico Referenciado (ALR)
Análise de Ponto de Função - APFComplexidade Funcional para SE – Saída ExternaDER – Dado Elementar ReferenciadoÉ um campo único, não repetitivo, reconhecido pelo usuárioRegras: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 elementarNã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çãoContar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicaçãoSe um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da SEDeve 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 continuarDeve 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 - APFComplexidade Funcional para SE – Saída ExternaALR – 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 elementarContar um ALR para cada ALI ou AIE lido durante o processo elementarContar somente um ALR quando um ALI for mantido e lido pelo processo elementar da SE
Análise de Ponto de Função - APFComplexidade Funcional para SE – Saída Externa
Análise de Ponto de Função - APFContribuição para SE – Saída Externa
Análise de Ponto de Função - APFExemplo para SE – Saída ExternaNa 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 XPTOSistema de Recursos HumanosInclusão de Novo Funcionário28/02/2010 21:06Pesquisar002/10Informe o nº da Matrícula: Marcus de Paula CostaNome: Rua 2 Casa 50, ACP DFLEndereço:Campo Calculado Pelo SistemaVila PlanaltoBrasíliaBairro:Cidade:DF71900300UF:CEP:61 8888-9900Telefone:Tempo de Casa:2 anos e 60 diasImprimirSairOBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
Análise de Ponto de Função - APFLógicas de Processamento para EE, CE e SE
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasALIALIALIAIEPara 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 - APFEstudo de Caso – Sistema de ReservasRegras GeraisEm 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 - APFEstudo de Caso – Sistema de ReservasRegistro de ReservaNú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 - APFEstudo de Caso – Sistema de ReservasRegras 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 - APFEstudo de Caso – Sistema de ReservasALR 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 elementarArquivo 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 elementarArquivo 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 elementarPara execução do Processo Elementar são utilizados 4 ALR
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasDERs Resultado:Número da ReservaMatrícula do FuncionárioCódigo do ClienteData da ReservaPeríodo InícioPeríodo FimTipo AptoPessoaNúmero do ApartamentoSão utilizados 4 ALR e 9 DERs na Tela + 1 CCA + 1 CEM = 11 DER
Estudo de Caso – Sistema de ReservasAnálise de Ponto de Função - APFQual a complexidade funcional desta EE de registro de Reservas? (Verifique na tabela de EE)
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasA 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 ClienteCaso seja necessário mudar um cliente de uma reserva é necessário excluir a reserva e criar uma nova para o novo clienteAs 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 - APFEstudo de Caso – Sistema de ReservasAlteração de ReservaNú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 - APFEstudo de Caso – Sistema de ReservasALR 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 elementarArquivo 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 elementarPara execução do Processo Elementar são utilizados 3 ALR
Estudo de Caso – Sistema de ReservasAnálise de Ponto de Função - APFDERs Resultado:Número da ReservaMatrícula do FuncionárioCódigo do ClienteData da ReservaPeríodo InícioPeríodo FimTipo AptoPessoaNúmero do ApartamentoNa tela são 9 DERs menos 1 DER do Código do Cliente = 8 + CCA + CEM = 10 DERO código da reserva é contado porque o sistema precisa localizar a reserva a ser alterada
Estudo de Caso – Sistema de ReservasAnálise de Ponto de Função - APFQual a complexidade funcional desta EE de Alterar Reservas? (Verifique na tabela de EE)
Estudo de Caso – Sistema de ReservasAnálise de Ponto de Função - APFExclusão de ReservaNúmero da Reserva: [ _ _ _ _ _ _ _ _ _ ]Matrícula do Funcionário: [ _ _ _ _ _ ]
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasArquivos ReferenciadosArquivo de ReservasArquivo de FuncionárioRegras de ValidaçãoVerificar se a reserva existeVerificar se o funcionário está cadastrado, pois somente funcionários cadastrados podem excluir reservasFaça a Contagem!!!
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasO próximo exemplo é o relatório de reservasDesconsiderar os campos de filtro apenas considerar as informações do relatórioO sistema apenas recupera as informações do repositório de reservas
Estudo de Caso – Sistema de ReservasAnálise de Ponto de Função - APFRelatório de Reservas               Data 02/02/2010PeríodoInício      FimNome /SobrenomeTipo AptoSS01/02/201010/03/2010Aderbal Luiz Imóveis - ALI
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasResultado:Apenas 1 ALR, pois todas as informações vem do repositório de reservaDERs:Nome e SobrenomeTipo ApartamentoPeríodo inícioPeríodo fimCCACEMÉ 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 - APFEstudo de Caso – Sistema de ReservasRelatório de Apartamentos     Data 02/02/2010NúmeroTipo AptoSSAderbal Luiz Imóveis - ALI Arquivo Referenciado
 Arquivo de Apartamentos
 Regras
 Relacionar todos os apartamentos cadastradosAnálise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasResultado de Apartamento:ALR = 1DERs = 4
Análise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasRelatório de Ocupação no Período início: 02/02/2010 até 10/03/2010Semana05 a 1112 a 1819 a 25OcupaçãoApto SS12101965%Apto CS2041045%Apto SL3200437%Apto CL2345910%Apto VIP23447880%Vazio5501040%Arquivos Referenciados:      - ReservasRegras:      - 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 - APFEstudo de Caso – Sistema de ReservasResultado:ALRSó 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ícioData de FimIdentificação da SemanaIdentificação do Tipo de ApartamentoColuna 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)CCACEMÉ uma Saída Externa, pois realizo cálculos.Resultado: 1 ALR / 18 DERs
Análise de Ponto de Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
Análise de Ponto de Função - APFRelacionamento entre os tipos de contagemFormula para Projeto de DesenvolvimentoContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto Completo
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalProjeto de DesenvolvimentoDFP = ADD + CFPONDE:DFP – Pontos de Função do projeto de desenvolvimentoADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projetoCFP – Tamanho funcional das funcionalidades de conversão de dados
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalExemplo: Projeto de DesenvolvimentoFuncionalidades 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 + CFPDFP = (14+5+40+36+20) + 15 => 130PF
Análise de Ponto de Função - APFRelacionamento entre os tipos de contagemFormula para Iniciar a Contagem da AplicaçãoContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto Completo
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalIniciar a contagem da aplicação após um projeto de desenvolvimentoAFP = ADDONDE:AFP – Pontos de Função da aplicaçãoADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projetoNã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 - APFCalcular o Tamanho FuncionalExemplo: Iniciar a contagem da aplicação após um projeto de desenvolvimentoFuncionalidades 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 = ADDAFP = (14+5+40+36+20) => 115PF
Análise de Ponto de Função - APFRelacionamento entre os tipos de contagemContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto CompletoFormula para Projeto de Melhoria
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalProjeto de MelhoriaEFP = ADD + CHGA + DEL + CFPONDE:EFP – Pontos de Função do projeto de melhoriaADD – Tamanho funcional das funcionalidades adicionadas à aplicaçãoCHGA – Tamanho funcional das funcionalidades alteradas após o projeto de melhoriaDEL – Tamanho funcional das funcionalidades removidas da aplicaçãoCFP – Tamanho funcional das funcionalidades de conversão de dados
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalExemplo: Projeto de MelhoriaFuncionalidades 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 + CFPEFP = (12) + (5) + (3) + (3) => 23PF
Análise de Ponto de Função - APFRelacionamento entre os tipos de contagemContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto CompletoFormula para Atualizar contagem da Aplicação após Projeto de Melhoria
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalAtualizar a contagem da aplicação após um projeto de melhoriaAFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)ONDE:AFP – Pontos de Função da aplicação depois do projeto de melhoriaADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projetoCHGA – Tamanho funcional das funcionalidades alteradas depois do projeto de melhoriaCHGB – Tamanho funcional das funcionalidades alteradas antes do projeto de melhoriaDEL – Tamanho funcional das funcionalidades excluídas no projeto de melhoria
Análise de Ponto de Função - APFCalcular o Tamanho FuncionalExemplo: Atualizar a contagem da aplicação após um projeto de melhoriaTamanho funcional da aplicação antes do projeto de melhoria:     115PFFuncionalidades 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 - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
Análise de Ponto de Função - APFReportar o Resultado da ContagemDeve ser apresentado um relatório de contagemO tamanho funcional deve ser apresentado da seguinte maneiraS 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)

Curso de APF - Básico

  • 1.
    Métrica de SoftwareAnálisede Pontos de Função
  • 2.
    Plano de EnsinoObjetivoCapacitaro 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úblicoDesenvolvedores: analistas desistemas, arquitetos, programadores, analistas de requisitos, analistas de testes, revisores de qualidade, mantenedores de software, documentadores e demais papeis associados ao desenvolvimento de softwareAnalistas de negóciosGerentes de projetosGestores de TIInteressados na certificação CFPS – CertifiedFunctionPointSpecialist (segundo semestre de 2010)Gestores e usuários. Plano de Ensino
  • 4.
    PlanejamentoPlano de EnsinoAula1ApresentaçãoMétrica de softwareAula 2Introdução da técnica, propósito, tipo e escopo da contagemExemplos e exercíciosAula 3Medir funções de dadosExemplos e exercíciosAula 4Medir funções de transaçõesExemplos e exercíciosAula 5Calcular o tamanho funcionalExemplos e exercícios
  • 5.
    MetodologiaPlano de EnsinoAulasexpositivas e discussão na aplicação da técnica ApresentaçãoExemplos, exercícios e dinâmicas de grupo baseadas em situações reais que promovam a interação entre alunos e instrutor.
  • 6.
  • 7.
    InstrutorPlano de EnsinoMarcusde Paula CostaCFPSExperiência de 2 anos em APFExperiência de 6 anos em desenvolvimento de softwareCoordenador de Medição e AnáliseContato: marcus.itacanet@gmail.comSite: http://www.marcuscosta.com.brTelefone: +55 61 8401-2483
  • 8.
    Por que medirsoftware?
  • 9.
    Por que medirsoftware?EnqueteQuantos 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 medirsoftware?ContextoDesenvolvimento de SoftwareQualidade, prazo e custoMaturidadeMétricas
  • 11.
    ContextoPor que medirsoftware?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çãoPor que medirsoftware?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çãoPor que medirsoftware?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 ControlePorque 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 ControlePorque 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 ControlePorque 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 GovernoPorque 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.MPSANACBanco do BrasilCaixa EconômicaIBAMABACEN
  • 18.
    Contratos da IniciativaPrivadaPor que medir software?A indústria e comércio de forma geral também acompanham essa tendência, não só Governos.PoliedroPolitecCTISDBAEDSIBM
  • 19.
    ComparaçãoPor que medirsoftware?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 medirsoftware?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 medirsoftware?Os quatro papéis da MediçãoEntenderControlarProcessos, Produtos e Serviços de SoftwareAvaliarPrever
  • 22.
    Por que medirsoftware?MotivosEntender e aperfeiçoar o processo de desenvolvimentoMelhorar a gerência de projetos e o relacionamento com clientesReduzir frustrações e pressões de cronogramaGerenciar contratos de softwareIndicar a qualidade de um produto de softwareAvaliar a produtividade do processoAvaliar os benefícios (em termos de produtividade e qualidade) de novos métodos e ferramentas de engenharia de softwareAvaliar retorno de investimento
  • 23.
    Por que medirsoftware?MotivosIdentificar as melhores práticas de desenvolvimento de softwareEmbasar solicitações de novas ferramentas e treinamentoAvaliar o impacto da variação de um ou mais atributos do produto ou do processo na qualidade e/ou produtividadeFormar uma baseline para estimativasMelhorar a exatidão das estimativasOferecer 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 medirsoftware?Definição de MétricasO 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 empresaEstabelecer perguntas que atendam aos objetivos identificadosVerificar qual a métrica a ser utilizada para responder as questões
  • 25.
    Por que medirsoftware?Framework de MediçãoDefinir e Implantar Processo de MediçãoUtilizar Ferramentas de QualidadeDados Históricos de ProjetosPromover a Melhoria ContínuaDefinir Indicadores
  • 26.
    Plano de Mediçãoe AnálisePor que medir software?Plano de levantamento e análise de indicadores em uma organização, de acordo com as necessidades estratégicas da empresaExemplo de indicadores:ProdutividadeDensidade dos defeitosMudanças no EsforçoVariação nos cronogramasVariação dos custosCusto da qualidade
  • 27.
    Exemplos de IndicadoresIndicadorde produtividadeIndicador de custoIndicador de esforçoPor que medir software?Produtividade = Produto de Trabalho/Esforço de TrabalhoCUSTO = $/PFESFORÇO = PF/Pessoa-Mês
  • 28.
    Modelos de EstimativasBaseadoem AnalogiasOpiniões de especialistas e Bases HistóricasBaseado em AtividadesHierarquia de atividades – Ex. EAP (Estrutura Analítica do Projeto)Relação simples de estimativasEsforço = Produtividade x TamanhoModelos ParamétricosCOCOMOPor que medir software?
  • 29.
    Do tamanho parao esforçoPor que medir software?Tamanho dos RequisitosEficácia da TecnologiaTamanho FuncionalTamanho do ProdutoFerramentasTamanho TécnicoPadrõesCusto do ProjetoPodemos 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çoValor da HoraOutros Custos
  • 30.
    Ingredientes para umaboa estimativaO escopo da atividadeO ambienteExperiência da equipeFerramentasAprender com experiências passadas Por que medir software?
  • 31.
    Experiência da EquipeHabilidadepara entender claramente o escopoExperiência na Plataforma de desenvolvimentoGerente experienteQualidade dos Processos Competência da Equipe de TestesPor que medir software?
  • 32.
    Estimativas EficientesCada projetonovo 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 ErradasIgnorar opassado – Dados HistóricosOtimismo para agradar Incerteza nos requisitosPressão GerencialEquipe de estimativas não qualificadaOrçamento irrealPor que medir software?
  • 34.
  • 35.
    Histórico1979 Allan Albrecht(IBM) cria as primeiras regras da APF1983 Primeiro curso de APF no Brasil (Unisys)1984 Primeiro manual de APF1986 Criação da primeira diretoria do IFPUG1996 Primeiro exame CFPS no Brasil1998 Criação do BFPUG2004 CFPS no Brasil = 2002007 CPM (Manual de Práticas de Contagem) versão 4.2.1 em português2010 CPM versão 4.3Análise de Ponto de Função - APF
  • 36.
    AplicaçãoSuporte a análisede QUALIDADE e PRODUTIVIDADEEstimar CUSTOS e RECURSOS necessários para o desenvolvimento e manutenção de softwareFator de NORMALIZAÇÃO para a comparação de softwareDeterminar o TAMANHO DE UM PACOTE de software adquirido pela empresaAjudar a DEFINIR O BENEFÍCIO de um pacote de software para um determinado grupo de usuáriosAnálise de Ponto de Função - APF
  • 37.
    ObjetivosAnálise de Pontode Função - APFMedir 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écnicaSuficientemente 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 NormativasISO/IEC 14143-1:1998– Medição de Tamanho Funcional de SoftwareO 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 ContagemAnálisede Ponto de Função - APFContar funções de dadosDeterminar o escopo, as fronteiras e identificar as necessidades funcionais do usuárioCalcular o tamanho funcionalDocumentar e ReportarReunir a documentação disponívelContar funções de transação
  • 40.
    Reunir a documentaçãodisponívelDeve oferecer suporte a contagemDeve descrever as funcionalidades impactadas pelo projetoTer acesso a especialistas aos quais poderão corrigir eventuais falhas na documentaçãoExemplo: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ósitoda contagemUma contagem deve prover uma resposta a um problema do negócioEstimar 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 contagemInfluencia 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 tipode contagemDesenvolvimentoMelhoriaAplicação/BaselineAnálise de Ponto de Função - APF
  • 43.
    Análise de Pontode Função - APFDeterminar o tipo de contagem - DesenvolvimentoQuantifica 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 CustomizadasConversão de dadosTamanho do Projeto de Desenvolvimento
  • 44.
    Análise de Pontode Função - APFDeterminar o tipo de contagem - MelhoriaMede 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 AdicionadasConversão de dadosFuncionalidades AlteradasFuncionalidades ExcluídasTamanho do Projeto de Melhoria
  • 45.
    Análise de Pontode Função - APFDeterminar o tipo de contagem – Aplicação/BaselineDimensiona o tamanho real de uma aplicação instalada, representando as funcionalidades oferecidas ao usuário.Funcionalidades DisponíveisTamanho da Aplicação
  • 46.
    Tipos de ManutençãoAnálisede Ponto de Função - APFCorretivaDefeitos ou não conformidades.AdaptativaResposta às modificações dos requisitos em um momento em que partes do produto já foram instaladas. Mudança na funcionalidade.Perfectiva /Manutenção PreventivaMudanças no ambiente sem alteração na funcionalidade.
  • 47.
    Análise de Pontode Função - APFRelacionamento entre os tipos de contagemContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto Completo
  • 48.
    Determinar o escopoda contagemAnálise de Ponto de Função - APFO 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 medidoIdentifica quais funcionalidades serão incluídas na contagemPode incluir mais de uma aplicação ou parte de uma aplicação
  • 49.
    Escopo X Tipode ContagemAnálise de Ponto de Função - APFDesenvolvimento: 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 incluirTodas as funções usadas pelo usuárioTodas as funções entregues
  • 50.
    DefiniçõesAnálise de Pontode Função - APFUsuá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árioPode ser usada para contar pontos de funçãoPode 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.
    Visão do Usuáriox RequisitosAnálise de Ponto de Função - APFPossíveis Requisitos: O sistema precisa manter informações do checklist de documentação.
  • 52.
    Se osdocumentos apresentados não estiverem conforme o checklist, o sistema não pode apresentar a tela de cadastro de pessoa.
  • 53.
    O sistemadeve manter informações de pessoa.DefiniçõesAnálise de Ponto de Função - APFO que é uma funcionalidade ?É uma FunçãoPode ser um ServiçoPode ser uma Capacidade necessitada por um usuário para resolver um problema ou atingir um objetivoAlgo Visto, Tangível, com sentido tanto para usuários quanto para desenvolvedores que trabalhando em conjunto produzem um determinado resultado.Ex1: Cadastrar um correntista Ex2: Cadastrar um correntista em 5 segundo ( é uma característica tecnológica , sendo assim não é um requisito funcional).
  • 54.
    Requisitos do UsuárioAnálisede Ponto de Função - APFAPFFuncionalidadesSoftwareNecessidades do usuárioTecnologiaQualidade
  • 55.
    Determinar a fronteirada aplicaçãoAnálise de Ponto de Função - APFA fronteira é uma interface conceitual entre a aplicação em estudo e seus usuários.A fronteira:Define o que é externo a aplicaçãoIndica a fronteira entre o software sendo contado e o usuárioFunciona como uma membrana pela qual os dados processados pelas transações (EE, SE e CE) passam para dentro e fora da aplicaçãoInclui os Arquivos Lógicos Internos (ALI) mantidos pela aplicaçãoAuxilia na identificação dos Arquivos Referenciados (AIE), mas não mantidos pela aplicaçãoDepende da visão de negócio do usuário da aplicação. É independente da tecnologia de implementação
  • 56.
    Exemplo de Posicionamentode FronteiraAnálise de Ponto de Função - APFExemplo A:Sistema de Folha de PagamentoSistema de Recursos HumanosExemplo B:Sistema de Gestão de Recursos HumanosMódulo de Recrutamento e SeleçãoMódulo de Plano de SaúdeMódulo de Folha de Pagamento
  • 57.
    Regras para determinara fronteiraAnálise de Ponto de Função - APFÉ determinada pela visão do usuário. Deve obedecer o que o usuário pode reconhecer e descreverA 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ógicaUma fronteira já estabelecida numa aplicação sendo alterada não é influenciada pelo escopo da contagemCaso o escopo da contagem envolva mais de uma aplicação, as fronteiras entre as aplicações devem ser determinadas
  • 58.
    Análise de Pontode Função - APFEstudo de Caso – Posicionamento de FronteiraUma 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 Pontode Função - APFEstudo de Caso – Posicionamento de FronteiraUsuárioSetor de FaturamentoPedidosClientesFaturamento referencia dados de pedidos cadastradosFaturamento referencia dados de clientes cadastradosUsuárioSetor de Cadastro de ClientesFaturamentoUsuárioSetor de Cadastro de Pedidos
  • 60.
    Análise de Pontode Função - APFDicas para definição de FronteiraUtilize 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 externasObserve como os grupos de dados são mantidosIdentificar por áreas funcionais, atribuindo os responsáveis por cara objeto de negócio (como entidades ou processos elementares) de uma área funcionalAnalise contagens anteriores, as fronteiras provavelmente serão as mesmasEntreviste os especialistas de cada área
  • 61.
    Análise de Pontode Função - APFPrática de ConceitosA 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:Identificaro tamanho de um sistema já existente, implementado e em produção.Tipo:Aplicação / BaselineEscopo:As funções que compõem o sistema de contas a pagar.Análise de Ponto de Função - APFPrática de Conceitos
  • 63.
    Análise de Pontode Função - APFPrática de ConceitosUm 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:Identificaro tamanho funcional de um módulo de software para compará-lo a outro software funcionalmente equivalente.Tipo:Aplicação / BaselineEscopo:As funções que serão substituídas pelo pacote de software.Análise de Ponto de Função - APFPrática de Conceitos
  • 65.
    Análise de Pontode Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
  • 66.
    Análise de Pontode Função - APFFunções de DadosRepresentam a funcionalidade fornecida ao usuário para satisfazer requisitos de dados internos e externosSão definidas como Arquivos de Interface Interna (ALI) e Arquivos de Interface Externa (AIE)
  • 67.
    Análise de Pontode Função - APFFunções de DadosEntradaProcessamentoSaídaArquivosFunções de Dados
  • 68.
    Análise de Pontode Função - APFDefinição de Arquivo para APFNão significa arquivo no sentido tradicional de processamento de dadosRefere-se a um grupo de dados logicamente relacionadosNão leva em consideração a implementação física desses grupos de dados
  • 69.
    Análise de Pontode Função - APFDefinição de ALIGrupo de dados ou informação de controleLogicamente relacionadosReconhecido pelo usuárioMantido dentro da fronteira da aplicaçãoA 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 Pontode Função - APFDefinição de AIEGrupo de dados ou informação de controleLogicamente relacionadosReconhecido pelo usuárioReferenciado pela aplicaçãoMantido dentro da fronteira de outra aplicaçãoA 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 Pontode Função - APFDiferença entre ALI e AIEUm AIE não émantido pela aplicação que está sendo contada, enquanto que um ALI o é.
  • 72.
    Exemplo – Sistemade ReservasAnálise de Ponto de Função - APFALIALIALIAIEPara 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 Pontode Função - APFDefinições de Termos UtilizadosProcesso ElementarInformações de controleReconhecido pelo usuárioMantido
  • 74.
    Análise de Pontode Função - APFProcesso ElementarÉ a menor unidade de atividade significante para o usuário na aplicação.Tem que ser:Reconhecido pelo usuárioAuto contido (auto suficiente ou independente)Ser uma operação completaDeixar o negócio da aplicação sendo contada em um estado consistente após ser concluído.
  • 75.
    Análise de Pontode Função - APFProcesso ElementarExemplo: 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 Pontode Função - APFInformações de ControleSão dados utilizados pela aplicação para garantir a conformidade com os requisitos do negócio especificados pelo clienteInfluenciam um processo elementar da aplicação que está sendo contadaEspecificam o que, quando ou como os dados serão processadosExemplo:Seleção de perfilSeleção de idiomaParâmetros de configuração – (Quando especificados pelo usuário)
  • 77.
    Análise de Pontode Função - APFReconhecido 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 Pontode Função - APFMantidoÉ a habilidade de modificar dados através de um processo elementarExemplo:InserirAlterarExcluirRevisarAssociarCriar...
  • 79.
    Análise de Pontode Função - APFProcesso de contagem de Funções de DadosIdentificar as Funções de DadosClassificar cada Função de Dados em ALI ou AIEDeterminar a complexidade e contribuição de cada Função de Dados
  • 80.
    Análise de Pontode Função - APFRegras de identificação de Funções de DadosIdentificar todos os dados logicamente relacionados e reconhecidos pelo usuário que estejam no escopo da contagemEntidades independentes são consideradas grupos de dados lógicos separadosAgrupar entidades dependes em um único grupo de dadosExcluir todas as entidades consideradas Code Data (Dado de Código)Excluir toda entidade que não contém atributos solicitados pelo usuárioRemover 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 Pontode Função - APFRegras de classificação de Funções de DadosClassifique como ALI se os dados do arquivo lógico forem mantidos dentro da fronteira da aplicação sendo contadaClassifique como AIE se os dados do arquivo lógico:Forem referenciados, mas não mantidos, pela aplicação sendo contadaForem mantidos dentro da fronteira de outra aplicaçãoSe a Função de Dados atender ambas as regras, classifique como ALI
  • 82.
    Análise de Pontode Função - APFRegras de complexidade e contribuição de Funções de DadosA 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 Pontode Função - APFDefiniçã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 Pontode Função - APFRegras de DERConte 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 Pontode Função - APFDefinição de RLRÉ um subgrupo de dados reconhecido pelo usuário dentro de um ALI ou AIEExistem 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 arquivoObrigató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 Pontode Função - APFRegras de RLRContar um RLR para cada Função de Dados identificadaContar um RLR adicional para cada um dos subgrupos de dados que contenham mais de um DER:Entidade associativa com atributos não-chaveSub-tipo (exceto o primeiro sub-tipo)Entidade atributiva, em uma relação que não seja obrigatório 1-1
  • 87.
    Análise de Pontode Função - APFComplexidade Funcional para ALI e AIE
  • 88.
    Análise de Pontode Função - APFContribuição para ALI e AIE
  • 89.
    Análise de Pontode Função - APFExemplo de contagem de RLREm 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 Pontode Função - APFResultado do ExemploNo 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 Pontode Função - APFDicas 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 Pontode Função - APFDicas para contagem de Funções de DadosUma 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 Pontode Função - APFExercício – Funções de DadosEm 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 Pontode Função - APFExercício – Funções de Dados – MER
  • 95.
    Análise de Pontode Função - APFExercício – Funções de Dados – Arquivo de FuncionáriosALI – 2RLR – 15DER – Baixa – 7 PF
  • 96.
    Análise de Pontode Função - APFExercício – Funções de Dados – Arquivo de CargoALI – 1RLR – 3DER – Baixa – 7 PF
  • 97.
    Análise de Pontode Função - APFExercício – Funções de Dados – Arquivo de UnidadeAIE – 2RLR – 4DER – Baixa – 7 PF
  • 98.
    Análise de Pontode Função - APFExercício – Funções de Dados – Análise FinalALI – 2RLR – 15DER – Baixa – 7 PFALI – 1RLR – 3DER – Baixa – 7 PFAIE – 2RLR – 4DER – Baixa – 7 PF
  • 99.
    Análise de Pontode Função - APFConceitos de Modelagem de DadosEntidadeÉ 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çõesUma associação entre entidades pode conter seus próprios atributosEnvolve informações ou representações de coisas similares, que compartilham características ou propriedadesEntidade -> Arquivo lógico
  • 100.
    Análise de Pontode Função - APFConceitos de Modelagem de DadosElemento de Dados (ou Data Item)Um componente fundamental da entidadeUma 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árioLinha, registroGrupo de dados relacionados, tratados como uma unidadeElemento de Dados -> DERGrupo de Dados -> RLR
  • 101.
    Análise de Pontode Função - APFTipos 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árioCargosDependentesFaturaItens de FaturaContratoAditivos de ContratoClientes
  • 102.
    Análise de Pontode Função - APFCaracterísticasÉ obrigatório para a operação da área funcional do usuárioÉ identificável e mantido pelo usuário de negócioArmazena 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ídoComo característica física possui campos de chave e geralmente muitos atributos, e pode conter de zero a infinitos registrosTipos de Entidades – Negócio (bussiness data)
  • 103.
    Análise de Pontode Função - APFTipos 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árioCargosDependentesFaturaImpostos FaturaItens de FaturaContratoSaldo Devedor TxJurosAditivos de ContratoClientes
  • 104.
    Análise de Pontode Função - APFTipos de Entidades – Referência (reference data)CaracterísticasÉ obrigatória para a área funcional do usuárioÉ identificável pelo usuárioGeralmente é mantida pelo usuário (geralmente usuário administrativo)Geralmente construída quando a aplicação é inicialmente implantada e é mantida intermitentementeArmazena 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 negocioTransações que processam dados de negócio frequentemente necessitam acessar os dado de referênciaComo 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 Pontode Função - APFTipos 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árioCargosTipoPagDependentesFaturaImpostos FaturaItens de FaturaContratoSaldo Devedor TxJurosAditivos de ContratoTipo de TxJurosClientes
  • 106.
    Análise de Pontode Função - APFCaracterísticasO dado é obrigatório na área funcional, mas opcionalmente armazenado como um arquivo de dadosGeralmente 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 Pontode Função - APFCaracterísticasÉ essencialmente estático, ou seja, somente se altera com as mudanças decorrentes da operação do negócioTransaçõ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 Pontode Função - APFOutros exemplos:SituaçãoCódigo da situaçãoDescrição da situaçãoTipo de pagamentoCódigo do tipo de pagamentoDescrição do pagamentoDados de código ou dados de referência?UFEstado CivilTipos de muniçãoMarcas de armasCódigo das coresTipos de Entidades – Código Descrição (code data)
  • 109.
    Análise de Pontode Função - APFDica importanteVerifique se o dado foi requisitado pelo usuário e, portanto, é relevante para o negócio tratado pela aplicaçãoSe ele nasceu em decorrência de uma atividade de análise / modelagem / projetoTipos de Entidades
  • 110.
    Análise de Pontode Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
  • 111.
    Análise de Pontode Função - APFFunções de TransaçãoFunções de TransaçãoEntradaProcessamentoSaídaArquivosFunções de Dados
  • 112.
    Análise de Pontode Função - APFFunções de TransaçãoÉ um processo elementar que fornece ao usuário a capacidade de processar dadosPodem ser de três tipos: Entradas Externas (EE)Saídas Externas (SE)Consultas Externas (CE)
  • 113.
    Análise de Pontode Função - APFFunções de TransaçãoSão fluxos de dados que devem obrigatoriamente cruzar a fronteira da aplicação sendo contada.1.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoProdutos1.3Saldo de Produto
  • 114.
    Análise de Pontode Função - APFIdentificação das Funções de TransaçãoA 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 Pontode Função - APFDefiniçã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 sistemaEE representam as atividades que CRIAM, ATUZALIZAM ou APAGAM dados ou processam INFORMAÇÃO DE CONTROLEExemplo: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 Pontode Função - APFProcesso de Contagem de EE – Entrada ExternaIdentificar o processo elementar e verificar se ele se enquadra nas regras de Entrada ExternaDeterminar a complexidade funcionalDeterminar a contribuição em Pontos de Função
  • 117.
    Análise de Pontode Função - APFRegras de identificação de EE – Entrada ExternaAo 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.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoEEProdutos1.3Saldo de ProdutoALI
  • 118.
    Análise de Pontode Função - APFRegras de identificação de EE – Entrada ExternaPara 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 contadaO conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras entradas externas na aplicação sendo contadaOs ALI mantidos e/ou referenciados e os AIE referenciados são diferentes dos usados por outras entradas externasUNICIDADE
  • 119.
    Análise de Pontode Função - APFExemplos de EE – Entrada ExternaSão Entradas Externas:Transações de entrada de dados que mantém um ALITransaçõ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 ALICada processo batch único que mantém um ou mais ALI, com dados ou informação de controle que cruzem a fronteira da aplicaçãoCada atividade de atualização (inserir, alterar ou excluir) poderá ser considerada como uma Entrada Externa, se fizerem parte de um processo elementarFunçõ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 Pontode Função - APFExemplos de não EE – Entrada ExternaNã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çãoAuxílios à navegação, menus estáticosParâmetros de entrada que direcionam a recuperação de dados em uma consulta externaMú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çãoDados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicaçãoDados 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 Pontode Função - APFComplexidade Funcional para EE – Entrada ExternaSão utilizados dois fatores:Dado Elementar Referenciado (DER)Arquivo Lógico Referenciado (ALR)
  • 122.
    Análise de Pontode Função - APFComplexidade Funcional para EE – Entrada ExternaDER – Dado Elementar ReferenciadoÉ um campo único, não repetitivo, reconhecido pelo usuárioRegras: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 ExternaNã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çãoDeve 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 continuarDeve 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 Pontode Função - APFComplexidade Funcional para EE – Entrada ExternaALR – 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 elementarContar um ALR para cada ALI ou AIE lido durante o processo elementarContar somente um ALR para cada ALI que seja mantido e lido durante o processo elementar da EE
  • 124.
    Análise de Pontode Função - APFComplexidade Funcional para EE – Entrada Externa
  • 125.
    Análise de Pontode Função - APFContribuição para EE – Entrada Externa
  • 126.
    Análise de Pontode Função - APFExemplo para EE – Entrada ExternaNa 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 XPTOSistema de Recursos HumanosInclusão de Novo Funcionário28/02/2010 21:06Incluir002/10Informe o nº da Matrícula: Marcus de Paula CostaNome: Rua 2 Casa 50, ACP DFLEndereço:Vila PlanaltoBrasíliaBairro:Cidade:DF71900300UF:CEP:ImprimirSair61 8888-9900Telefone:OBS: Todas as informações apresentadas são incluídas em um único ALI - Funcionário
  • 127.
    Análise de Pontode Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
  • 128.
    Análise de Pontode Função - APFDefinição de CE – Consulta ExternaÉ um processo elementar que apresenta dados ou informações de controle para fora da fronteira da aplicaçãoA 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 controleA 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 sistemaExemplo: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 Pontode Função - APFRegras de identificação de CE – Consulta ExternaO processo elementar abaixo somente recupera dados de um ALI e apresenta ao usuário.1.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoProdutos1.3Saldo de ProdutoCEALI -> ALR
  • 130.
    Análise de Pontode Função - APFProcesso de Contagem de CE – Consulta ExternaIdentificar o processo elementar e verificar se ele se enquadra nas regras de Consulta ExternaDeterminar a complexidade funcionalDeterminar a contribuição em Pontos de Função
  • 131.
    Análise de Pontode Função - APFRegras de identificação de CE – Consulta ExternaTodas as regras abaixo devem ser satisfeitas:O processo elementar recupera dados ou informação de controle de um ALI ou AIEA lógica de processamento não contém cálculosA lógica de processamento não cria dados derivadosA lógica de processamento não mantêm nenhum ALIA lógica de processamento não altera o comportamento do sistema
  • 132.
    Análise de Pontode Função - APFRegras de identificação de CE – Consulta ExternaPara 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 contadaO conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contadaOs ALI ou AIE referenciados são diferentes dos usados por outras consultas externasUNICIDADE
  • 133.
    Análise de Pontode Função - APFExemplos de CE – Consulta ExternaSão Consultas Externas:Relatórios ou telas de apresentação de dados sem cálculos ou dados derivadosTransferência de dados para outra aplicação, sem cálculos ou dados derivadosCombo boxes ou telas auxiliares apresentando informações recuperadas de um ALI ou AIEDados que são recuperados de um ou mais ALI e/ou AIE e apresentados com base em um critério de entradaLista que o usuário clica ou aponta em uma tela para recuperação de dados
  • 134.
    Análise de Pontode Função - APFExemplos de CE – Consulta ExternaOutros 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 Pontode Função - APFExemplos de não CE – Consulta ExternaNão são Consultas Externas:Menu de navegação com somente recursos de seleção de telasTelas de mensagem de erroDropDownlistbox 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 contadoDados passados entre partes online e batch da mesma aplicação, quando estes dados não cruzam a fronteira da aplicaçãoDados 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 Pontode Função - APFComplexidade Funcional para CE – Consulta ExternaSão utilizados dois fatores:Dado Elementar Referenciado (DER)Arquivo Lógico Referenciado (ALR)
  • 137.
    Análise de Pontode Função - APFComplexidade Funcional para CE – Consulta ExternaDER – Dado Elementar ReferenciadoÉ um campo único, não repetitivo, reconhecido pelo usuárioRegras: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 elementarContar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicaçãoSe um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da CEDeve 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 continuarDeve 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 Pontode Função - APFComplexidade Funcional para CE – Consulta ExternaALR – Arquivo Lógico ReferenciadoÉ um ALI ou AIE lido pela CE.Regras:Contar um ALR para cada ALI lido durante o processo elementarContar um ALR para cada AIE lido durante o processo elementar
  • 139.
    Análise de Pontode Função - APFComplexidade Funcional para CE – Consulta Externa
  • 140.
    Análise de Pontode Função - APFContribuição para CE – Consulta Externa
  • 141.
    Análise de Pontode Função - APFExemplo para CE – Consulta ExternaNa 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 XPTOSistema de Recursos HumanosConsulta de Funcionário28/02/2010 21:06Pesquisar002/10Informe o nº da Matrícula: Marcus de Paula CostaNome: Rua 2 Casa 50, ACP DFLEndereço:Vila PlanaltoBrasíliaBairro:Cidade:DF71900300UF:CEP:61 8888-9900Telefone:ImprimirSairOBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
  • 142.
    Análise de Pontode Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
  • 143.
    Análise de Pontode Função - APFDefinição de SE – Saída ExternaÉ um processo elementar que apresenta dados ou informação de controle para fora da fronteira da aplicaçãoA 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 controleA lógica de processamento deve conter ao menos uma fórmula ou cálculo matemático ou criar dados derivadosUma Saída Externa pode também manter um ou mais ALIs ou alterar o comportamento do sistemaExemplo: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 Pontode Função - APFRegras de identificação de SE – Saída ExternaO processo elementar abaixo realiza um cálculo para apresentar o saldo de produtos para o usuário.1.1Fronteira da AplicaçãoInserir Produto1.2UsuárioConsultar ProdutoProdutos1.3Saldo de ProdutoALI -> ALRSE
  • 145.
    Análise de Pontode Função - APFProcesso de Contagem de SE – Saída ExternaIdentificar o processo elementar e verificar se ele se enquadra nas regras de Saída ExternaDeterminar a complexidade funcionalDeterminar a contribuição em Pontos de Função
  • 146.
    Análise de Pontode Função - APFRegras de identificação de SE – Saída ExternaPelo 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áticoA lógica de processamento cria dados derivadosA lógica de processamento mantém ao menos um ALIA lógica de processamento altera o comportamento do sistema
  • 147.
    Análise de Pontode Função - APFRegras de identificação de SE – Saída ExternaPara 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 contadaO conjunto de dados elementares referenciados é diferente dos conjuntos referenciados por outras consultas externas na aplicação sendo contadaOs ALI ou AIE referenciados são diferentes dos usados por outras saídas externasUNICIDADE
  • 148.
    Análise de Pontode Função - APFExemplos de SE – Saída ExternaSão Saídas Externas:Relatórios ou telas de apresentação de dados com cálculos ou dados derivadosTransferência de dados para outra aplicação, com cálculos ou dados derivadosFuncionalidades de consulta que, ao serem executadas, fazem manutenção em ALIGráfico exibidos (gráfico de barra, pizza, etc.)Etiquetas com código de barrasTelas de logon
  • 149.
    Análise de Pontode Função - APFExemplos de não SE – Saída ExternaNão são Saídas Externas:Menu de navegação com somente recursos de seleção de telasTelas de mensagem de erro, cancelamento ou confirmação de processamentoRelató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ídaRelató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 Pontode Função - APFComplexidade Funcional para SE – Saídas ExternaSão utilizados dois fatores:Dado Elementar Referenciado (DER)Arquivo Lógico Referenciado (ALR)
  • 151.
    Análise de Pontode Função - APFComplexidade Funcional para SE – Saída ExternaDER – Dado Elementar ReferenciadoÉ um campo único, não repetitivo, reconhecido pelo usuárioRegras: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 elementarNã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çãoContar um DER para cada campo reconhecido pelo usuário e não repetitivo que sai pela fronteira da aplicaçãoSe um DER tanto entra quanto sai pela fronteira da aplicação, conte-o somente uma vez para o processo elementar da SEDeve 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 continuarDeve 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 Pontode Função - APFComplexidade Funcional para SE – Saída ExternaALR – 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 elementarContar um ALR para cada ALI ou AIE lido durante o processo elementarContar somente um ALR quando um ALI for mantido e lido pelo processo elementar da SE
  • 153.
    Análise de Pontode Função - APFComplexidade Funcional para SE – Saída Externa
  • 154.
    Análise de Pontode Função - APFContribuição para SE – Saída Externa
  • 155.
    Análise de Pontode Função - APFExemplo para SE – Saída ExternaNa 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 XPTOSistema de Recursos HumanosInclusão de Novo Funcionário28/02/2010 21:06Pesquisar002/10Informe o nº da Matrícula: Marcus de Paula CostaNome: Rua 2 Casa 50, ACP DFLEndereço:Campo Calculado Pelo SistemaVila PlanaltoBrasíliaBairro:Cidade:DF71900300UF:CEP:61 8888-9900Telefone:Tempo de Casa:2 anos e 60 diasImprimirSairOBS: Todas as informações apresentadas são recuperadas em um único ALI - Funcionário
  • 156.
    Análise de Pontode Função - APFLógicas de Processamento para EE, CE e SE
  • 157.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasALIALIALIAIEPara 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 Pontode Função - APFEstudo de Caso – Sistema de ReservasRegras GeraisEm 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 Pontode Função - APFEstudo de Caso – Sistema de ReservasRegistro de ReservaNú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 Pontode Função - APFEstudo de Caso – Sistema de ReservasRegras 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 Pontode Função - APFEstudo de Caso – Sistema de ReservasALR 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 elementarArquivo 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 elementarArquivo 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 elementarPara execução do Processo Elementar são utilizados 4 ALR
  • 162.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasDERs Resultado:Número da ReservaMatrícula do FuncionárioCódigo do ClienteData da ReservaPeríodo InícioPeríodo FimTipo AptoPessoaNúmero do ApartamentoSão utilizados 4 ALR e 9 DERs na Tela + 1 CCA + 1 CEM = 11 DER
  • 163.
    Estudo de Caso– Sistema de ReservasAnálise de Ponto de Função - APFQual a complexidade funcional desta EE de registro de Reservas? (Verifique na tabela de EE)
  • 164.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasA 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 ClienteCaso seja necessário mudar um cliente de uma reserva é necessário excluir a reserva e criar uma nova para o novo clienteAs 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 Pontode Função - APFEstudo de Caso – Sistema de ReservasAlteração de ReservaNú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 Pontode Função - APFEstudo de Caso – Sistema de ReservasALR 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 elementarArquivo 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 elementarPara execução do Processo Elementar são utilizados 3 ALR
  • 167.
    Estudo de Caso– Sistema de ReservasAnálise de Ponto de Função - APFDERs Resultado:Número da ReservaMatrícula do FuncionárioCódigo do ClienteData da ReservaPeríodo InícioPeríodo FimTipo AptoPessoaNúmero do ApartamentoNa tela são 9 DERs menos 1 DER do Código do Cliente = 8 + CCA + CEM = 10 DERO código da reserva é contado porque o sistema precisa localizar a reserva a ser alterada
  • 168.
    Estudo de Caso– Sistema de ReservasAnálise de Ponto de Função - APFQual a complexidade funcional desta EE de Alterar Reservas? (Verifique na tabela de EE)
  • 169.
    Estudo de Caso– Sistema de ReservasAnálise de Ponto de Função - APFExclusão de ReservaNúmero da Reserva: [ _ _ _ _ _ _ _ _ _ ]Matrícula do Funcionário: [ _ _ _ _ _ ]
  • 170.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasArquivos ReferenciadosArquivo de ReservasArquivo de FuncionárioRegras de ValidaçãoVerificar se a reserva existeVerificar se o funcionário está cadastrado, pois somente funcionários cadastrados podem excluir reservasFaça a Contagem!!!
  • 171.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasO próximo exemplo é o relatório de reservasDesconsiderar os campos de filtro apenas considerar as informações do relatórioO sistema apenas recupera as informações do repositório de reservas
  • 172.
    Estudo de Caso– Sistema de ReservasAnálise de Ponto de Função - APFRelatório de Reservas Data 02/02/2010PeríodoInício FimNome /SobrenomeTipo AptoSS01/02/201010/03/2010Aderbal Luiz Imóveis - ALI
  • 173.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasResultado:Apenas 1 ALR, pois todas as informações vem do repositório de reservaDERs:Nome e SobrenomeTipo ApartamentoPeríodo inícioPeríodo fimCCACEMÉ 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.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasRelatório de Apartamentos Data 02/02/2010NúmeroTipo AptoSSAderbal Luiz Imóveis - ALI Arquivo Referenciado
  • 175.
    Arquivo deApartamentos
  • 176.
  • 177.
    Relacionar todosos apartamentos cadastradosAnálise de Ponto de Função - APFEstudo de Caso – Sistema de ReservasResultado de Apartamento:ALR = 1DERs = 4
  • 178.
    Análise de Pontode Função - APFEstudo de Caso – Sistema de ReservasRelatório de Ocupação no Período início: 02/02/2010 até 10/03/2010Semana05 a 1112 a 1819 a 25OcupaçãoApto SS12101965%Apto CS2041045%Apto SL3200437%Apto CL2345910%Apto VIP23447880%Vazio5501040%Arquivos Referenciados: - ReservasRegras: - 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 Pontode Função - APFEstudo de Caso – Sistema de ReservasResultado:ALRSó 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ícioData de FimIdentificação da SemanaIdentificação do Tipo de ApartamentoColuna 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)CCACEMÉ uma Saída Externa, pois realizo cálculos.Resultado: 1 ALR / 18 DERs
  • 180.
    Análise de Pontode Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
  • 181.
    Análise de Pontode Função - APFRelacionamento entre os tipos de contagemFormula para Projeto de DesenvolvimentoContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto Completo
  • 182.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalProjeto de DesenvolvimentoDFP = ADD + CFPONDE:DFP – Pontos de Função do projeto de desenvolvimentoADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projetoCFP – Tamanho funcional das funcionalidades de conversão de dados
  • 183.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalExemplo: Projeto de DesenvolvimentoFuncionalidades 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 + CFPDFP = (14+5+40+36+20) + 15 => 130PF
  • 184.
    Análise de Pontode Função - APFRelacionamento entre os tipos de contagemFormula para Iniciar a Contagem da AplicaçãoContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto Completo
  • 185.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalIniciar a contagem da aplicação após um projeto de desenvolvimentoAFP = ADDONDE:AFP – Pontos de Função da aplicaçãoADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projetoNão utiliza o tamanho funcional das funções para Conversão de Dados identificadas no Projeto de Desenvolvimento!!!
  • 186.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalExemplo: Iniciar a contagem da aplicação após um projeto de desenvolvimentoFuncionalidades 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 = ADDAFP = (14+5+40+36+20) => 115PF
  • 187.
    Análise de Pontode Função - APFRelacionamento entre os tipos de contagemContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto CompletoFormula para Projeto de Melhoria
  • 188.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalProjeto de MelhoriaEFP = ADD + CHGA + DEL + CFPONDE:EFP – Pontos de Função do projeto de melhoriaADD – Tamanho funcional das funcionalidades adicionadas à aplicaçãoCHGA – Tamanho funcional das funcionalidades alteradas após o projeto de melhoriaDEL – Tamanho funcional das funcionalidades removidas da aplicaçãoCFP – Tamanho funcional das funcionalidades de conversão de dados
  • 189.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalExemplo: Projeto de MelhoriaFuncionalidades 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 + CFPEFP = (12) + (5) + (3) + (3) => 23PF
  • 190.
    Análise de Pontode Função - APFRelacionamento entre os tipos de contagemContagem EstimadaProjeto de DesenvolvimentoProjeto AContagem FinalProjeto de DesenvolvimentoProjeto AProjeto CompletoInicializaContagem da Aplicação/BaselineContagem EstimadaProjeto de MelhoriaProjeto BContagem FinalProjeto de MelhoriaProjeto BAtualizaProjeto CompletoFormula para Atualizar contagem da Aplicação após Projeto de Melhoria
  • 191.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalAtualizar a contagem da aplicação após um projeto de melhoriaAFPA = (AFPB + ADD + CHGA) – (CHGB + DEL)ONDE:AFP – Pontos de Função da aplicação depois do projeto de melhoriaADD – Tamanho funcional das funcionalidades entregues ao usuário na conclusão do projetoCHGA – Tamanho funcional das funcionalidades alteradas depois do projeto de melhoriaCHGB – Tamanho funcional das funcionalidades alteradas antes do projeto de melhoriaDEL – Tamanho funcional das funcionalidades excluídas no projeto de melhoria
  • 192.
    Análise de Pontode Função - APFCalcular o Tamanho FuncionalExemplo: Atualizar a contagem da aplicação após um projeto de melhoriaTamanho funcional da aplicação antes do projeto de melhoria: 115PFFuncionalidades 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 Pontode Função - APFVisão Geral da APFAPFReunir documentaçãoPropósito, Tipo, Escopo e FronteiraContar Funções TransacionaisContar Funções de DadosALIAIEEECESECalcular Tamanho FuncionalDocumentar e Reportar
  • 194.
    Análise de Pontode Função - APFReportar o Resultado da ContagemDeve ser apresentado um relatório de contagemO tamanho funcional deve ser apresentado da seguinte maneiraS 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)