Contabilização de Pontos de Função Prof. Pasteur Ottoni de Miranda Junior DCC PUC Minas Disponível em www.pasteurjr.blogspot.com A técnica de Pontos de Função consiste em uma métrica para estimar tamanho e, consequentemente, tempo e custo de desenvolvimento de um software Seu cálculo é feito com base na estimativa de dois tipos de funções: Funções de dados: Representam a funcionalidade oferecida ao usuário para cumprir requisitos de dados.podem ser de dois tipos: Arquivo Lógico Interno (ALI): tabelas do modelo relacional. Arquivo de Interface Externa (AIE): arquivos externos Para cada um desses tipos de funções de dados estimar os seguintes elementos: TER Tipo de elemento de registro. Subgrupo de dados dentro de um ALI/AIE reconhecível pelo usuário TED Tipo de elemento de dado. Campo único, não repetitivo e reconhecível pelo usuário O número de pontos de função para cada ALI e AIE é obtido por meio das seguintes tabelas: Com base no número de TED e TERs estimados em cada ALI e AIR, obtém-se a complexidade na primeira tabela. Com base na complexidade, consulta-se na segunda tabela o número de pontos de função (X7,por exemplo, significa que são pontos de função). Funções de Transação. Representam a funcionalidade oferecida ao usuário para processar dados da aplicação Podem ser de três tipos: Entrada Externa(EE): quaisquer entradas de dados fornecidas pelo usuário
Saída Externa (SE): relatórios, saídas exibidas ao usuário Consulta Externa (CE): telas de consultas aos dados armazenados via EEs Para cada um desses tipos de funções de transação estimar os seguintes elementos: TARs Tipos de arquivos referenciados. Quantidade de ALIs/ AIEs mantidos (exceto CE) ou referenciados pela Função de transação TEDs Tipos de elementos de dados. Campos reconhecíveis pelo usuário, que cruzam a fronteira da aplicação durante a Função de transação. O número de pontos de função para cada EE, SE e CE é obtido por meio das seguintes tabelas: Com base no número de TED e TARs estimados em cada EE, SE e CE, obtémse a complexidade na primeira tabela (EE) e na segunda tabela (SE e CE). Com base na complexidade, consulta-se na segunda tabela o número de pontos de função (X7,por exemplo, significa que são pontos de função).
Uma vez computado o número de pontos de função, realiza-se a caracterização do projeto, atribuindo-se um nível de influência graduado de 1 a 5 a 14 características gerais, mostradas na tabela abaixo: Característica geral Nivel de influência 01- Teleprocessamento 4 02- Processamento Distribuido 1 03- Performance 5 04- Utilização de Máquina 2 05- Volume das Transações 5 06- Entrada de Dados On-Line 4 07- Atualização On-Line 3 08- Interface com o Usuário 1 09- Complexidade do Processamento 2 10- Reutilização de Código 5 11- Facilidade de Implantação 5 12- Facilidade de Operação 4 13- Facilidade de Manutenção / Alteração 3 14- Operação em Múltiplos Locais 2 Nível de Influência Total ( NI ) 46 Fator de Ajuste ( FA ) 1,11 Cálculo dos pontos de função e estimativas 1)Calcular o Nível de Influência Total (NI), o somatório dos níveis de influência de cada característica geral (na tabela acima, por exemplo, é 46). 2)Calcular o Fator de Ajuste (FA): FA = 0,65+ 0,01*(NI) 3) Somar todos os pontos de função de todas as funções de dados e de transação para obter pontos de função não ajustados (PFNA). 4)O número final de pontos de função (pontos de função ajustados) é dado por: PF = PFNA*FA 5)Com base em medidas de produtividade em PF/mês e $/PF, obtém-se as estimativas de tempo e custo de desenvolvimento. Não existe um valor padrão para essas medidas, cada organização deve possuir as suas.
Exemplo Seja o seguinte DER: 1)Preencher as planilhas de EE, SE, CE, ALI e AIE, estimando-se TAR, TED e TER. As colunas Complex. e PF são obtidas a partir das tabelas de complexidade e peso exibidas acima. Tabela para EEs Número Descrição da função TAR TED Complex. PF Cadastrar Pedido 2 4 S 3 Alterar Pedido 2 4 S 3 Excluir Pedido 2 1 S 3 Cadastrar item 1 3 S 3 Alterar item 1 3 S 3 Excluir item 1 2 S 3 Cadastrar Produto 1 2 S 3 Alterar Produto 1 2 S 3 Excluir Produto 1 1 S 3 Tabela para SÉS (somente um relatório no exemplo) Número Descrição da função TAR TED Complex. PF 3.2.2.10 Relatório de Pedidos 3 7 M 5 Tabela para CEs Número Descrição da função TAR TED Complex. PF Consultar Pedido 2 4 S 3 Consultar item 1 3 S 3 Consultar Produto 1 2 S 3
Tabela para ALIs Descrição da função TER TED Complex. PF Pedido 2 5 S 7 Item 1 3 S 7 Produto 1 2 S 7 2)Atribuir o nível de influência para das características gerais, calcular NI e FA. Nesse exemplo temos. Característica geral 3) Calcular os PFNA e PF. A tabela abaixo resume todas as contagens: Item PF Brutos Entradas Externas 27 Saídas Externas 5 Consultas Externas 9 Arquivos Lógicos Internos 21 Arquivos Lógicos Externos 0 Pontos Função Não-ajustados 62 Fator de Ajuste 1,11 Pontos de Função Ajustados 68,82 4) Calcular tempo e custo de desenvolvimento. Nesse exemplo, PF/MÊS = 100 e $/PF = R$100,00. Assim obtém-se: TEMPO DE DESENVOLVIMENTO= PF/ (PF/MÊS) = 68,82/100= 0,68 MÊS CUSTO: $/PF*PF= 100*68,82= R$ 6882,00 3.2-Trabalho Propriamente Dito Nivel de influência 01- Teleprocessamento 4 02- Processamento Distribuido 1 03- Performance 5 04- Utilização de Máquina 2 05- Volume das Transações 5 06- Entrada de Dados On-Line 4 07- Atualização On-Line 3 08- Interface com o Usuário 1 09- Complexidade do Processamento 2 10- Reutilização de Código 5 11- Facilidade de Implantação 5 12- Facilidade de Operação 4 13- Facilidade de Manutenção / Alteração 3 14- Operação em Múltiplos Locais 2 Nível de Influência Total ( NI ) 46 Fator de Ajuste ( FA ) 1,11 Estimativa de horas em laboratório: 2 horas-aulas Fazer um levantamento de pontos de função para um sistema de comércio eletrônico convencional. Considere uma média de 80 pontos de função por mês
e R$ 120,00 por ponto de função para estimar o tempo e o custo de desenvolvimento. Se desejar, utilizar a planilha fornecida pelo professor. Referências Apresentação do Grupo Synergia feita por Adriana Andrade disponível em www.egov.mg.gov.br/download?arquivo=314