IFPUG CARTÃO DE REFERENCIA RÁPIDA PONTOS DE FUNÇÃO Baseado no CPM 4.1 (tradução Marcelo Figueiredo) Passos da análise de Pontos de Função 1. 2. 3. 4. 5. 6. Identificar o tipo de contagem. Definir o escopo e a fronteira da aplicação. Contar as funções do tipo dados para determinar a sua contribuição nos pontos de função não ajustados. Contar as funções do tipo transação para determinar a sua contribuição nos pontos de função não ajustados. Determinar o fator de ajuste. Calcular os pontos de função ajustados. DEFINIÇÃO DE TERMOS CHAVES Usuário – qualquer pessoa que especifique os requerimentos do usuário e/ou qualquer pessoa ou objeto que se comunique ou tenha interação com a aplicação em qualquer tempo. Visão do Usuário – é a descrição de uma função de negócio; é aprovada pelo usuário; pode ser usada na contagem; pode variar de acordo com a documentação física. Fronteira da Aplicação – define o que é externo para a aplicação; é a interface conceitual entre a aplicação e os usuários externos; representa uma membrana através da qual os dados passam de fora para dentro da aplicação; encapsula a lógica de manutenção dos dados da aplicação; Auxilia na identificação dos dados lógicos referenciados mas não mantidos dentro da aplicação; é dependente da visão externa de negócios do usuário; é independente de considerações técnicas e/ou de implementação. Escopo – define um conjunto ou subconjunto software de tamanho conhecido; é determinado pelo propósito da contagem; identifica quais funções serão incluídas na contagem de pontos de função; pode incluir uma ou mais que uma aplicação. Informação de Controle – é o dado que influencia um processo elementar da aplicação; especifica o que, quando ou como o dado será processado. ARQUIVO LOGICO INTERNO (ALI) Grupo de dados logicamente relacionados, ou informações de controle, mantidos dentro da fronteira da aplicação. A principal função de um ALI é agrupar os dados mantidos por um ou mais processos elementares da aplicação que esta sendo contada. Regras – todas abaixo devem ser aplicadas: • O grupo de dados ou informações de controle é um grupo de dados lógico e definido pelo usuário. O grupo de dados é mantido por um processo elementar de • dentro da fronteira da aplicação que esta sendo contada. ARQUIVO DE INTERFACE EXTERNA (AIE) Grupo de dados logicamente relacionados, ou informações de controle, referenciados pela aplicação, mas mantidos dentro da fronteira de outra aplicação. A principal função de um AIE é agrupar logicamente dados referenciados por um ou mais processos elementares da aplicação. Isto significa que um EIF contado para uma aplicação deverá ser um ALI em outra. Regras – todas abaixo devem ser aplicadas: O grupo de dados ou informações de controle é um grupo de • dados lógicos e definido pelo usuário. • O grupo de dados é referenciado e externo à aplicação que esta sendo contada. O grupo de dados não é mantido pela aplicação que esta • sendo contada. • O grupo de dados é mantido em um ALI de outra aplicação. A complexidade dos ALI/AIE é em função do número dos RLR e dos DER Regras - DER Contar um DER para cada campo não repetido, reconhecido • pelo usuário, mantido ou recuperado de um ALI ou AIE através da execução de um processo elementar. Quando duas aplicações mantêm ou referenciam o mesmo • ALI/AIE, mas cada uma atualiza/referencia DER separados, contar apenas os DER que estão sendo usados em cada aplicação para dimensionar o ALI/AIE. • Contar um DER para cada item de dado requerido pelo usuário para estabelecer relacionamentos com outro ALI ou AIE. Regras - RLR • Contar um RLR para cada subgrupo de dados de um ALI/AIE, seja o subgrupo opcional ou mandatório. Se não existirem subgrupos de informações, contar um RLR • para cada ALI/AIE. Tabela de complexidade para ALI/AIE 1 - 19 DER 20 – 50 DER 51 ou + DER 1 RLR Baixa Baixa Média 2 – 5 RLR Baixa Média Alta 6 ou + RLR Média Alta Alta ENTRADA EXTERNA (EE) Processo elementar que processa dados ou informações de controle que vêm de fora das fronteiras da aplicação. A função primaria de uma EE é manter um ou mais ALI e/ou alterar o comportamento do sistema. Regras – todas abaixo devem ser aplicadas: • O dado ou informação de controle é recebido de fora da fronteira da aplicação. Pelo menos um ALI é mantido se os dados vindos da fora da • fronteira da aplicação não são informação de controle que alterem o comportamento do sistema. Para os processos identificados, uma das três afirmações • deve se aplicar: O processamento lógico é único em relação a outros processamentos executados pela aplicação. O conjunto de elementos de dados são diferentes de outros conjuntos identificados por outras EE na aplicação. Os ALI e AIE referenciados são diferentes de outros arquivos referenciados por outras EE na aplicação. A complexidade é em função do número de ALR e DER Regras - ALR • Contar um ALR para cada ALI mantido. • Contar um ALR para cada ALI ou AIE de leitura durante o processamento da EE. Contar apenas um ALR para cada AIE que seja lido e • mantido por uma EE. Regras - DER Contar um DER para cada campo não repetido, reconhecido • pelo usuário, que inclui ou recupera dados através da fronteira e é requerido para completar o processo elementar. Não contar campos que são recuperados ou derivados do • sistema e armazenados em um ALI durante o processo elementar se estes campos não atravessam a fronteira da aplicação. Contar um DER para a capacidade de enviar uma mensagem • de resposta para fora da fronteira da aplicação para indicar que um erro ocorreu durante o processamento. Confirmação se o processo esta completo ou verificação se o processo deve continuar. Tabela de complexidade para EE 1 – 4 DER 5 – 15 DER 16 ou + DER 0 – 1 ALR Baixa Baixa Média 2 ALR Baixa Média Alta 3 ou + ALR Média Alta Alta SAÍDA EXTERNA (SE) Processo elementar que envia dados ou informação de controle para fora das fronteiras da aplicação. A função primaria de uma SE é apresentar informação para o usuário através de processamento lógico exceto em recuperação de dados ou informação de controle. O processamento lógico de possuir pelo menos uma fórmula matemática ou cálculo, gerar dados derivados, manter um ou mais ALI ou alterar o comportamento do sistema. Regras – todas abaixo devem ser aplicadas: Enviar dados ou informação de controle para fora da fronteira • da aplicação. • Para os processos identificados, uma das três afirmações deve se aplicar: O processamento lógico é único em relação a outros processamentos executados pela aplicação. O conjunto de elementos de dados são diferentes de outros conjuntos identificados por outras SE na aplicação. Os ALI e AIE referenciados são diferentes de outros arquivos referenciados por outras SE na aplicação. Em adição, uma das seguintes regras deve se aplicar: O processamento lógico possui pelo menos uma fórmula matemática ou um cálculo. O processamento gera dados derivados. O processamento lógico mantém pelo menos um ALI. O processamento lógico altera o comportamento do sistema. CONSULTA EXTERNA (CE) Processo elementar que envia dados ou informação de controle para fora das fronteiras da aplicação. A função primaria de uma CE é apresentar informação para o usuário através da recuperação de dados ou informação de controle. O processamento lógico não deve possuir fórmula matemática ou cálculo e não gerar dados derivados. Nenhum ALI é mantido durante o processo ou o comportamento do sistema é alterado. Regras – todas abaixo devem ser aplicadas: • Enviar dados ou informação de controle para fora da fronteira da aplicação. Para os processos identificados, uma das três afirmações • deve se aplicar: O processamento lógico é único em relação a outros processamentos executados pela aplicação. O conjunto de elementos de dados são diferentes de outros conjuntos identificados por outras CE na aplicação. Os ALI e AIE referenciados são diferentes de outros arquivos referenciados por outras CE na aplicação. Em adição, uma das seguintes regras deve se aplicar: O processamento lógico recupera dados ou informações de controle de um ALI ou AIE. O processamento lógico não contém fórmula matemática ou cálculos. O processamento lógico não altera o comportamento do sistema. O processamento lógico não mantêm um ALI. A complexidade é em função do número de ALR e DER Regras – ALR para SE/CE • Contar um ALR para cada ALI ou AIE de leitura durante o processamento do processo elementar. Regras adicionais – ALR para SE • Contar um ALR para cada ALI mantido durante o processamento do processo elementar. Contar um ALR para cada ALI que é mantido e lido pelo • processo elementar. Regras – DER para SE/CE O número de DER é igual ao total de campos identificados pelas seguintes regras: • Contar um DER para cada campo não repetido, reconhecido pelo usuário, que inclui ou recupera dados através da fronteira e é requerido para completar o processo elementar. • Contar um DER para cada campo não repetido, reconhecido pelo usuário, que sai da fronteira da aplicação. Se o DER entra e sai da fronteira da aplicação contar apenas • um para o processo elementar. • Contar um DER para a capacidade de enviar uma mensagem de resposta para fora da fronteira da aplicação para indicar que um erro ocorreu durante o processamento. Confirmação se o processo esta completo ou verificação se o processo deve continuar. Contar um DET para a habilidade de especificar a ação a ser • tomada se existem múltiplos métodos para invocar o mesmo processo lógico. Não contar campos que são recuperados ou derivados do • sistema e armazenados em um ALI durante o processo elementar se estes campos não atravessam a fronteira da aplicação. • Não contar literais, paginação ou system-generated stamps. Tabela de complexidade SE/CE 1 – 5 DER 6 – 19 DER 20 ou + DER 1 ALR Baixa Baixa Média 2 – 3 ALR Baixa Média Alta 4 ou + ALR Média Alta Alta Peso da complexidade das funções Baixa Média EE 3 4 SE 4 5 CE 3 4 ALI 7 10 AIE 5 7 Alta 6 7 6 15 10 CARACTERISTICAS GERIAS DO SISTEMA As características são calculadas em função do Nível de Influencia (NI) e do grau de cada característica em uma escala de 0 a 5, como segue: 0 – Não presente ou sem influencia. 1 – Influencia casual (sem importância) 2 – Influencia moderada 3 – Influencia média 4 – Influencia significante 5 – Influencia forte em todo sistema Se nenhuma das descrições é adequada a aplicação, um julgamento deve ser feito para determinar que grau de influencia é o mais apropriado. 1. Comunicação de dados 2. Processamento distribuído 3. Performance 4. Configuração do equipamento 5. Volume de transações 6. Entrada de dados on-line 7. Interface com o usuário 8. Atualização on-line 9. Processamento complexo 10. Reusabilidade 11. Facilidade de implantação 12. Facilidade operacional 13. Múltiplos locais 14. Facilidade de mudanças (Flexibilidade) FORMULAS Projeto de Desenvolvimento = (PFB + CNV) * FA Contagem de Aplicação = INC * FA Projeto de melhorias = [(INC+PFBA+CNV)*FAA] – (EXC*FAD) Contagem de aplicação revisada = [(PFBP+INC+PFBA) (PFBD+EXC)] * FAA Onde: CNV – Funcionalidades de conversão EXC – Funcionalidades excluídas FA – Fator de ajuste FAA – Fator de ajuste antes da melhoria FAD – Fator de ajuste depois da melhoria INC – Funcionalidades adicionadas PFB – Pontos de função não ajustados (Brutos) PFBA – PFB das funcionalidades alteradas antes da melhoria PFBD – PFB das funcionalidades alteradas depois da melhoria PFBP – PFB da aplicação antes do projeto Glossário da versão em português: ALR – Arquivo Lógico Referenciado. Na versão original FTR (File Type Referenced). DER – Dado elementar referenciado. Na versão original DET (Data Element Type) RLR – Registro Lógico Referenciado. Na versão original RET (Record Element Type). Obs: A cartela original do IFPUG – CPM 4.1 foi traduzida de acordo com os termos técnicos utilizados no Brasil.