Você está na página 1de 13

Anlise de Pontos de Funo (Hazan, 2001) A Anlise de Pontos de Funo (APF) um mtodo-padro para a medio do desenvolvimento de software, visando

o estabelecer uma medida de tamanho do software em Pontos de Funo (PFs), com base na funcionalidade a ser implementada, sob o ponto de vista do usurio. Os objetivos da APF so: Medir as funcionalidades do sistema requisitadas e recebidas pelo usurio; Medir projetos de desenvolvimento e manuteno de software, sem se preocupar com a tecnologia que ser utilizada na implementao. O procedimento para contagem de PFs compreende sete passos, mostrados na figura 1. Determinar o Tipo de Contagem

Identificar o Escopo de Contagem e Fronteira da Aplicao

Contagem das Funes de Dados

Contagem das Funes Transacionais

Determinar o Fator de Ajuste

Determinar os PFs No Ajustados

Calcular os PFs Ajustados Figura 1 O Procedimento de Contagem de Pontos de Funo.

Determinar o tipo de contagem de pontos de funo: este o primeiro passo no processo de contagem, sendo que existem trs tipos de contagem: contagem de PF de projeto de desenvolvimento, de aplicaes instaladas e de projetos de manuteno. Identificar o escopo de contagem e a fronteira da aplicao: neste passo, definem-se as funcionalidades que sero includas em uma contagem de PFs especfica. A fronteira da aplicao definida estabelecendo um limite lgico entre a aplicao que est sendo medida, o usurio e outras aplicaes. O escopo de contagem define a parte do sistema (funcionalidades) a ser contada. Determinar a contagem de pontos de funo no ajustados: os pontos de funo no ajustados (PFNA) refletem as funcionalidades fornecidas pelo sistema para o usurio. Essa contagem leva em conta dois tipos de funo: de dados e transacionais, bem como sua complexidade (simples, mdia ou complexa). Contagem das funes de dados: as funes de dados representam as funcionalidades relativas aos requisitos de dados internos e externos aplicao. So elas os arquivos lgicos internos e os arquivos de interface externa. Ambos so grupos de dados logicamente relacionados ou informaes de controle que foram identificados pelo usurio. A diferena est no fato de um Arquivo Lgico Interno (ALI) ser mantido dentro da fronteira da aplicao, isto , armazenar os dados mantidos atravs de um ou mais processos elementares da aplicao, enquanto que um Arquivo de Interface Externa (AIE) apenas referenciado pela aplicao, ou seja, ele mantido dentro da fronteira de outra aplicao. Assim, o objetivo de um AIE armazenar os dados referenciados por um ou mais processos elementares da aplicao sendo contada, mas que so mantidos por outras aplicaes. Contagem das funes transacionais: as funes transacionais representam as funcionalidades de processamento de dados do sistema fornecidas para o usurio. So elas: as entradas externas, as sadas externas e as consultas externas. As Entradas Externas (EEs) so processos elementares que processam dados (ou informaes de controle) que entram pela fronteira da aplicao. O objetivo principal de uma EE manter um ou mais ALIs ou alterar o comportamento do sistema. As Sadas Externas (SEs) so processos elementares que enviam dados (ou informaes de controle) para fora da fronteira da aplicao. Seu objetivo mostrar informaes recuperadas atravs de um processamento lgico (isto , que envolva clculos ou criao de dados derivados) e no apenas uma simples recuperao de dados. Uma SE pode, tambm, manter um ALI ou alterar o comportamento do sistema. Por fim, uma Consulta Externa (CE), assim como uma SE, um processo elementar que envia dados (ou informaes de controle) para fora da fronteira da aplicao, mas sem realizao de nenhum clculo nem a criao de dados derivados. Seu objetivo apresentar informao para o usurio, por meio apenas de uma recuperao das informaes. Nenhum ALI mantido durante sua realizao, nem o comportamento do sistema alterado. Determinar o valor do fator de ajuste: o fator de ajuste baseado em 14 caractersticas gerais de sistemas, que avaliam a funcionalidade geral da aplicao que est sendo contada, e seus nveis de influncia. O nvel de influncia de uma caracterstica determinado com base em uma escala de 0 (nenhuma influncia) a 5 (forte influncia).

Calcular os pontos de funo ajustados: finalmente, os PFs ajustados so calculados, considerando-se o tipo de contagem definido no primeiro passo.

A figura 2 apresenta uma viso geral dos tipos de funo que so considerados na contagem da APF.

Usurio Externo Entrada Externa Sada Externa Consulta Externa

Entrada Externa Sada Externa Arquivo Lgico Interno Consulta Externa Arquivo de Interface Externa Outras aplicaes

Aplicao sendo contada

Figura 2 Viso Geral das Funes de uma Aplicao segundo a APF. Contagem das Funes de Dados Conforme discutido anteriormente, o primeiro passo para a contagem das funes de dados consiste em identificar arquivos lgicos internos (ALIs) e arquivos de interface externa (AIEs). Cada uma dessas funes de dados deve ser classificada segundo sua complexidade funcional. Essa complexidade definida com base em dois conceitos: registros lgicos e itens de dados. Registros Lgicos so subconjuntos de dados dentro de um ALI/AIE, que foram reconhecidos pelo usurio. Se o usurio no reconhecer subconjuntos de dados em um ALI/AIE, ento se deve contar o ALI/AIE como um registro lgico. Um Item de Dados, por sua vez, um campo reconhecido pelo usurio como nico e no repetido. Vale destacar que s devem ser contados os itens de dados utilizados pela aplicao em contagem. Contando-se os registros lgicos e os itens de dados de um ALI/AIE, pode-se chegar sua complexidade, utilizando a tabela 1.

Tabela 1 Tabela de Identificao da Complexidade das Funes de Dados . Nmero de Registros Lgicos Apenas 1 De 2 a 5 6 ou mais Nmero de Itens de Dados Referenciados De 1 a 19 De 20 a 50 51 ou mais Simples Simples Mdia Simples Mdia Complexa Mdia Complexa Complexa

Contagem das Funes Transacionais De maneira anloga contagem das funes de dados, a contagem das funes transacionais envolve a identificao de funes transacionais (entradas externas, sadas externas e consultas externas) e sua classificao de acordo com a complexidade funcional envolvida (simples, mdia ou complexa). A definio da complexidade funcional feita com base no nmero de arquivos referenciados e dos itens de dados manipulados pela funo, utilizando as tabelas 2 para entradas externas e 3 para sadas e consultas externas. Nessas tabelas, um arquivo referenciado pode ser um ALI lido ou mantido pela funo transacional, ou um AIE lido pela funo transacional. J o nmero de itens de dados referenciados calculado considerando apenas os itens de dados efetivamente referenciados pela funo transacional em questo. Tabela 2 Tabela de Identificao da Complexidade de Entradas Externas. Nmero de Arquivos Referenciados 0 ou 1 2 3 ou mais Nmero de Itens de Dados Referenciados De 1 a 4 De 5 a 15 16 ou mais Simples Simples Mdia Simples Mdia Complexa Mdia Complexa Complexa

Tabela 3 Tabela de Identificao da Complexidade de Sadas e Consultas Externas. Nmero de Arquivos Referenciados 0 ou 1 2 ou 3 4 ou mais Nmero de Itens de Dados Referenciados De 1 a 5 De 6 a 19 20 ou mais Simples Simples Mdia Simples Mdia Complexa Mdia Complexa Complexa

Clculo dos Pontos de Funo No Ajustados Uma vez contadas as funes de dados e as funes transacionais, possvel calcular os PFs no ajustados de uma aplicao. Esse clculo feito da seguinte forma:

1. Para cada um dos cinco tipos de funo (ALI, AIE, EE, SE e CE), so computados os totais de pontos de funo (NPFi), segundo a seguinte expresso:
3

NPFi =

NCi,j * Ci,j
j=1

onde NCi,j = nmero funes do tipo i (i variando de 1 a 5, segundo os tipos de funo existentes: ALI, AIE, EE, SE e CE) que foram classificados na complexidade j (j variando de 1 a 3, segundo os valores de complexidade: simples, mdia e complexa). Ci,j = valor da contribuio da complexidade j no clculo dos pontos da funo i, dado pela tabela 4. Tabela 4 Contribuio das Funes na Contagem de PFs No Ajustados. Funo ALI AIE EE SE CE Simples 7 5 3 4 3 Complexidade Mdia 10 7 4 5 4 Complexa 15 10 6 7 6

2. O total de pontos de funo no ajustados (PFNA) dado pelo somatrio dos pontos das tabelas de funo:

PFNA =

i=1

NPFi

sendo que i varia de 1 a 5, segundo os tipos de funo existentes (AIL, AIE, EE, SE e CE).

Determinao do Fator de Ajuste O fator de ajuste influencia os pontos de funo no ajustados em +/- 35%, obtendose o nmero de PFs ajustados. Para se calcular o fator de ajuste, so usadas 14 caractersticas gerais dos sistemas, a saber:

1. Comunicao de Dados 2. Processamento de Dados Distribudo 3. Desempenho 4. Utilizao do Equipamento (Restries de Recursos Computacionais) 5. Volume de Transaes 6. Entrada de Dados On-line 7. Eficincia do Usurio Final (Usabilidade) 8. Atualizao On-line 9. Processamento Complexo 10. Reusabilidade 11. Facilidade de Implantao 12. Facilidade Operacional (Processos Operacionais, tais como Inicializao, Cpia de Segurana, Recuperao etc) 13. Mltiplos Locais e Organizaes do Usurio 14. Facilidade de Mudanas (Manutenibilidade) Para cada uma dessas 14 caractersticas deve-se atribuir um valor de 0 (nenhuma influncia) a 5 (forte influncia), dito grau ou nvel de influncia, que indica o quanto determinada caracterstica tem influncia no sistema. Os 14 graus de influncia (GIs) informados so somados, resultando no nvel de influncia total (NIT):
14

NIT =

i=1

GIi

Finalmente, o valor do fator de ajuste (VFA) determinado, ento, pela frmula:

VFA = (NIT * 0,01) + 0,65


Clculo dos Pontos de Funo Ajustados Uma vez calculados os PF no ajustados e o fator de ajuste, possvel calcular os PFs ajustados. Esse clculo feito de formas diferentes para cada tipo de contagem (projeto de desenvolvimento, projeto de manuteno ou aplicaes instaladas). Para projetos de desenvolvimento, o clculo dado por: PF = PFNA * VFA onde PFNA = Nmero de PFs no ajustados e VFA = valor do fator de ajuste

Referncia C. Hazan. Medio da Qualidade e Produtividade em Software, In: Qualidade e Produtividade em Software, 4 edio, K.C. Weber, A.R.C. Rocha, C.J. Nascimento (organizadores), Makron Books, 2001, p. 25 41.

As 14 Caractersticas Gerais e seus Graus de Influncia (Dias, 2004) Grau 0 1 2 3 4 5 Descrio Nenhuma influncia Influncia mnima Influncia moderada Influncia mdia Influncia significante Influncia forte

1. Comunicao de dados: os aspectos relacionados aos recursos utilizados para a comunicao de dados do sistema devero ser descritos de forma global. Descrever se a aplicao utiliza protocolos1 diferentes para recebimento/envio das informaes do sistema. 0. Aplicao batch ou funciona stand-alone; 1. Aplicao batch, mas utiliza entrada de dados ou impresso remota; 2. Aplicao batch, mas utiliza entrada de dados e impresso remota; 3. Aplicao com entrada de dados on-line para alimentar processamento batch ou sistema de consulta; 4. Aplicao com entrada de dados on-line, mas suporta apenas um tipo de protocolo de comunicao; 5. Aplicao com entrada de dados on-line e suporta mais de um tipo de protocolo de comunicao. 2. Processamento de Dados Distribudo: Esta caracterstica refere-se a sistemas que utilizam dados ou processamento distribudo, valendo-se de diversas CPUs. 0. Aplicao no auxilia na transferncia de dados ou funes entre os processadores da empresa; 1. Aplicao prepara dados para o usurio final utilizar em outro processador (do usurio final), tal como planilhas; 2. Aplicao prepara dados para transferncia, transfere-os para serem processados em outro equipamento da empresa (no pelo usurio final); 3. Processamento distribudo e a transferncia de dados on-line e apenas em uma direo; 4. Processamento distribudo e a transferncia de dados on-line e em ambas as direes; 5. As funes de processamento so dinamicamente executadas no equipamento (CPU) mais apropriada;

Protocolo um conjunto de informaes que reconhecem e traduzem para um determinado padro, informaes entre dois sistemas ou perifricos, permitindo intercmbio das informaes.

3. Desempenho: Trata-se de parmetros estabelecidos pelo usurio como aceitveis, relativos a tempo de resposta. 0. Nenhum requisito especial de desempenho foi solicitado pelo usurio; 1. Requisitos de desempenho foram estabelecidos e revistos, mas nenhuma ao especial foi requerida; 2. Tempo de resposta e volume de processamento so itens crticos durante horrios de pico de processamento. Nenhuma determinao especial para a utilizao do processador foi estabelecida. A data limite para a disponibilidade de processamento sempre o prximo dia til; 3. Tempo de resposta e volume de processamento so itens crticos durante todo o horrio comercial. Nenhuma determinao especial para a utilizao do processador foi estabelecida. A data-limite necessria para a comunicao com outros sistemas limitante. 4. Os requisitos de desempenho estabelecidos requerem tarefas de anlise de desempenho na fase de planejamento e anlise da aplicao. 5. Alm do descrito no item anterior, ferramentas de anlise de desempenho foram usadas nas fases de planejamento, desenvolvimento e/ou implementao para atingir os requisitos de desempenho estabelecidos pelos usurios. 4. Utilizao do Equipamento: Trata-se de observaes quanto ao nvel de utilizao de equipamentos requerido para a execuo do sistema. Este aspecto observado com vista a planejamento de capacidades e custos. 0. Nenhuma restrio operacional explcita ou mesmo implcita foi includa. 1. Existem restries operacionais leves. No necessrio esforo especial para atender s restries. 2. Algumas consideraes de ajuste de desempenho e segurana so necessrias. 3. So necessrias especificaes especiais de processador para um mdulo especfico da aplicao. 4. Restries operacionais requerem cuidados especiais no processador central ou no processador dedicado para executar a aplicao. 5. Alm das caractersticas do item anterior, h consideraes especiais que exigem utilizao de ferramentas de anlise de desempenho, para a distribuio do sistema e seus componentes, nas unidades processadoras. 5. Volume de transaes: Consiste na avaliao do nvel de influncia do volume de transaes no projeto, desenvolvimento, implantao e manuteno do sistema. 0. No esto previstos perodos de picos de volume de transao. 1. Esto previstos picos de transaes mensalmente, trimestralmente, anualmente ou em certo perodo do ano. 2. So previstos picos semanais. 3. So previstos picos dirios. 4. Alto volume de transaes foi estabelecido pelo usurio, ou o tempo de resposta necessrio atinge nvel alto o suficiente para requerer anlise de desempenho na fase de projeto. 5. Alm do descrito no item anterior, necessrio utilizar ferramentas de anlise de desempenho nas fases de projeto, desenvolvimento e/ou implantao.

6. Entrada de dados on-line: A anlise desta caracterstica permite quantificar o nvel de influncia exercida pela utilizao de entrada de dados no modo on-line no sistema. 0. Todas as transaes so processadas em modo batch. 1. De 1% a 7% das transaes so entradas de dados on-line. 2. De 8% a 15% das transaes so entradas de dados on-line. 3. De 16% a 23% das transaes so entradas de dados on-line. 4. De 24% a 30% das transaes so entradas de dados on-line. 5. Mais de 30% das transaes so entradas de dados on-line. 7. Usabilidade: a anlise desta caracterstica permite quantificar o grau de influncia relativo aos recursos implementados com vista a tornar o sistema amigvel, permitindo incrementos na eficincia e satisfao do usurio final, tais como: Auxlio navegao (teclas de funo, acesso direto e menus dinmicos) Menus Documentao e help on-line Movimento automtico do cursor. Movimento horizontal e vertical de tela. Impresso remota (via transaes on-line) Teclas de funo preestabelecidas. Processos batch submetidos a partir de transaes on-line Utilizao intensa de campos com vdeo reverso, intensificados, sublinhados, coloridos e outros indicadores. Impresso da documentao das transaes on-line atravs de hard copy Utilizao de mouse Menus pop-up O menor nmero possvel de telas para executar as funes de negcio. Suporte bilinge (contar como 4 itens) Suporte multilnge. (contar como 6 itens) Pontuao: 0. Nenhum dos itens descritos. 1. De um a trs itens descritos. 2. De quatro a cinco dos itens descritos. 3. Mais de cinco dos itens descritos, mas no h requisitos especficos do usurio quanto a usabilidade do sistema. 4. Mais de cinco dos itens descritos e foram estabelecidos requisitos quanto usabilidade fortes o suficiente para gerarem atividades especficas envolvendo fatores, tais como minimizao da digitao, para mostrar inicialmente os valores utilizados com mais freqncia. 5. Mais de cinco dos itens descritos e foram estabelecidos requisitos quanto usabilidade fortes o suficiente para requerer ferramentas e processos especiais para demonstrar antecipadamente que os objetivos foram alcanados.

8. Atualizaes on-line: Mede a influncia no desenvolvimento do sistema face utilizao de recursos que visem a atualizao dos Arquivos Lgicos Internos, no modo online. 0. Nenhuma. 1. Atualizao on-line de um a trs arquivos lgicos internos. O volume de atualizao baixo e a recuperao de dados simples. 2. Atualizao on-line de mais de trs arquivos lgicos internos. O volume de atualizao baixo e a recuperao dos dados simples. 3. Atualizao on-line da maioria dos arquivos lgicos internos. 4. Em adio ao item anterior, necessrio proteo contra perdas de dados que foi projetada e programada no sistema. 5. Alm do item anterior, altos volumes trazem consideraes de custo no processo de recuperao. Processos para automatizar a recuperao foram includos minimizando a interveno do operador. 9. Processamento complexo: a complexidade de processamento influencia no dimensionamento do sistema, e, portanto, deve ser quantificado o seu grau de influncia, com base nas seguintes categorias: Processamento especial de auditoria e/ou processamento especial de segurana foram considerados na aplicao; Processamento lgico extensivo; Processamento matemtico extensivo; Processamento gerando muitas excees, resultando em transaes incompletas que devem ser processadas novamente. Exemplo: transaes de autoatendimento bancrio interrompidas por problemas de comunicao ou com dados incompletos; Processamento complexo para manusear mltiplas possibilidades de entrada/sada. Exemplo: multimdia. Pontuao 0. Nenhum dos itens descritos. 1. Apenas um dos itens descritos. 2. Dois dos itens descritos. 3. Trs dos itens descritos. 4. Quatro dos itens descritos. 5. Todos os cinco itens descritos.

10. Reusabilidade: a preocupao com o reaproveitamento de parte dos programas de uma aplicao em outras aplicaes implica em cuidados com padronizao. O grau de influncia no dimensionamento do sistema quantificado observando-se os seguintes aspectos: 0. Nenhuma preocupao com reutilizao de cdigo. 1. Cdigo reutilizado foi usado somente dentro da aplicao. 2. Menos de 10% da aplicao foi projetada prevendo utilizao posterior do cdigo por outra aplicao. 3. 10% ou mais da aplicao foi projetada prevendo utilizao posterior do cdigo por outra aplicao. 4. A aplicao foi especificamente projetada e/ou documentada para ter seu cdigo reutilizado por outra aplicao e a aplicao customizada pelo usurio em nvel de cdigo -fonte. 5. A aplicao foi especificamente projetada e/ou documentada para ter seu cdigo facilmente reutilizado por outra aplicao e a aplicao customizada para uso atravs de parmetros que podem ser alterados pelo usurio. 11. Facilidade de implantao: a quantificao do grau de influncia desta caracterstica feita, observando-se o plano de converso e implantao e/ou ferramentas utilizadas durante a fase de testes do sistema. 0. Nenhuma considerao especial foi estabelecida pelo usurio e nenhum procedimento especial requerido na implantao. 1. Nenhuma considerao especial foi estabelecida pelo usurio, mas procedimentos especiais so necessrios na implementao. 2. Requisitos de converso e implantao foram estabelecidos pelo usurio e roteiro de converso e implantao foram providos e testados. O impacto da converso no projeto no considerado importante. 3. Requisitos de converso e implantao foram estabelecidos pelo usurio e roteiro de converso e implantao foram providos e testados. O impacto da converso no projeto considerado importante. 4. Alm do item 2, converso automtica e ferramentas de implantao foram providas e testadas. 5. Alm do item 3, converso automtica e ferramentas de implantao foram providas e testadas.

12. Facilidade operacional: a anlise desta caracterstica permite quantificar o nvel de influncia na aplicao, com relao a procedimentos operacionais automticos que reduzem os procedimentos manuais, bem como mecanismos de inicializao, salvamento e recuperao, verificados durante os testes do sistema. 0. Nenhuma considerao especial de operao, alm do processo normal de salvamento foi estabelecida pelo usurio. 1-4. Verifique quais das seguintes afirmativas podem ser identificadas na aplicao. Selecione as que forem aplicadas. Cada item vale um ponto, exceto se definido explicitamente: Foram desenvolvidos processos de inicializao, salvamento e recuperao, mas a interveno do operador necessria. Foram estabelecidos processos de inicializao, salvamento e recuperao, e nenhuma interveno do operador necessria (conte como dois itens) A aplicao minimiza a necessidade de montar fitas magnticas. A aplicao minimiza a necessidade de manuseio de papel. 5. A aplicao foi desenhada para trabalhar sem operador, nenhuma interveno do operador necessria para operar o sistema alm de executar e encerrar a aplicao. A aplicao possui rotinas automticas para recuperao em caso de erro. 13. Mltiplos Locais e Organizaes do Usurio: consiste na anlise da arquitetura do projeto, observando-se a necessidade de instalao do sistema em diversos lugares. 0. Os requisitos do usurio no consideraram a necessidade de instalao em mais de um local. 1. A necessidade de mltiplos locais foi considerada no projeto e a aplicao foi desenhada para operar apenas em ambientes de software e hardware idnticos. 2. A necessidade de mltiplos locais foi considerada no projeto e a aplicao est preparada para trabalhar apenas em ambientes similares de software e hardware. 3. A necessidade de mltiplos locais foi considerada no projeto e a aplicao est preparada para trabalhar em diferentes ambientes de hardware e/ou software. 4. Plano de documentao e manuteno foram providos e testados para suportar a aplicao em mltiplos locais, alm disso, os itens 1 ou 2 caracterizam a aplicao. 5. Plano de documentao e manuteno foram providos e testados para suportar a aplicao em mltiplos locais, alm disso, o item 3 caracteriza a aplicao.

14. Facilidade de mudanas: focaliza a preocupao com a influencia da manuteno no desenvolvimento do sistema. Esta influncia deve ser quantificada baseando na observao de atributos, tais como: disponibilidade de facilidades como consultas e relatrios flexveis para atender necessidades simples (conte como 1 item); disponibilidade de facilidades como consultas e relatrios flexveis para atender necessidades de complexidade mdia (conte como 2 itens); disponibilidade de facilidades como consultas e relatrios flexveis para atender necessidades complexas (conte 3 itens); se os dados de controle so armazenados em tabelas que so mantidas pelo usurio atravs de processos on-line, mas mudanas tm efeitos somente no dia seguinte; se os dados de controle so armazenados em tabelas que so mantidas pelo usurio atravs de processos on-line, as mudanas tm efeito imediatamente (conte como 2 itens). Pontuao 0. Nenhum dos itens descritos. 1. Um dos itens descritos. 2. Dois dos itens descritos. 3. Trs dos itens descritos. 4. Quatro dos itens descritos. 5. Todos os cinco itens descritos. Referncia: R. Dias, Anlise por Pontos de Funo: Uma Tcnica para Dimensionamento de Sistemas de Informao, on-line. Disponvel em: www.presidentekennedy.br/resi/edicao03/artigo02.pdf. ltimo acesso: 13.05.2004.

Você também pode gostar