Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pontos de FunçãoPontos de Função Não se pode gerenciar o que não se pode medir. IntroduçãoIntrodução O gerenciamento de projetos deve ser auxiliado pela utilização de uma métrica que permita a mensuração de um projeto e conseqüentemente a geração de sua estimativa de prazo, custo e recursos.de prazo, custo e recursos. Produtividade no Produtividade no Desenvolvimento Desenvolvimento de Sistemasde 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 padronizadamedida 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 TrabalhoMedida 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 deve ser adotada para mensurar o tamanho de um projeto ? EscolhaEscolha dede umauma medidamedida padronizadapadronizada parapara sistemassistemas 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çõesTécnica de Pontos de Funções Principal mérito: Abordagem das funções e características de um sistema sob o ponto de vista do que ele faz para o ponto de vista do que ele faz para o usuário, num enfoque empresarial e não técnico. ObjetivosObjetivos � 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 VantagensVantagens � 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 asdesenvolvimento, mesmo sem ter todas as informações necessárias sobre o sistema. � Melhorar a qualidade dos contratos de terceirização Etapas do ProcessoEtapas do Processo Parte I: 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 da3. Cálculo dos pontos de função brutos através da aplicação dos pesos de acordo com a tabela específica Parte 2: 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 Etapas da Parte 1 -- Levantamento dos pontos Levantamento dos pontos de função brutos.de função brutos. Parte I Identificar Funções Etapa 1 Contar Elementos PESOS Pontos de Função Não Etapa 2 Etapa 3 Não Ajustados Etapas da Parte 2 Etapas da Parte 2 -- Levantamento dos pontos Levantamento dos pontos de função ajustados.de função ajustados. Parte II Pontuar Ítens de Influência Etapa 4 Determinar Fator de Ajuste Pontos de Função Não Pontos de Função Etapa 5 Etapa 6 Influência Ajuste Não Ajustados (Ajustados) Contagem Contagem Indicativa Indicativa de de Pontos de FunçãoPontos 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 ?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 preliminar. Contagem Contagem Indicativa de Indicativa de Pontos de FunçãoPontos 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 complexidadeló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. Tipos de FunçõesTipos de Funções 1. Entradas 2. Saídas 3. Arquivo Lógico Interno3. Arquivo Lógico Interno 4. Arquivo de Interface Externo 5. Consulta Como Utilizar a MetodologiaComo Utilizar a Metodologia Usuário Final Aplicação ou Módulo Entrada Saída Consulta Arquivos Transações Arquivos Outra Aplicação ou Módulo Transações C S E Arquivo Lógico InternoArquivo Lógico Interno � Um grupo de dados ou informações de controle; Identificável pelo usuário;� Identificável pelo usuário; � Logicamente relacionado; � Mantido na fronteira da aplicação. Regras de Identificação dos Regras de Identificação dos Arquivos Lógicos InternosArquivos Lógicos Internos � Grupo Lógico de Dados que satisfaz os requerimentos do usuário � É mantido dentro da aplicação através de processo elementarprocesso elementar CASOS TÍPICOSCASOS 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 dados extra BD � Arquivos de Mensagens � Arquivos de documentação On-line (Help) � Arquivos de Controle / Parâmetros Não ConsiderarNã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� Mais de uma vez o mesmo arquivo classificado em seqüência(s) diferente(s) � Arquivos criados por Imposição de tecnologia (JCL,BAT, ...) Exemplos de ALIExemplos de ALI � Cadastro de Produtos � Cadastro de Funcionários � Cadastro de Cliente � Arquivo de controle de acesso à aplicação� Arquivo de controle de acesso à aplicação � Arquivo de dependente Nível de Complexidade do ArquivoNível de Complexidade do Arquivo Tipos de Registro Lógico 1 - 19 20 - 50 51 + Campos de Dados 1 S S M 2 - 5 S M C 6 + M C C Arquivo de Interface ExternoArquivo de Interface Externo � Grupo Lógico de dados ou parâmetros que é transferido de uma aplicação para outra, ou seja: Um grupo de dados ou informações de controle; Identificável pelo usuário; Logicamente relacionado;Logicamente relacionado; Referenciado (lido) pela aplicação. 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. EntradaEntrada Um processo elementar; Faz o processamento de dados ou informações de controle recebido de fora da fronteira da aplicação; Tem como objetivo manter (incluir, alterar ou Tem como objetivo manter (incluir, alterar ou excluir dados de) um ou até mais ALIs e ou modificar o comportamento do sistema. Manutenção de Arquivo Lógico Interno inclusão exclusão alteração CASOS TÍPICOSCASOS TÍPICOS � Tela de entrada de dados (operações de inclusão, exclusão, alteração de registros) � Menus; � Telas de login;� Telas de login; � Telas de filtro de relatório e consultas. � Entrada em Modo Batch (uma para cada função de manutenção) Não Considerar :Não Considerar : � Entradas necessárias apenas em função da tecnologia empregada e que não afetam nem beneficiam diretamente o usuáriousuário � A parte da entrada das consultas que servem apenas para direcionar a recuperação de dados. Nível de Complexidade da EntradaNível de Complexidade da Entrada Arquivos Referenciados 1 - 4 5 - 15 16 + Campos de Dados 0 - 1 S S M 2 S M C 3 + M C C SaídaSaída Um processo elementar; Enviam dados ou informações de controle para fora da fronteira da aplicação; Tem como principal intenção por meiode lógica de processamento apresentar ao usuário informação. processamento apresentar ao usuário informação. Essa lógica de processamento deve conter obrigatoriamente pelo menos uma fórmula matemática ou cálculo. Exemplo de SaídaExemplo de Saída � Arquivos que também são atualizados por relatórios; � Informações em formato geográfico; � Tela de login (com criptografia); � Gerado para outra aplicação arquivo de movimento � Gerado para outra aplicação arquivo de movimento (ex: arquivo de retorno ou remessa); � Relatório com totalização de dados; � Apresentação de dados derivados ou consultas com cálculos; Nível de Complexidade da SaídaNível de Complexidade da Saída Arquivos Referenciados 1 - 5 6 - 19 20 + Campos de Dados 0 - 1 S S M 2 - 3 S M C 4 + M C C ConsultaConsulta � Um processo elementar; � Envia dado ou informação de controle para fora da fronteira da aplicação; � Tem como principal objetivo mostrar informações ao usuário através de uma recuperação de dados ou usuário através de uma recuperação de dados ou informações de controles de ALIs e ou AIE. Sua lógica de processamento não deve haver nenhuma fórmula ou cálculo matemático. Exemplo de ConsultasExemplo de Consultas � Consulta ao cadastro de clientes; � Telas de logon com funções de segurança; � Telas de menu se solicitado ao usuário; � Tela de menu que só provê seleção de tela e consulta de dados. consulta de dados. Nível de Complexidade da ConsultaNível de Complexidade da Consulta 1 - 5 6 - 19 20 + Arquivos Referenciados 6 - 19 0 - 1 S S M 2 - 3 S M C 4 + M C C Cálculo dos Pontos de Funções BrutosCálculo dos Pontos de Funções Brutos Tipos de Funções S M C ENTRADA 3 4 6 PESOS SAÍDA 4 5 7 ARQ. LOG.INT. 7 10 15 INTERFACE 5 7 10 CONSULTA 3 4 6 Forma de Cálculo :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:resultado: (Quantidade de ALI’s Simples) X 7 +(Quantidade de ALI’s Médios) X 10 +(Quantidade de ALI’s Complexos) X 15. Ajuste dos Pontos de Função BrutosAjuste dos Pontos de Função Brutos Avaliação das 14 características “NI” Indiviual “NI” Total Fator de Ajuste Pontos de Função (Ajustados) Pontos de Função Brutos Etapas da Parte II Etapas da Parte II -- Levantamento Levantamento dos pontos de função ajustados.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.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 sistemaCaracterí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. 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 Critério de Avaliação das Características Gerais e seu NICaracterí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 Descrição % 0 Não existe ou não exerce 1 Pouca Influência 1 - 20 2 Influência Moderada 21 - 40 3 Influência Média 41 - 60 4 Influência Significativa 61 - 80 5 Influência Total 81 - 100 Características Gerais da AplicaçãoCaracterísticas Gerais da Aplicação � 1. TELEPROCESSAMENTO � 2. PROCESSAMENTO DISTRIBUÍDO � 3. PERFORMANCE � 4. CARGA DE MÁQUINA � 5. VOLUME DE TRANSAÇÕES � 6. ENTRADA DE DADOS ON-LINE� 6. ENTRADA DE DADOS ON-LINE � 7. ATUALIZAÇÕES ON-LINE � 8. EFICIÊNCIA DO USUÁRIO FINAL � 9. COMPLEXIDADE DE PROCESSAMENTO � 10. REUTILIZAÇÃO DE CÓDIGO � 11. FACILIDADE DE IMPLANTAÇÃO � 12. FACILIDADE DE OPERAÇÃO � 13. FACILIDADE DE MANUTENÇÃO / ALTERAÇÕES � 14. OPERAÇÃO EM MÚLTIPLOS LOCAIS 8. Eficiência do Usuário Final8. 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.do usuário na manipulação do sistema. Eficiência do UsuárioEficiência do Usuário --Itens ConsideradosItens 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� 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) � Suporte a mais de duas línguas (conta como seis itens) Eficiência do UsuárioEficiência do Usuário --Nível de InfluênciaNí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 � 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 ferramen-tas e processos especiais para demonstrar o alcance dos objetivos pretendidos. Ajuste dos Pontos de Função BrutosAjuste dos Pontos de Função Brutos A va lia ç ão d a s 1 4 c a ra c te rís tic a s “N I” Ind iviua l “N I” To ta l F a to r d e A jus te P o nto s d e F unç ão (A jus tad o s) P o nto s d e F unção B ruto s Ajuste dos Pontos de Função BrutosAjuste dos Pontos de Função Brutos Fórmula de Cálculo: NI(total) = NI 14 i=1 iNI(total) = NI FA = 0,65 + ( 0,01 X NI) (0,65 <= Fa <= 1,35) PF = FA X PFB i=1 i Exemplo do Cálculo doExemplo do Cálculo do Fator de Ajuste:Fator de Ajuste: Se a soma for pesos das quatorze características for 61: Fator de Ajuste = (61 * 0,01) + 0,65 = 1,26= 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. Criação de Banco de Dados de Histórico dos Criação de Banco de Dados de Histórico dos ProjetosProjetos Capa / Sumário do Projeto Planilhas Projeto Planilhas de Cálculo Banco de Histórico da TPF OBJETIVOS DO HISTÓRICOOBJETIVOS 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çãofunçã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 Quando Atualizar o Banco de Dados de Histórico dos Projetos ?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� Ao término de cada etapa realizada para comparar a produtividade esperada e a efetivamente obtida. Definição dos Dados Definição dos Dados HistóricosHistó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 EquipeProdutividade da Equipe � Pode ser medida pela quantidade de horas que é gasta para disponibilizar uma certa quantidade de pontos deuma certa quantidade de pontos de função. � Por exemplo: 160 Hs / 10 Pfs ou 16 Hs / PF Etapas para cálculo da produtividade: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 )� 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 Principais Fatores Que Influenciam A Produtividade de Um ProjetoProdutividade de Um Projeto ◦ Inexperiência da equipe ◦ Gerenciamento ineficiente do projeto ◦ Requerimentos instáveis◦ Requerimentos instáveis ◦ Falta de metodologia de desenvolvimento ◦ Tamanho do Projeto Características do Projeto que Características do Projeto que influenciam na Produtividadeinfluenciam na Produtividade � Ao cadastrar cada novo projeto, as características informadas no seu registro, deverão ser utilizadas pararegistro, deverão ser utilizadas para auxiliar a seleção da produtividade esperada. TPF - Cálculo de EstimativasTPF - Cálculo de Estimativas Pontos de Função Brutos Input Output Interface Consultas Arquivos BrutosOutput Consultas Pontos de Função Avaliação das características Nível de Influência Fator de Ajuste Produtividade Recurso Prazo Custo Sistema Planejado Produtividade da EquipeProdutividade da Equipe Taxas de Produtividade Para Fase de Análise Recurso Horas / P.F. Custo H.H. ( R$ ) 01- Líder de Projeto 4 42,00 02- Analista Sist. SR 4 35,00 03- Analista Sist, PL 4 30,00 03- Analista Sist, PL 4 30,00 04- Adm Dados 4 37,00 05- Consultor 4 40,00 06- Perfil 1 4 35,00 07- Perfil 2 6 30,00 08- Perfil 3 8 25,00 Pag. 1 / 2 Qual Produtividade adotar ?Qual Produtividade adotar ? � Base histórica da empresa � Média de outras empresas no mesmo ambiente do projeto ambiente do projeto � Micro / grande porte � Delphi � Java � Lotus Notes � Visual Basic ProdutividadeProdutividade Delphi – 7,5h/PF com variação entre -1,5h e +2,5h Java – 10h/PF com variação entre -3h e +4,5h Lotus Notes - 4h/PF com variação entre -0,5h e +3hLotus Notes - 4h/PF com variação entre -0,5h e +3h Natural - 9h/PF com variação entre -3h e +5h PHP - 5h/PF com variação entre -1h e +7h SQL - 6h/PF com variação entre -1,5h e +3h VBA - 8h/PF com variação entre -2,5h e +2h Visual Basic - 8h/PF com variação entre -2h e +3h Fonte: http://www.blogcmmi.com.br/engenharia/produtividade-das-linguagens-em-pontos-por-funcao-apf
Compartilhar