PONTOS DE FUNÇÃO como ferramenta no Gerenciamento de Projetos de Sistemas Ana Maria Galvão obh @ centroin . com . br Análise de Pontos função Não se pode gerenciar o que não se pode medir Pontos de Função O gerenciamento de projetos deve ser auxiliado pela utilização de uma métrica que permita a mensuração de um projeto e consequentemente a geração de sua estimativa de prazo, custo e recursos. Produtividade no Desenvolvimento de Sistemas Produtividade = Medida do Produto do Trabalho Esforço para Produzi-lo Para minimizar distorções é importante que a medida do produto do trabalho seja padronizada e uniforme para tarefas iguais ou similares e é preferível que o esforço seja medido em termos de dedicação exclusiva ao trabalho em questão. Medida do Produto do Trabalho Este é o grande problema com que nos defrontamos nos projetos de desenvolvimento, manutenção e expansão de sistemas. Que unidade de medida padronizada e uniforme deve ser adotada para mensurar o tamanho de um projeto ? Escolha de uma medida padronizada para sistemas Linhas de código ? Módulos Implantados ? Pontos de Função podem ser utilizados para medir sistemas em várias fases do ciclo de vida de desenvolvimento, inclusive para manutenção. Técnica de Pontos de Funções Principal mérito: Abordagem das funções características de um sistema sob ponto de vista do que ele faz para usuário, num enfoque empresarial não técnico. e o o e Objetivos Medição de Funcionalidade de Sistemas de acordo com a perspectiva do usuário Comparação da produtividade entre ambientes de desenvolvimento Criação de uma unidade padrão de medida de software Melhoria de estimativas de projetos de desenvolvimento de sistemas Vantagens Transparência para o usuário final Permite estimativas de tempo, recursos e custos desde o início do ciclo de desenvolvimento, mesmo sem ter todas as informações necessárias sobre o sistema. Melhorar a qualidade dos contratos de terceirização Etapas do Processo 1. Identificação das funções do sistema. 2. Classificação de cada função quanto à complexidade funcional relativa como: simples, média ou complexa. 3. Cálculo dos pontos de função brutos através da aplicação dos pesos de acordo com a tabela específica 4. Avaliação das 14 características gerais do sistema 5. Determinação do Fator de Ajuste 6. Cálculo dos pontos de função ajustados. Etapas da Parte 1 - Levantamento dos pontos de função brutos. Parte I Etapa 2 Etapa 1 Identificar Funções Contar Elem entos Etapa 3 PESO S Pontos de Função N ão A justados Etapas da Parte 2 - Levantamento dos pontos de função ajustados. Parte II Etapa 4 Etapa 5 Pontuar Ítens de Influência D eterm inar Fator de A juste Etapa 6 Pontos de Função N ão A justados Pontos de Função (A justados) Análise de Recursos e Prazos a partir do cálculo de Pontos de Função Considerando-se a seguinte projeção: Produtividade para modelagem = 6 FP / Homem-mês Produtividade para implementação = 4 FP / Homem-mês Recursos efetivos para modelagem = 4 homens-mês Recursos efetivos para implementação = 5 homens-mês FPA = Total de Pontos de Função Ajustado contabilizado na etapa II. Estimativa de prazo a partir do cálculo de Pontos de Função Modelo Essencial = FPA X 25% Necessidade de Homens-mês = ____ / Prazo = ____ / Modelo de Implementação = 6 4 ____ / / 4 ___ FP HM ___ MÊS = FPA X 20% Necessidade de Homens-mês = Prazo ___ 6 ___ ___ FP ___ HM MÊS Prazos a partir do cálculo de Pontos de Função Implementação = FPA X 45% Necessidade de Homens-mês = ____ / 4 Prazo = ____ / 5 ____ MÊS ____ FPT ____ HM Prazo total estimado para modelagem ( ___ + ___ ) ___ Meses Prazo total estimado para implementação ___ Meses Prazo total estimado ___ Meses Estimativas de Prazo e Custos para Desenvolvimento de Sistemas Cálc u lo d e P razo Re fe re n te à Fas e d e An ális e d a MDS Re s u ltad o s d o Cálc u lo p o r FP A P o n to s Fu n ç ão To tal : P e rc e n tu al d a Fas e P o n to s d e Fu n ç ão d a Fas e : P ro d u tivid ad e Mé d ia P o n d e rad a : Es fo rç o Mé d io P o n d e rad o (h s ) : Re c u rs o Líde r de Pro je to Analis ta S is t. S R Analis ta S is t, PL Adm Dado s Co ns ulto r Pe rfil 1 Pe rfil 2 Pe rfil 3 Qtd e . 1 1 1 0 0 0 0 0 Ap lic aç ão 50% 100% 100% 0% 0% 0% 0% 0% 229,81 20% 45,96 25,00 1.149,05 hs / pf 25,00 25,00 25,00 25,00 25,00 25,00 25,00 25,00 S e m an as d a Fas e 11,49 Me s e s d a Fas e 2,87 Cu s to d a Fas e 39.067,70 Ac u m u lad o S e m an as Me s e s 11,49 2,87 Cu s to Ac u m u lad o 39.067,70 Estimativas de Recursos para o Projeto Calculo de Recursos por Fase a Partir de Prazo Limite Pontos Função Total : Percentual da Fase 1.984,85 Anális Especific. Const e r 20% 20% Teste Implant 30% 15% 5% Pontos de Função da Fase (pf): 396,97 396,97 595,46 297,73 99,24 Produtividade média (hs / pf): 40,00 40,00 40,00 40,00 40,00 5,00 5,00 7,50 4,00 1,30 19,85 19,85 19,85 18,61 19,09 Prazo Limite (MESES) Quantidade de Recursos Indicadores da análise de pontos de função Indicador de Qualidade dos projetos Indicador de Produtividade entre ambientes de programação Indicador de Produtividade entre equipes de desenvolvimento Indicador de Custo entre projetos Indicador de Custo por fase de desenvolvimento Avaliação da Qualidade Taxa de Defeitos por Aplicação 1,20 1,00 0,80 0,60 0,40 Aplicação (A) Aplicação Aplicação Aplicação (B) (C) (D) Gráfico ilustrando a quantidade falhas por pontos de função Avaliação da Produtividade em função da Linguagem 50 PF/ HM 40 30 20 10 linguagem linguagem Linguagem Linguagem (A) (B) (C) (D) Gráfico ilustrando a produtividade por linguagem Produtividade da Equipe Tax as de Pro dutividade Para Fase de Análise Re curso Ho ras / P. F. Custo H. H. ( R$ ) 0 1 - Líder de Projeto 4 4 2 ,0 0 0 2 - A nalista Sist. SR 4 3 5 ,0 0 0 3 - A nalista Sist, PL 4 3 0 ,0 0 0 4 - A dm Dados 4 3 7 ,0 0 0 5 - Consultor 4 4 0 ,0 0 0 6 - Perfil 1 4 3 5 ,0 0 0 7 - Perfil 2 6 3 0 ,0 0 0 8 - Perfil 3 8 2 5 ,0 0 Pag. 1 / 2 Custo de Projetos $ / PF 600 500 400 300 200 Projeto (A) Projeto (B) Projeto (C) Projeto (D) Gráfico ilustrando o custo por pontos de função para quatro projetos Custo Por Fase da MDS ($ / PF) 600 500 400 300 200 A n álise P ro jeto C o d ificação Im p lan tação G rá fico ilu stra n d o o cu sto p o r p o n to s d e fu n çã o p a ra q u a tro F a ses d a M D S Emprego da Técnica de Pontos de Função Levando-se em conta a necessidade de estimativas mais precisas e de melhoria no gerenciamento de projetos de desenvolvimento de sistemas, a TPF pode e deve ser aplicada desde as primeiras fases do projeto e recomenda-se a sua inclusão no ciclo de desenvolvimento de sistemas. Tipos de Contagem M a te ria l T ip o D is p o n ív e l p a ra de E s tim a tiv a d e E s fo rç o C o n ta g e m Modelo Preliminar de dados = = > 1-Contagem Indicativa de Pontos de Função Modelo e Funções Básicas = = > 2-Contagem Estimada de Pontos de Função Projeto Detalhado / Protótipo = = > 3-Contagem Detalhada de Pontos de Função Contagem Indicativa de Pontos de Função O que você obterá utilizando esta forma de cálculo? - Você obterá um valor indicativo da quantidade de pontos de função do sistema proposto sem conhecer detalhes do modelo nem do processo. Quando utilizar esta forma de cálculo ? - Esta forma de cálculo poderá ser utilizada na fase inicial da proposta de desenvolvimento, quando não se possua dados detalhados do processo, mas sim um modelo de dados Contagem Indicativa de Pontos de Função Como funciona este tipo de cálculo ? - A partir das informações obtidas do modelo de dados este cálculo indicativo derivará uma quantidade de processos referente aos arquivos lógicos e de interface e um grau de complexidade que permitirá calcular o total de pontos de função sem ter os detalhes dos arquivos ou dos processos. Contagem Estimativa de Pontos de Função O que você obterá utilizando esta forma de cálculo? - Você obterá um valor estimado da quantidade de pontos de função do sistema proposto, sem a precisão do grau de complexidade das funções. Quando utilizar esta forma de cálculo ? - Esta forma de cálculo poderá ser utilizada na fase inicial da proposta de desenvolvimento, quando não se possua dados detalhados do processo, mas sim o modelo de dados e Contagem Estimativa de Pontos de Função Como funciona este tipo de cálculo ? - A partir dos dados informados referentes às funções da técnica de pontos de função, este cálculo estimado será realizado atribuindo um grau de complexidade médio aos processos informados e baixo aos arquivos lógicos internos e de interface. Contagem Detalhada de Pontos de Função O que você obterá utilizando esta forma de cálculo? - Você obterá a quantidade de pontos de função do sistema proposto, obtido a partir do grau de complexidade das funções levantadas. Quando utilizar esta forma de cálculo ? - Esta forma de cálculo poderá ser utilizada em qualquer fase do desenvolvimento, desde que se possua dados detalhados do processo e do modelo de dados, como descrição de Contagem Detalhada de Pontos de Função Como funciona este tipo de cálculo ? - A partir dos dados informados referentes a parte de dados e de processos do sistema, o cálculo detalhado será realizado atribuindo um grau de complexidade em função das características de cada função : arquivo lógico interno, interface, entrada, saída e consulta. Tipos de Funções 1. Entradas 2. Saídas 3. Arquivo Lógico Interno 4. Arquivo de Interface Externo 5. Consulta Como Utilizar a Metodologia U suário F inal A plicação ou M ódulo E ntrada S aída A rquivos C onsulta T ransações E S A rquivos T ransações O utra A plicação ou M ódulo C TPF - Fluxo do Esquema Conceitual A rq u ivo s Inp u t Inte rfa c e P on tos d e F un ç ã o B r utos O u tp u t A va lia ç ã o das ca ra cte rís tica s Fa tor de A ju s te N íve l de In flu ê n cia P on tos de F un ç ã o S is te m a P la n e ja d o P r od u tivid a d e R ecu r so Prazo C u sto C o nsu lta s Arquivo Lógico Interno Grupo Grupo Lógico de Dados Lógico de Informações de Controle Regras de Identificação dos Arquivos Lógicos Internos Grupo Lógico de Dados que satisfaz os requerimentos do usuário É mantido dentro da aplicação através de processo elementar CASOS TÍPICOS Banco de Dados (cada arquivo lógico segundo cada visão do usuário) Tabelas do usuário Arquivos de dados extra BD Arquivos de Mensagens Arquivos de documentação On-line (Help) Arquivos de Controle / Parâmetros Não Considerar Os arquivos Lógicos internos a que o usuário não tenha acesso Arquivos internos do sistema (temporários ou de trabalho) Mais de uma vez o mesmo arquivo classificado em seqüência(s) diferente(s) Arquivos criados por Imposição de tecnologia (JCL,BAT, ...) Nível de Complexidade do Arquivo Tipos de Registro Lógico 1 2 6+ 5 Campos de Dados 1 - 19 20 - 50 51 + S S M S M C M C C Arquivo de Interface Externo Grupo Lógico de dados ou parâmetros que é transferido de uma aplicação para outra CASOS TÍPICOS: Banco de Dados compartilhado Arquivo de parâmetros compartilhado ALI de outra aplicação acessado somente para leitura pela aplicação medida. Formulário para identificação Parte de Dados Formulário de Levantamento de Arquivos/ Tabelas É m antido É apenas dentro da referenciado É um grupo É m antido Qtde Qtde de de ALI's AIE's 0 1 _________________________________ 0 0 _________________________________ 0 0 Identificação do Arquivo/Tabela aplicação que satifaz através pro- pela aplicação requer. usu. cesso elem . _________________________________ x Total Arquivos : 1 Total de ALI's : 0 Total de AIE's : 1 x Arquivos desprezados 0 Pag. 2 / 2 Formulário para Classificação de Arquivos Lógicos Internos Formulário de Arquivos Lógicos Internos Descrição da Função _____________________________________________ _____________________________________________ _____________________________________________ _____________________________________________ _____________________________________________ _____________________________________________ Registros Lógicos Qtde. de Itens 0 0 0 0 0 0 0 0 0 0 0 0 Total Arquivos Lógicos Internos : 1 Total de Simples : Total de Médios : Total de Complexos : 1 0 0 Grau de Complex. * * * * * * Pag. 2 / 2 Entrada Processos para Entrada de Dados Manutenção de Arquivo Lógico Interno inclusão exclusão alteração CASOS TÍPICOS Tela de entrada de dados (operações de inclusão,exclusão, alteração de registros) Entrada em Modo Batch (uma para cada função de manutenção) Não Considerar : Entradas necessárias apenas em função da tecnologia empregada e que não afetam nem beneficiam diretamente o usuário A parte da entrada das consultas que servem apenas para direcionar a recuperação de dados. Nível de Complexidade da Entrada Arquivos Referenciados 0 - 1 Campos de Dados 1-4 5 - 15 16 + S S M 2 S M C 3+ M C C Saída Saída Saída de dados de informações de controle para o usuário Nível de Complexidade da Saída Arquivos Referenciados Campos de Dados 1-5 6 - 19 20 + 0 - 1 S S M 2 - 3 S M C M C C 4+ Consulta Considerações: Para efeito de classificação considerar separadamente a parte da entrada e da Saída, conforme os critérios vistos anteriormente para estas funções e assumir o maior nível de complexidade entre os dois Nível de Complexidade da Consulta A r q u iv o s R e fe r e n c ia d o s 0 - 1 C am po s de D ado s 1 - 4 5 - 15 16 + S S M 2 S M C 3 + M C C 1 - 5 6 - 19 20 + 0 - 1 S S M 2 - 3 S M C M C C 4 + IN P U T OUTPUT Cálculo dos Pontos de Funções Brutos PESOS T ip o s d e F u n çõ es S M C ENTRADA 3 4 6 S A ÍD A 4 5 7 7 10 15 IN T E R F A C E 5 7 10 CONSULTA 3 4 6 A R Q . L O G .IN T . Forma de Cálculo : – A tabela anterior quando aplicada para o cálculo da quantidade de pontos de função dos arquivos lógicos internos apresentará o seguinte resultado: (Quantidade de ALI’s Simples) X 7 +(Quantidade de ALI’s Médios) X 10 +(Quantidade de ALI’s Complexos) X 15. A p lica çã o : A p lica çã o M o d elo p a ra co n ta g em T P F P o n to s d e F u n çã o n ã o -a ju sta d o s T ip o d e F u n çã o C o m p lex . F u n cio n a l A rq u iv o L ó g ico In tern o s im p le s M é d ia C o m p le x a A rq u iv o d e In terface E x t. S im p le s M é d ia C o m p le x a E n trad a E x tern a S im p le s M é d ia C o m p le x a S aíd a E x tern a S im p le s M é d ia C o m p le x a C o n su lta E x tern a S im p le s M é d ia C o m p le x a Q td e. T o ta l C o m p lex . T o ta l T ip o F u n çã o Ajuste dos Pontos de Função Brutos A valiação d as 1 4 características “N I” Ind iviual “N I” To tal F ato r d e A juste P o nto s d e F unção Bruto s P o nto s d e F unção (A justad o s) Etapas da Parte II - Levantamento dos pontos de função ajustados. Passos para calcular o fator de ajuste: Avaliar o impacto de cada uma das quatorze características atribuindo para cada característica um peso de 0 a 5. Calcular o nível de influência através da soma dos pesos de cada uma das características. Calcular o fator de ajuste a partir da equação Fator = (NI * 0,01) + 0,65. Características gerais do sistema Cada característica está associada a descrições que auxiliam a determinar o nível de influência de cada uma no sistema que está sendo medido. As características gerais do sistema podem influir no seu tamanho de -35% a +35%. Critério de Avaliação das Características Gerais e seu NI Cada uma das 14 características gerais deve ser avaliada e a ela atribuído um nível de influência que varia de 0 a 5. N ível de Influência D escrição 0 N ão existe o u não exerce 1 Po uca Influência 1 - 20 2 Influência M o derada 21 - 40 3 Influência M édia 41 - 60 4 Influência Significativa 61 - 80 5 Influência T o tal 81 - 100 % Características Gerais da Aplicação 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. TELEPROCESSAMENTO PROCESSAMENTO DISTRIBUÍDO PERFORMANCE CARGA DE MÁQUINA VOLUME DE TRANSAÇÕES ENTRADA DE DADOS ON-LINE ATUALIZAÇÕES ON-LINE EFICIÊNCIA DO USUÁRIO FINAL COMPLEXIDADE DE PROCESSAMENTO REUTILIZAÇÃO DE CÓDIGO FACILIDADE DE IMPLANTAÇÃO FACILIDADE DE OPERAÇÃO FACILIDADE DE MANUTENÇÃO / ALTERAÇÕES OPERAÇÃO EM MÚLTIPLOS LOCAIS 8. Eficiência do Usuário Final Mede o nível de “amigabilidade” da aplicação, isto é, a preocupação em aumentar a facilidade e eficiência do usuário na manipulação do sistema. Eficiência do Usuário -Itens Considerados Auxílio à navegação (teclas de função, acesso direto) Menus Documentação e telas para ajuda on-line Movimento automático do cursor scrolling vertical e horizontal Impressão remota através de transação on-line Teclas de função preestabelecidas (padrão da empresa) Processos batch submetidos a partir de transação on-line Seleção de cursor em campos da tela Utilização de campo com vídeo reverso/intensificado Impressão da documentação via “hard copy” Utilização de mouse Menus pop-up (Janelas para seleção em lista) Suporte Bilingue (conta como quatro itens) Eficiência do Usuário -Nível de Influência 0 - Nenhum dos itens descritos 1 - De 1 a 3 dos itens descritos 2 - De 4 a 5 dos itens 3 - Mais de 5 itens, mas sem haver requerimentos do usuário quanto à amigabilidade do sistema. 4 - Mais de 5 itens e há requerimentos do usuário quanto à amigabilidade do sistema que implicam em atividades, como otimização da digitação (valores default de inicialização). 5 - Mais de 5 itens e há requerimentos do usuário quanto à amigabilidade do sistema que implicam no uso de ferramentas e processos especiais para demonstrar o alcance dos objetivos pretendidos. Ajuste dos Pontos de Função Brutos A va lia ç ã o d a s 1 4 c a ra c te rístic a s “N I” Ind iviua l “N I” To ta l F a to r d e A juste P o nto s d e F unç ã o B ruto s P o nto s d e F unç ã o (A justa d o s) Ajuste dos Pontos de Função Brutos Fórmula de Cálculo: 14 NI(total) = i=1 NI i FA = 0,65 + ( 0,01 X NI) (0,65 <= Fa <= 1,35) PF = FA X PFB Exemplo do Cálculo do Fator de Ajuste: Se a soma for pesos das quatorze características for 61: Fator de Ajuste = (61 * 0,01) + 0,65 = 1,26 Se o total de Pontos de função brutos for 1000: Pontos de função = Pontos de função brutos X Fator de Ajuste = 1000 * 1,26 = 1260. Níveis de Detalhamento da Contagem Contagem em Fases Iniciais do Ciclo de Vida Arquivos Lógicos Internos e Interface Quantidade de PF’s Modelo de Dados só depende da quantidade de ALI’s e de AIE’s Processos Quantidade de PF’s É baseada no número de ALI’s e AIE’s Contagem em Fases Iniciais do Ciclo de Vida - Estimativa Modelo de Arquivos Lógicos Internos e Interface Grau de Complexidade = Simples Dados E Processos Processos Grau de Complexidade = Médio Totais de Pontos de Função no Cálculo Estimado Para cada Arquivo Lógico Interno, somar: 7 PF’s (1 arquivo lógico interno simples Para cada Arquivo Lógico Interno, somar: 5 PF’s (1 arquivo Interface simples) Criação de Banco de Dados de Histórico dos Projetos Capa / Sumário do Projeto Planilhas de Banco de Histórico da TPF Cálculo OBJETIVOS DO HISTÓRICO Monitorar os indicadores de produtividade baseados em Pontos de função Viabilizar avaliação de índices de qualidade nos projetos em função de seu tamanho medido em pontos de função Transparência dos custos dos projetos referentes ao total de pontos de função Comparação entre projetos a partir de índices de similaridade Quando Atualizar o Banco de Dados de Histórico dos Projetos ? Uma vez terminada a fase de cálculo de pontos de função para um novo projeto, os dados históricos devem ser atualizados. Ao término de cada etapa realizada para comparar a produtividade esperada e a efetivamente obtida. Definição dos Dados Históricos Projeto Plataforma Tipo de processamento predominante Tipo de linguagem Estágio de desenvolvimento Processamento distribuído Demais características Pontos de função ajustados Produtividade estimada Produtividade realizada Produtividade da Equipe Pode ser medida pela quantidade de horas que é gasta para disponibilizar uma certa quantidade de pontos de função. Por exemplo: 160 Hs / 10 Pfs ou 16 Hs / PF Etapas para cálculo da produtividade: .Utilizamos TPF para medir seu tamanho ( em PF ) .Recorremos a registros históricos para determinar o esforço despendido (em horas - pessoa) .Calculamos a produtividade obtida (em Hora / PF ) .Estabelecemos as produtividades médias obtidas para os diversos ambientes de desenvolvimento (equipe, recursos de apoio, linguagem, etc.), que serão adotadas como padrão para as estimativas de sistemas a desenvolver. Principais Fatores Que Influenciam A Produtividade de Um Projeto Inexperiência da equipe Gerenciamento ineficiente do projeto Requerimentos instáveis Falta de metodologia desenvolvimento Tamanho do Projeto de Características do Projeto que influenciam na Produtividade Ao cadastrar cada novo projeto, as características informadas no seu registro, deverão ser utilizadas para auxiliar a seleção da produtividade esperada.. TPF - Cálculo de Estimativas A rquivos Input Interface P ontos de Funç ão B r utos O utput A valiação das caract erís t icas F at or N ível de de P ontos de Funç ão A jus t e Influência Sis t em a P lanejado Pro d u tiv id a d e Re c u rs o Pra zo Cu s to C onsultas Produtividade da Equipe Tax as de Pro dutividade Para Fase de Análise Re curso Ho ras / P. F. Custo H. H. ( R$ ) 0 1 - Líder de Projeto 4 4 2 ,0 0 0 2 - A nalista Sist. SR 4 3 5 ,0 0 0 3 - A nalista Sist, PL 4 3 0 ,0 0 0 4 - A dm Dados 4 3 7 ,0 0 0 5 - Consultor 4 4 0 ,0 0 0 6 - Perfil 1 4 3 5 ,0 0 0 7 - Perfil 2 6 3 0 ,0 0 0 8 - Perfil 3 8 2 5 ,0 0 Pag. 1 / 2 Qual Produtividade adota ? Base histórica da empresa Média de outras empresas no mesmo ambiente do projeto Micro / grande porte Cobol C++ CSP Visual Basic Relacionamento entre Linguagem e Nível LIN G UA G EM C O BO L C O BO L II C O BO L / 400 C C ++ C BAS IC C LIP P E R DB C SP N ÍVE L DA LIN G UA G EM 1-3 N ÍVE L 3.0 3.0 3.5 2.5 6.0 3.5 8.0 6.0 P RO DU TI VI DA D E M ÉD IA P O R HO M EM M ÊS 5 a 10 P onto s de F unção Cálculo da Produtividade em Hs / PF LINGUAGEM Cobol NÍVEL 3.0 PF / HM 10.0 Melhor Caso Produtividade em 160 hs 16 hs Hs / PF 10 PF 1 PF Cálculo da Produtividade em Hs / PF LINGUAGEM Cobol NÍVEL 3.0 PF / HM 5.0 Pior Caso Produtividade em 160 hs 32 hs Hs / PF 5 PF 1 PF Análise de Pontos de Função como ferramenta no Gerenciamento de Projetos de Sistemas BFPUG http:// www. bfpug. com. br/ Ana Maria Galvão obh @ centroin . com . br