Baixe o app para aproveitar ainda mais
Prévia do material em texto
MÉTRICAS DE SOFTWARE 1 Aula 2: Pontos por função ............................................................................................................. 2 Introdução ............................................................................................................................. 2 Conteúdo ................................................................................................................................ 3 Métricas baseadas em função ou Pontos por Função (PF) ........................................ 3 Valores do domínio de informações ............................................................................. 3 Valores do domínio de informações – Tabela de PF .................................................. 4 Exemplo de aplicação de Ponto de Função Não Ajustado (PFNA) .......................... 5 Exemplo de Diagrama de Fluxo de Dados (DFD) simples .......................................... 8 Cálculo dos Pontos por Função .................................................................................... 10 Método para estimativa de custo – exemplo SERPRO ............................................. 10 Contagem de Pontos por Função de Projetos de Manutenção ............................. 12 Pontos de Casos de Uso (PCU) ..................................................................................... 12 Calculando o peso dos Atores do Sistema ................................................................. 13 Atividade Proposta .......................................................................................................... 14 Referências........................................................................................................................... 14 Exercícios de fixação ......................................................................................................... 14 Chaves de resposta ..................................................................................................................... 19 Aula 2 ..................................................................................................................................... 19 Exercícios de fixação ....................................................................................................... 19 MÉTRICAS DE SOFTWARE 2 Introdução Nesta aula, você compreenderá como devem ser usadas as seguintes métricas: Pontos por Função (PF); Ponto por Função Não Ajustado (PFNA); Pontos por Função para Diagrama de Fluxo de Dados (DFD) simples; Método para Estimativa de Custo; Contagem de Pontos por Função de Projetos de Manutenção; Pontos de Casos de Uso (PCU); e Peso dos Atores do Sistema. Essa abordagem é muito importante devido à necessidade de justificar prazos e custos do software. Bons estudos! Objetivo: 1. Identificar os Pontos por Função; 2. Compreender a aplicação dos Pontos por Função. MÉTRICAS DE SOFTWARE 3 Conteúdo Métricas baseadas em função ou Pontos por Função (PF) Para que servem os Pontos por Função? Pontos por Função medem o tamanho funcional do software. Da mesma forma que somente os metros quadrados são insuficientes para administrar uma construção, PF são insuficientes para administrar um projeto de SW. Para que servem as métricas Pontos por Função? A métrica Ponto por Função pode ser usada efetivamente como um meio para medir a funcionalidade fornecida por um sistema. Por meio de dados históricos, a métrica FP pode ser empregada para: Estimar o custo necessário para projetar, codificar e testar o software; Prever o número de erros que serão encontrados durante o teste; Prever o número de componentes e/ou o número de linhas projetadas de código-fonte no sistema implementado. Valores do domínio de informações A métrica Pontos por Função está baseada em medidas calculáveis (diretas) do domínio do software e avaliações qualitativas da complexidade do software. Valores do domínio de informações são definidos da seguinte maneira: Entradas externas (number of external inputs - EEs): cada entrada externa é originada de um usuário ou transmitida de outra aplicação e fornece dados distintos orientados à aplicação ou informações de controle. Arquivos lógicos internos (internal logic files - ILFs): as entradas devem ser diferenciadas das consultas, que são contadas separadamente. Cada MÉTRICAS DE SOFTWARE 4 arquivo lógico interno é um agrupamento lógico de dados que reside dentro das fronteiras do aplicativo e é mantido através de entradas externas. Saídas externas (number of external outputs - EOs): cada saída externa é formada por dados derivados da aplicação e fornece informações para o usuário. São relatórios, telas, mensagens de erro etc. Consultas externas (number of external inquiries - EQs): uma consulta externa é definida como uma entrada online que resulta na geração de alguma resposta imediata do software na forma de uma saída online. Arquivos lógicos internos (number of internal logical files ILFs): cada arquivo lógico interno é um agrupamento lógico de dados que reside dentro das fronteiras do aplicativo e é mantido através de entradas externas. Arquivos de interface externos (number of external interface files - EIFs): cada arquivo de interface externo é um agrupamento lógico de dados que reside fora da aplicação, mas fornece informações que podem ser usadas pela aplicação. Valores do domínio de informações – Tabela de PF Uma vez coletados os dados, a tabela de PF é preenchida associando um valor de complexidade com cada contagem. Organizações que usam métodos Ponto por Função desenvolvem critérios para definir se determinada entrada é simples, média ou complexa. No entanto, a determinação da complexidade é de certo modo subjetivo. Veja o quadro: MÉTRICAS DE SOFTWARE 5 Exemplo de aplicação de Ponto de Função Não Ajustado (PFNA) Um software a ser desenvolvido necessita da aplicação da métrica Pontos por Função. Segundo a equipe de desenvolvimento, a seguinte relação foi determinada ainda na fase de requisitos em consonância com o cliente em função dos arquivos que farão parte do software e seus respectivos pesos com relação ao PF total. Para calcular o PF devemos seguir os seguintes passos: - Eleger um dos tipos de função, preferencialmente aqueles que representam altos percentuais, que são: Arquivos Internos - Entradas Externas - Saídas Externas. - Obter o número de ocorrências do tipo de função eleito. - Calcular Pontos de Função Não Ajustados (PFNA). MÉTRICAS DE SOFTWARE 6 - Utilizar o Fator de Ajuste da Complexidade = 1. Durante as conversas preliminares com o cliente, verificou-se que os Arquivos Internos seriam facilmente identificáveis, o que os credenciou como melhor parâmetro para as estimativas de pontos de função. Verificou-se que o total de Arquivos Internos é 13, portanto, complexidade média, segundo a tabela definida pela equipe de desenvolvimento: Concluímos que o software é de complexidade Média, pois 13 está na faixa 6 a 19. Considere este número e veja a seguir a continuidade dos cálculos. Cálculo do PFNA a) Como Arquivos Internos representam 25% do total dos PF: 25% ===> 13 100% ===> PF PF = (13 * 100) / 25 = 52 b) Interfaces Externas: 3% de 52 = 1,56 ( ~= 2) Entradas Externas: 30% de 52 = 15,6 ( ~= 16) Saídas Externas: 28% de 52 = 14,56 ( ~= 15) Consultas: 14% de 52 = 7,28 ( ~= 7) Obs.: os arredondamentos devem obedecer o padrão. Tabela do PFPodemos preencher a tabela de PF usando a coluna Complexidade Média. MÉTRICAS DE SOFTWARE 7 Cálculo do PFA Ponto de Função Ajustado (PFA) Para calcular Pontos por Função Ajustado, usa-se 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 uma dessas perguntas é respondida por meio de uma escala que varia de 0 (não importante ou não aplicável) a 5 (absolutamente essencial). Observe: 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 ILFs (arquivos lógicos) são atualizados on-line? MÉTRICAS DE SOFTWARE 8 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. Dando prosseguimento ao exercício, vamos imaginar que após as respostas às 14 perguntas, Fi totalizou 42. Então: PFA = Total de contagem x [0,65 + 0,01 x ∑ (Fi)] PFA = 311 x [0,65 + 0,01 x 42] PFA = 311 x 1,11 PFA = 311 x 1,07 = 332,77 ~= 333 Avance a tela para acompanhar um exemplo de Diagrama de Fluxo de Dados (DFD) simples. Exemplo de Diagrama de Fluxo de Dados (DFD) simples Um software a ser desenvolvido necessita da aplicação da métrica Pontos por Função. Segundo a equipe de desenvolvimento, a seguinte relação foi determinada ainda na fase de requisitos em consonância com o cliente em função dos arquivos que farão parte do software e seus respectivos pesos com relação ao PF total. MÉTRICAS DE SOFTWARE 9 O Diagrama de Fluxo de Dados é avaliado para determinar um conjunto-chave de medidas de domínio de informação necessárias para a computação da métrica ponto de função: 3 entradas externas — senha, botão de emergência e ativar/desativar. 2 consultas externas — consulta de zona e consulta de sensor. 1 arquivo lógico interno (ILF) — arquivo de configuração do sistema. 2 saídas externas — mensagens e estado do sensor. 4 arquivos de interface externa (EIF) — sensor de teste, configuração de zona, ativar/desativar e alerta de alarme. MÉTRICAS DE SOFTWARE 10 Cálculo dos Pontos por Função O total da contagem apresentado no quadro Pontos por Função deve ser ajustado usando a Equação, supondo que: ∑ (Fi) = 46 Portanto, FP = 50 X [0,65 + (0,01 X 46)] = 56 PF = 50 x (0,65 + 0,46) =~ 56” Avance e acompanhe o Método para Estimativa de Custo. Método para estimativa de custo – exemplo SERPRO A estimativa de custo do projeto deve levar em consideração o custo da mão de obra, considerando o esforço e o custo da hora de todos os profissionais envolvidos no desenvolvimento da solução de software. Além do custo da mão de obra e recursos computacionais, devem ser considerados outros custos, tais como: Treinamento MÉTRICAS DE SOFTWARE 11 Consultoria Viagens Licenças de software Custos indiretos etc. Cálculo Custo do Projeto (CP) Sugere-se a seguinte fórmula para calcular o custo relativo à mão de obra para o desenvolvimento da solução (CP – Custo do Projeto). CP = (QHC x VPC) + (QHA x VPA) + (QPF x EPF x VPA) + Outros Custos Onde: QHC = Quantidade de Horas do Consultor VPC = Valor da Hora do Consultor QHA = Quantidade de Horas do Analista VPA = Valor da Hora do Analista QPF = Tamanho do Projeto em PF EPF = Esforço para implementar um Ponto por Função na plataforma em questão Cálculo Preço Fixo por Ponto por Função Caso o contrato seja de preço fixo por Ponto de Função, então pode-se considerar o seguinte: CP = (QHC x VPC) + (QHA x VPA) + (QPF x VPF) Onde: VPF = Valor Unitário do PF para o projeto em questão - Identificado de acordo com a Tabela de Serviço Padrão do Sistema de Orçamento Técnico. MÉTRICAS DE SOFTWARE 12 Contagem de Pontos por Função de Projetos de Manutenção Para que serve a contagem de Pontos por Função de Projetos de Manutenção? Esta contagem tem como propósito descrever os diversos tipos de projetos de manutenção e mostrar uma solução para o seu dimensionamento em Pontos por Função, visto que o manual de práticas de contagem não contempla projetos de manutenção (maintenance), apenas o de melhoria (enhancement). Quanto à documentação de projetos de manutenção pequenos (menores que 100 PF), deve-se registrar a solicitação do cliente e documentar os requisitos da aplicação impactada pela demanda, de forma detalhada, visando apoiar a contagem de Pontos de Função da demanda. É importante também documentar as estimativas e a contagem de Pontos por Função. Pontos de Casos de Uso (PCU) Quais são as características? É possível estimar o tamanho do sistema ainda na fase de levantamento de casos de uso. Estima o dimensão do sistema de acordo com: O modo como os usuários o utilizarão; A complexidade de ações requeridas por tipo de usuário; A análise em alto nível dos passos necessários para a realização de cada tarefa. O que é preciso para gerar estimativas com PCU? Calcular o peso dos Atores do Sistema; Calcular o peso dos casos de uso; MÉTRICAS DE SOFTWARE 13 Calcular fatores de ajuste; Calcular o Porte do Sistema. Calculando o peso dos Atores do Sistema Ações Encontrar a métrica UAW (Unadjusted Actor Weight). Classificar atores envolvidos em cada caso de uso. Somar os produtos do número de atores de cada tipo pelo respectivo peso. Quadro Tipo de autor/peso Exemplo Um sistema projetado para dois tipos de usuários (gerente e usuário comum) e que fosse acessado por um outro sistema utilizando-se de um protocolo de comunicação, por exemplo, teria um valor de UAW de 8 (2 atores de nível complexo e 1 ator de nível médio). UAW = (2 * 3) + (1 * 2) UAW = 8 MÉTRICAS DE SOFTWARE 14 Atividade Proposta Discuta sobre a importância da adoção de métricas no processo de qualidade de software. Chave de resposta: O processo de desenvolvimento de software deve ter o foco na qualidade. Material complementar Para saber mais sobre Pontos por Função, acesse o vídeo disponível em nossa biblioteca virtual. Referências PRESSMAN, Roger S. Engenharia de software. 7. ed. Mc Graw Hill, 2011. SOMMERVILLE, Ian. Engenharia de software. 8. ed. Mc Graw Hill, 2007. PADUA Filho, Wilson de. Engenharia de software: fundamentos, métodos e padrões. 3. ed. Rio de Janeiro: Editora LTC, 2009. PETERS, JamesF. Engenharia de software. 3. ed. Campus, 2001. VAZQUEZ, C.E. , SIMÕES, G.S., ALBERT, R.M. Análise de ponto de função medição, estimativa e gerenciamento de projetos de software. São Paulo: Editora Érica, 2009. Exercícios de fixação Questão 1 A Métrica de software baseadas em Pontos por Função mede: a) O tamanho funcional do software. b) A complexidade dos testes de software. c) A extensão das sub-rotinas. d) A quantidade de classes. e) A qualidade do software. MÉTRICAS DE SOFTWARE 15 Questão 2 A métrica Ponto por Função usa dados históricos para: I — Estimar o custo necessário para projetar, codificar e testar o software. II — Prever o número de erros que serão encontrados durante o teste. III — Prever o número de componentes e/ou o número de linhas projetadas de código-fonte no sistema implementado. a) Todas corretas b) Apenas I c) Apenas II d) Apenas II e III e) Apenas I e III Questão 3 A métrica Pontos por Função está baseada em medidas calculáveis do domínio do software e avaliações qualitativas da complexidade do software. Um dos domínios, “Entradas externas”, é definido como: a) Originado de um usuário ou transmitido de outra aplicação e fornece dados distintos à aplicação ou informações de controle. b) Um agrupamento lógico de dados que reside dentro das fronteiras do aplicativo. c) Um agrupamento lógico de dados que reside fora da aplicação, mas fornece informações que podem ser usadas pela aplicação. d) Uma entrada online que resulta na geração de alguma resposta imediata do software na forma de uma saída online. e) Domínio formado por dados derivados da aplicação e que fornece informações para o usuário. Questão 4 A métrica Pontos por Função está baseada em medidas calculáveis do domínio do software e avaliações qualitativas da complexidade do software. Um dos domínios, “Arquivos lógicos internos”, é definido como: MÉTRICAS DE SOFTWARE 16 a) Um agrupamento lógico de dados que reside dentro das fronteiras do aplicativo. b) Entrada originada de um usuário ou transmitida de outra aplicação e que fornece dados distintos à aplicação ou informações de controle. c) Um agrupamento lógico de dados que reside fora da aplicação, mas fornece informações que podem ser usadas pela aplicação. d) Uma entrada online que resulta na geração de alguma resposta imediata do software na forma de uma saída online. e) Domínio formado por dados derivados da aplicação e que fornece informações para o usuário. Questão 5 Na gestão de escopo de software, três elementos são essenciais em um projeto de software. Analise as afirmativas e identifique-as como verdadeiras (V) ou falsas (F). ( ) Após a definição do escopo, não é comum existirem mudanças no desenvolvimento de projetos. ( ) A técnica de reuso de software nunca vai beneficiar a qualidade do projeto. ( ) A técnica de reuso de software colabora para a redução do prazo do projeto. ( ) Mesmo as pequenas mudanças de escopo devem ser registradas e analisadas. ( ) Profissionais que dominam a Análise de Ponto por Função fazem com que o cálculo da estimativa de esforço e custo seja uma ciência exata. Questão 6 (CESGRANRIO – 2012 – Chesf) Um engenheiro de software fez uma contagem de pontos por função de um software a ser desenvolvido e levantou as seguintes informações: COMPLEXIDADE EE – 3 4 6 SE – 4 5 7 CE – 3 4 6 ALI – 7 10 15 AIE – 5 7 10 MÉTRICAS DE SOFTWARE 17 Considerando as possíveis complexidades de cada função de negócio, os valores mínimos e máximos da contagem não ajustada de Pontos por Função serão respectivamente: a) 143 e 363 b) 177 e 361 c) 177 e 363 d) 179 e 361 e) 179 e 363 Questão 7 Em que consiste a modalidade preço por PF (Ponto por Função)? a) É o valor global que uma empresa fornecedora está cobrando para um determinado serviço. b) É o valor unitário negociado com o qual se fará a transação comercial para um desenvolvimento de software. c) É um valor de referência de custo e que deve participar de um contrato. d) É um valor que serve para medir a produtividade de um programador. e) É um valor que serve para definir o quanto se pode pagar ao profissional contratado (em regime CLT) em uma empresa. Questão 8 (FCC – 2012 – TRE-CE) Considere 3 AIEs simples, 5 EEs médias, 8 CEs complexas, 3 ALIs complexos e 7 SEs médias. O cálculo de PFs bruto é: Onde: PF = Contagem total x (0,65 + 0,01 x Soma Fi) COMPLEXIDADE EE – 3 4 6 SE – 4 5 7 CE – 3 4 6 ALI – 7 10 15 AIE – 5 7 10 MÉTRICAS DE SOFTWARE 18 a) 136 b) 148 c) 159 d) 163 e) 212 Questão 9 A Análise de Pontos por Função (APF) é uma técnica para a medição de projetos de desenvolvimento de software que visa estabelecer uma medida de tamanho, em PFs, considerando a funcionalidade implementada, sob o ponto de vista do usuário. Analise as afirmativas a seguir, relacionadas à APF: I — É uma ferramenta que permite determinar o tamanho de pacotes de software adquiridos, através da contagem de todos os Pontos por Função incluídos no pacote. II — É uma ferramenta que permite estimar custos e recursos envolvidos em projetos de desenvolvimento e manutenção de software. III — O Ponto por Função não ajustado é definido pelo produto da contagem por um fator de ajuste. a) Apenas a afirmativa III b) Apenas a afirmativa II c) Apenas as afirmativas I e III d) Apenas as afirmativas I e II e) Todas as afirmativas estão corretas Questão 10 Uma das boas práticas utilizadas pelas empresas para contratar fornecedores desenvolvedores de software é homologá-los previamente. Assim, sempre que houver alguma demanda de software para ser desenvolvido poderemos afirmar que: a) Todos os fornecedores cobrarão o mesmo valor pelo projeto. b) Todos os fornecedores participarão de todas as propostas. MÉTRICAS DE SOFTWARE 19 c) A contratante pode exigir que cada proposta apresente a quantidade de Pontos por Função do projeto de forma detalhada, o que tornará mais fácil comparar as propostas. d) A contratada pode exigir que cada proposta apresente a quantidade de Pontos por Função do projeto de forma detalhada, o que tornará mais fácil comparar as propostas. e) A contratada pode exigir que cada proposta apresente a quantidade de Pontos por Função do projeto de forma detalhada, o que tornará mais difícil comparar as propostas. Aula 2 Exercícios de fixação Questão 1 - A Justificativa: Por definição, Pontos por Função medem o tamanho funcional do software. Questão 2 - A Justificativa: Por melo de dados históricos, a métrica FP pode ser empregada para estimar o custo, prever o número de erros que serão encontrados durante o teste e prever o número de componentes e/ou o número de linhas projetadas de código-fonte. Questão 3 - A Justificativa: Entrada externa não reside dentro do aplicativo. Ë fornecida pelo usuário e/ou por outra aplicação. Questão 4 - A Justificativa: Arquivo lógico interno, conforme o seu nome diz, reside dentro da fronteira do software. MÉTRICAS DE SOFTWARE 20 Questão 5 - F, F, V, V, F Justificativa: A maioria dos projetos passa por mudanças ao longo do ciclo de vida. Métrica de software não pretende obter medidas exatas, mas uma estimativa de esforço. A técnica de reuso é recomendada no desenvolvimento de software e na sua qualidade. Toda alteraçõesno software deve ser documentada. Portanto, a resposta correta é F-F-V-V-F Questão 6 - E Justificativa: Mínimo: (8 x 3) + (10 x 4) + (0 x 3) + (15 x 7) + (2 x 5) = 179 Máximo: (8 x 6) + (10 x 7) + (0 x 6) + (15 x 15) + (2 x 10) = 363 Questão 7 - B Justificativa: A técnica Pontos por função é usado pelos desenvolvedores par determinar o esforço no desenvolvimento do software. Assim, o custo do software pode ser estimado. Questão 8 - D Justificativa: Solução: (3 x 5) + (5 x 4) + (8 x 6) + 3 x 15) + (7 x 5) = 163 Questão 9 - D Justificativa: Pontos por função ajustado é definido pelo produto da contagem por um fator de ajuste, o que contradiz o item III. A técnica Pontos por Função determina o tamanho do software e os custos correspondentes. Questão 10 - C Justificativa: Nos editais das licitações públicas para desenvolvimento de software, pontos por função tem sido uma exigência do contratante.
Compartilhar