Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estácio de Sá Pós-Graduação em Engenharia de Software Disciplina: Métricas de Software Professor: Luiz Roberto Martins Bastos Recife 2018 1. Introdução Com a crescente dependência das empresas dos sistemas de informação, torna-se de extrema importância a utilização de uma ferramenta de avaliação de um software. Existem atualmente várias técnicas de medição de software com prós e contras. A Análise de Pontos de Função é uma métrica internacional de software padronizada com objetivo principal de descobrir o tamanho de um software. Ela tem como foco principal a visão do usuário, ou seja, somente são contados os requisitos funcionais (requisitos de negócio) e, por isso, não leva em consideração a linguagem de programação. A técnica de Análise de Pontos de Função foi elaborada por Allan Albrecht, em meados da década de 1970, a partir de um estudo sobre a produtividade em projetos de software. Albrecht tinha o objetivo de elaborar uma medida que observasse aspectos externos (funcionalidades) do software, independente da tecnologia utilizada, melhorando assim o nível de assertividade das estimativas. Esse estudo foi publicado em 1979. Atualmente o padrão de APF é mantido pelo International Function Point Users Group (IFPUG), entidade sem fins lucrativos cuja finalidade é promover um melhor gerenciamento dos processos de desenvolvimento e manutenção de software. O IFPUG mantém o Manual de Práticas de Contagem de Pontos de Função, que é o principal guia de APF reconhecido pelo mercado. O objetivo deste trabalho é apresentar através de exemplo um roteiro de métricas com base nas regras de contagem de Pontos de Função. 2. Sumário 1. Introdução ..................................................................................................................................................... 2 3. Objetivo ......................................................................................................................................................... 4 4. Uma aplicação da análise por Ponto de Função ............................................................................................ 5 5. Conclusão ...................................................................................................................................................... 8 6. Referências .................................................................................................................................................... 9 7. Dificuldades Encontradas .............................................................................................................................. 9 8. Lições Aprendidas ......................................................................................................................................... 9 3. Objetivo O objetivo da Análise de Pontos de Função (APF) é medir o que o software faz, e determinar o tamanho do mesmo. A partir dessa medida de tamanho é possível derivar estimativas de esforço, de produtividade, de custo e de recursos para um projeto de software. Um dos princípios da Análise por Ponto de Função é ser baseada na visão do usuário e, portanto, ser de fácil compreensão para desenvolvedores e analistas, bem como para os usuários finais. A técnica de APF consiste em atribuir um índice numérico a cada uma das funcionalidades do software, conforme a sua complexidade, a partir de um conjunto de critérios padronizados. A partir desses índices é determinada uma medida inicial de tamanho, a qual é normalizada através da incorporação de um conjunto de fatores relacionados ao software como um todo. Como resultado tem-se a quantidade de Pontos de Função do software. A técnica compreende todas as atividades relacionadas à construção e entrega dos requisitos funcionais, desde a especificação dos requisitos, passando pela análise e modelagem, até a codificação e testes, incluindo também artefatos tais como manual de utilização. O Manual de Práticas de Contagem [IFPUG, 2010b] apresenta as regras de contagem de pontos de função de projetos de desenvolvimento, melhoria e aplicações implantadas. A Figura 1 ilustra o procedimento de contagem de pontos de função. 4. Uma aplicação da análise por Ponto de Função No exemplo abaixo é descrito um sistema hipotético visando apresentar um roteiro geral dos procedimentos de contagem de Ponto de Função de maneira prática. Sistema para apoio às atividades de planejamento e acompanhamento da capacitação de funcionários. Tabela 1 – Funcionalidades do sistema Descrição da Função Tipo Funcional Complexidade Usuários ALI Simples Incluir usuário EE Simples Alterar usuário EE Simples Excluir usuário EE Simples Lista de usuários CE Simples Consultar usuários CE Simples Controle de acesso da aplicação SE Simples Alterar senha EE Simples Esqueceu senha SE Simples Capacitação ALI Média Incluir evento de capacitação EE Média Alterar evento de capacitação EE Média Planejar evento de capacitação EE Média Consultar plano evento capacitação CE Média Definir cronograma de capacitação EE Média Consultar cronograma evento capacitação SE Média Consultar eventos de capacitação por data e local SE Média Consultar detalhes de evento de capacitação CE Complexa Incluir participantes para evento EE Média Alterar participantes para evento EE Média Excluir participantes para evento EE Simples Consultar participantes cadastrados no evento CE Média Enviar para e-mail para participação do evento SE Média Informar avaliação de participante - resultados EE Simples Consultar avaliação de participante - resultados CE Média Emitir Certificado para o Participante SE Média Lista de Participantes com Emissão de Certificados CE Simples Avaliação de Evento de Capacitação ALI Simples Cadastrar avaliação de evento de capacitação EE Simples Alterar avaliação de evento de capacitação EE Simples Consultar avaliação de evento de capacitação CE Simples Consultar dados de acompanhamento da comunidade SE Média Enviar e-mail de notificação para avaliação do evento SE Média Consultas Gerenciais (3 gráficos e 3 relatórios) 6 SE Média A Tabela 2 mostra a contribuição para a contagem de Ponto de Função não ajustados. As complexidades funcionais são atribuídas través de estimativas, quando não se possui informação suficiente do projeto. Utilizaremos a complexidade Simples para os Arquivos Lógicos Internos e Externos (ALI e AIE) e a complexidade Média para as Entradas Externas (EE), Consultas Externas (CE) e Saídas Externas (SE). Tabela 2 – Contribuições para a contagem do Ponto de Função Descrição do Complexidade Tipo Funcional Simples Média Complexa Arquivo Lógico Interno (ALI) 7 10 15 Arquivo de Interface Externa (AIE) 5 7 10 Entrada Externa (EE) 3 4 6 Saída Externa (SE) 4 5 7 Consulta Externa (CE) 3 4 6 Tabela 3 – Totalização do Ponto de Função Tipo Funcional Simples Média Complexa Subtotal Arquivos Internos (ALI) 2 x 7 1 x 10 0 x 15 24 Interfaces Externas (AIE) 0 x 5 0 x 7 0 x 10 00 Entradas Externas (EE) 8 x 3 6 x 4 0 x 6 48 Saídas Externas (SE) 2 x 4 12 x 5 0 x 7 68 Consultas (SE) 4 x 3 3 x 4 1 x 6 30 SubTotal 58 106 06 170 Totalizando o tamanho em Pontos de Funções, de acordo com a Tabela 3, temos 170 Pontos de Funções não ajustados. Suponha que o fator de ajuste da contagem seja de 1,10. O fator de ajuste da contagem de PF é determinado com base na avaliação das 14 Características Gerais dos Sistemas, que descrevem asfuncionalidades gerais das aplicações, por exemplo: performance, reuso, usabilidade, etc. O cálculo do PF Ajustado é obtido multiplicando-se os Pontos de Função não Ajustados pelo Fator de Ajuste. Assim, temos 187 (170 X 1,10) Pontos de Função Ajustados estimados. Cálculo do Ponto de Função Ajustado (PFA) Para calcular Pontos por Função Ajustado, usamos a seguinte relação: PFA = Total de contagem x [ 0,65 + 0,01 x Σ (Fi) ] Onde a contagem total é a soma de todas as entradas FP obtidas da Tabela. Os Fi (i = 1 a 14) são fatores de ajuste de valor (value adjustment factors - VAF) baseados em respostas a 14 questões. Cada pergunta é respondida por meio de uma escala que varia de 0 (não importante ou não aplicável) a 5 (absolutamente essencial). Perguntas: 1. O sistema requer salvamento (backup)? 2. São necessárias comunicações de dados especializadas para transferir informações para a aplicação ou da aplicação? 3. Há funções de processamento distribuído? 4. O desempenho é crítico? 5. O sistema rodará em um ambiente operacional existente e intensamente utilizado? 6. O sistema requer entrada de dados on-line? 7. A entrada on-line de dados requer que a transação de entrada seja composta em múltiplas telas ou operações? 8. Os arquivos lógicos são atualizados on-line? 9. As entradas, saídas, arquivos ou consultas são complexas? 10. O processamento Interno é complexo? 11. O código é projetado para ser reutilizável? 12. A conversão e Instalação estão incluídas no projeto? 13. O sistema é projetado para múltiplas Instalações em diferentes organizações? 14. A aplicação é projetada para facilitar a troca e o uso pelo usuário? Cálculo do PFA após respostas Os valores constantes na Equação e os fatores de peso aplicados aos valores do domínio de informações são determinados empiricamente. Vamos imaginar que após as respostas às 14 perguntas, Fi totalizou 42. PFA = Total de contagem x [0,65 + 0,01 x Σ (Fi)] PFA = 170 x [0,65 + 0,01 x 42] PFA = 170 x 1,11 PFA = 188,7 ~= 189 5. Conclusão A indústria tem encontrado dificuldades na previsibilidade de prazo e custo dos projetos de software. No entanto, muitas organizações ainda estimam projetos de maneira “artesanal”, sem a utilização de um processo, baseando-se apenas na opinião dos líderes ou gerentes do projeto. De fato, o método de estimar projetos baseando-se na opinião de especialistas é bastante eficaz. O problema é quando a equipe não possui especialistas no domínio do projeto em questão. A técnica de Análise de Pontos de Função é largamente utilizada no mercado, servindo para diversos propósitos dentro do universo do desenvolvimento de softwares. Sua utilidade consiste em minimizar a subjetividade das estimativas de esforço, custo e prazos, a partir da padronização de critérios de definição de complexidade das funcionalidades de uma aplicação, sendo, portanto, de fundamental importância para o Engenheiro de software. 6. Referências Devmedia – Análise de pontos de função em: https://www.devmedia.com.br/analise-de-pontos-de-funcao/9146 Roteiro de Métricas de Software do SISP: versão 2.2 em: https://www.governodigital.gov.br/documentos-e- arquivos/Roteiro%20de%20Metricas%20de%20Software%20do%20SISP%20-%20v2.0.pdf Análise de Pontos por Função – O Processo de contagem em: http://fattocs.com/files/pt/livro-apf/citacao/JoseCarlosMacoratti-2005-2.pdf 7. Dificuldades Encontradas Por ser um processo subjetivo, as maiores dificuldades encontradas na utilização da métrica de contagem do ponto de função está na determinação da complexidade funcional do sistema em analise. É um processo que depende muito da documentação do sistema e da experiência do profissional envolvido. A determinação do valor do fator de ajuste é outro parâmetro que causa dificuldade na obtenção por depender muito da precisão das respostas para as 14 perguntas formuladas. 8. Lições Aprendidas A experiência adquirida no uso frequente da métrica de contagem do ponto de função faz com que a cada novo projeto o seu resultado seja cada vez mais preciso.
Compartilhar