Baixe o app para aproveitar ainda mais
Prévia do material em texto
Qualidade de Software TAREFA 1.2 Aluno: Alexandre Alberto Aguiar. Professora: Andreza de Souza Vieira 1. Métrica direta 1.1. Análise por Pontos de Função (APF) A análise por ponto de função (APF) é uma das técnicas mais usadas para se medir projetos de desenvolvimento de software. Seu principal objetivo é estabelecer um tamanho considerando as funcionalidades implementadas, sempre sob o ponto de vista do usuário. A medida independe da tecnologia utilizada ou da linguagem de programação em que o funcionalidade foi implementada. A APF foi criada em 1977 pelo funcionário da IBM Allan J. Albrecht. Ela basicamente quantifica as funções contidas no software em termos significativos para os usuários. A medida tem relação direta com os requisitos funcionais (requisitos de negócio). Apesar de muito popular, ela também é bastante criticada por diversos autores que acreditam que ela não seja uma medida objetiva. Se fossemos fazer uma analogia, o termo mais próximo que podemos utilizar para resumir o que é a APF seria o metro quadrado do software, e podemos compará-la com a construção de uma casa, onde o construtor mede e precifica o custo de construção baseado no seu tamanho. O mesmo acontece com APF, medimos software com base no seu tamanho, porém assim como na construção civil, fatores externos além da medida devem ser avaliados, como se a casa será construída de madeira ou tijolos, ou ainda se terá um mesanino ou um terraço, e com esse conjunto de fatores temos então além de uma medida quantitativa (tamanho em m2 no caso da nossa casa), uma medida qualitativa (fatores adicionais que serão levados em consideração na construção). A análise por ponto de função tem como principais características: É independente da tecnologia utilizada; Auxilia a produção de resultados consistentes; Baseia-se na visão do usuário; Tem significado para o usuário final; Utiliza-se de estimativas; Passível de automação; Dificuldade por possuir relativa subjetividade por refletir a visão do usuário. 1.2. Contagem de APF Para se contar ponto de função e primeiro deve-se determinar o tipo de contagem. É nesse passo que é determinado o que será medido, o tipo de contagem a ser usado para medir o projeto de software, tanto no processo como no produto. Três tipos de contagens são possíveis: 1.2.1. Contagem de projeto de desenvolvimento; Mede a funcionalidade fornecida aos usua rios finais quando o projeto estiver pronto, no momento de sua instalaça o. Essa contagem tambe m abrange conversa o de dados necessa rios para implantaça o do software. 1.2.2. Contagem de projeto de melhoria (manutença o); Mede as modificações para uma aplicação já existente, o que inclui as funções incluídas, alteradas e excluídas do sistema pelo projeto, além das funções de conversão de dados 1.2.3. Contagem de aplicaça o. Mede a funcionalidade fornecida ao usuário pela aplicação instalada e em produção para que a atual funcionalidade tenha uma medida. 2. Mensuração de software APF A FPA dimensiona o software, considerando a perspectiva do usuário, quantificando a funcionalidade que ele proporciona ao seu usuário final baseado principalmente no seu desenho lógico. Uma aplicação, vista sob a ótica do usuário, é um conjunto de funções ou atividades do negócio que o beneficiam na realização de suas tarefas. Estas funções são divididas nos seguintes grupos ou tipos: ARQUIVO LÓGICO INTERNO: Representam os requerimentos de armazenamento de grupos de dados logicamente relacionados, cuja manutenção é efetuada pela própria aplicação; ARQUIVO DE INTERFACE EXTERNA: Representam as necessidades de grupos de dados logicamente relacionadas, utilizados pela aplicação, mas que sofrem manutenção a partir de outra aplicação; ENTRADAS EXTERNAS: Representam as atividades vindas diretamente do usuário, através de um processo lógico único, com o objetivo de inserir, modificar ou remover dados dos arquivos lógicos internos; SAÍDAS EXTERNAS: Representam as atividades da aplicação (processos) que têm como resultado a extração de dados da aplicação; CONSULTAS EXTERNAS: Representam as atividades que, através de uma requisição de dados (entrada), gera uma aquisição e exibição imediata da dados (saída). As funço es contribuem para o ca lculo de Pontos de Funça o com base na quantidade (nu mero de funço es) e na complexidade funcional relativa atribuí da a cada uma delas. 3. Cálculo dos APF Determina-se o número de FPA de uma aplicação em três etapas de avaliação: Primeira Etapa (Pontos de Função não-ajustados): Refletem as funções específicas e mensuráveis do negócio, providas ao usuário pela aplicação; Segunda Etapa (Fator de Ajuste): Representam a funcionalidade geral provida ao usuário pela aplicação; Terceira Etapa (Pontos de Função Ajustados): Refletem a aplicação do Fator de Ajuste sobre o resultado apurado na primeira etapa. As regras de Contagem de FPA, apresentadas adiante, estão baseadas no Manual de Práticas de Contagem da Análise por Pontos de Função - Release 3.1, publicada pelo International Function Point Users Group IFPUG. Uma função específica do usuário em uma aplicação é avaliada em termos do que é fornecido pela aplicação e não como é fornecido. Somente componentes solicitados e visíveis ao usuário são contados. As funções específicas da aplicação, sob a ótica do usuário, devem ser identificadas e agrupadas segundo o seu tipo, ou seja: Arquivos Lógicos Internos; Arquivos de Interfaces Externa; Entradas Externas; Saídas Externas e Consultas Externas. Cada função, através de critérios próprios, deverá ser classificada segundo a sua complexidade funcional relativa, em: Simples; Média ou Complexa. A cada função será atribuído um número de pontos, segundo seu tipo e complexidade funcional relativa: Exemplo de tabela para calculo de APF. Tipo de Função Complexidade Funcional Relativa SIMPLES MÉDIA COMPLEXA Arquivo Lógico Interno 7 10 15 Arquivo de Interface Externa 5 7 10 Entrada Externa 3 4 6 Saída Externa 4 5 7 Consulta Externa 3 4 6 4. Exemplo de utilização Desenvolver uma tela para um software que deva possuir a funcionalidade de cadastro de clientes. Este cadastro deverá contemplar os seguintes dados do cliente: – nome – sobrenome – data de nascimento – cpf (deve ser validado na base de dados da Receita Federal) – cep (deve ser validado na base de dados dos Correios) – cidade – estado – país Dados da equipe de desenvolvimento: 5 programadores; Expediente de 40 horas semanais (8 hrs / dia); Produtividade média = 10 hrs / PFA; Valor/Hora de cada programador = 40 reais; 4.1. Contar as funço es de dados; tipo total descrição ALI 1 1 banco de dados interno AIE 2 1 banco de dados externo dos Correios 1 banco de dados externo da Receita Federal Registro Lógico 4 1 tabela de Clientes (Banco Interno) 1 tabela de Endereços (Banco Interno) 1 tabela de Cep (Banco dos Correios) 1 tabela de Cpf (Banco da Receita Federal) Itens de Dados 13 1 atributo ‘nome’ da tabela de Cliente 1 atributo ‘sobrenome’ da tabela de Cliente 1 atributo ‘data de nascimento’ da tabela de Cliente 1 atributo ‘cpf’ da tabela de Cliente 1 atributo ‘cep’ da tabela de Endereço 1 atributo ‘cidade’ da tabela de Endereço 1 atributo ‘estado’ da tabela de Endereço 1 atributo ‘pais’ da tabela de Endereço 1 atributo ‘cep’ da tabela de Cep 1 atributo ‘cidade’ da tabela de Cep 1 atributo ‘estado’ da tabela de Cep 1 atributo ‘cpf’ da tabela de Cpf 1 atributo ‘bloqueado’ da tabela de Cpf 4.2. Contar as funço es transacionais; tipo total descrição EE 2 1 processamento do retorno da consulta de cep dos Correios 1 processamento do retorno da consulta de cpf da Receita SE 0 CE 0 4.3. Determinar pontos de funçoes na o ajustados; PFB = 1 x 7 + 2 x 5 + 2 x 3 + 0 + 0 PFB = 7 + 10 + 6 PFB = 23 4.4. Determinar o fator de ajuste; Item de dado Influência 1 atributo ‘nome’ da tabela de Cliente 5 1 atributo ‘sobrenome’ da tabela de Cliente 5 1 atributo ‘data de nascimento’ da tabela de Cliente 3 1 atributo ‘cpf’ da tabela de Cliente 5 1 atributo ‘cep’ da tabela de Endereço 5 1 atributo ‘cidade’ da tabela de Endereço 1 1 atributo ‘estado’ da tabela de Endereço 1 1 atributo ‘pais’ da tabela de Endereço 1 1 atributo ‘cep’ da tabela de Cep 5 1 atributo ‘cidade’ da tabela de Cep 1 1 atributo ‘estado’ da tabela de Cep 1 1 atributo ‘cpf’ da tabela de Cpf 5 1 atributo ‘bloqueado’ da tabela de Cpf 5 Total >>> 4 VFA = 0,65 + (0,01 x 43) VFA = 1,08 4.5. Determinar pontos de funça o ajustados PFA = 1,08 x 23 PFA = 24,84 4.6. Encontrar Custo Esforço = 10 x 24,84 = 248,4 horas Prazo = 248,4 / (5 pessoas x 8 horas diárias) = 6,21 dias Custo = 248,4 x 40 = R$ 9936,00 5. Analise Final sobre a APF. Em minha opinião o melhor método é o que resolve o problema do seu negócio e que se encaixa na cultura da sua organização, já tive oportunidade de trabalhar com empresas de software que utilizavam esta métrica para mensurar a cobrança ao cliente no fim do mês, porém sempre ficava um duvida no cliente se o que estava sendo cobrado era o que foi pedido, pois na visão do cliente o seu pedido sempre é mais simples do que na verdade é. Apesar deste sistema de medição ser amplamente usado pelas empresas de software, ainda existem melhorias contínua e progressiva que precisam ser implementadas a esse processo, melhorando assim a compreensão do cliente final e desenvolvedores. 6. Métrica Indireta Podemos considerar como medidas diretas do processo de engenharia de software o custo e o esforço aplicados no desenvolvimento e manutença o do software e do produto, a quantidade de linhas de co digo produzidas e o total de defeitos registrados durante um determinado perí odo de tempo, um fator de medida quantitativo, pore m, a qualidade e a funcionalidade do software ou a sua capacidade de manutença o sa o mais difí ceis de ser avaliadas e so podem ser medidas de forma indireta. A comparaça o do mundo real com a informaça o siste mica e uma maneira de ser fazer a avaliaça o métrica indireta, pore m a funcionalidade, eficie ncia, confiabilidade, manutenibilidada, tambe m precisam ser levados em consideraça o nesta etapa. http://www.devmedia.com.br/contagem-de-pontos-de-funcao/34390 http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1335 http://www.apfmetricas.com.br/ifpug.html https://effectiveprojects.wordpress.com/2010/10/23/exemplo-pratico-de-analise-de- ponto-de-funcao/ http://www.devmedia.com.br/analise-de-pontos-de-funcao-na-pratica/22792 Diciona rio: IFPUG : International Function Point Users Group (Grupo Internacional de Usuários de Pontos de Função), é uma entidade sem fins lucrativos, fundada em 1986, composta por voluntários, cuja missão é promover, aprimorar e incentivar o uso da Análise de Pontos de Função e outras técnicas de medição de software. http://www.devmedia.com.br/contagem-de-pontos-de-funcao/34390 http://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1335 http://www.apfmetricas.com.br/ifpug.html https://effectiveprojects.wordpress.com/2010/10/23/exemplo-pratico-de-analise-de-ponto-de-funcao/ https://effectiveprojects.wordpress.com/2010/10/23/exemplo-pratico-de-analise-de-ponto-de-funcao/ http://www.devmedia.com.br/analise-de-pontos-de-funcao-na-pratica/22792
Compartilhar