Método do Ponto de Função de Albrecht
A métrica de ponto de função fornece um método padronizado para medir as várias funções de um aplicativo de software. Ele mede a funcionalidade do ponto de vista do usuário, ou seja, com base no que o usuário solicita e recebe em troca. A análise de pontos de função é um método padrão para medir o desenvolvimento de software do ponto de vista do usuário.
A medida de Ponto de Função originalmente concebida por Albrecht ganhou popularidade crescente com o início do Grupo de Usuários de Ponto de Função Internacional (IFPUG) em 1986. Em 2002, os Pontos de Função do IFPUG se tornaram um padrão ISO internacional - ISO / IEC 20926.
O que é um ponto de função?
FP (Function Point)é a métrica de tipo funcional mais difundida, adequada para quantificar um aplicativo de software. É baseado em cinco "funções" lógicas identificáveis pelos usuários, que são divididas em dois tipos de função de dados e três tipos de função transacional. Para um determinado aplicativo de software, cada um desses elementos é quantificado e ponderado, contando-se seus elementos característicos, como referências de arquivos ou campos lógicos.
Os números resultantes (FP não ajustado) são agrupados em conjuntos de funções Adicionadas, Alteradas ou Excluídas e combinados com o Fator de Ajuste de Valor (VAF) para obter o número final de FP. Uma fórmula final distinta é usada para cada tipo de contagem: aplicativo, projeto de desenvolvimento ou projeto de aprimoramento.
Aplicando o Método de Ponto de Função de Albrecht
Vamos agora entender como aplicar o método do Ponto de Função de Albrecht. Seu procedimento é o seguinte -
Determine o número de componentes (EI, EO, EQ, ILF e ELF)
EI- O número de entradas externas. Esses são processos elementares nos quais os dados derivados cruzam a fronteira de fora para dentro. Em um exemplo de sistema de banco de dados de biblioteca, insira o número do cartão de biblioteca de um usuário existente.
EO- O número de saídas externas. Esses são processos elementares nos quais os dados derivados cruzam a fronteira de dentro para fora. Em um exemplo de sistema de banco de dados de biblioteca, exiba uma lista de livros retirados para um usuário.
EQ- O número de consultas externas. Esses são processos elementares com componentes de entrada e saída que resultam na recuperação de dados de um ou mais arquivos lógicos internos e arquivos de interface externa. Em um exemplo de sistema de banco de dados de biblioteca, determine quais livros estão atualmente com check-out para um usuário.
ILF- O número de arquivos de log internos. Esses são grupos identificáveis do usuário de dados relacionados logicamente que residem inteiramente dentro dos limites dos aplicativos que são mantidos por meio de entradas externas. Em um exemplo de sistema de banco de dados de biblioteca, o arquivo de livros na biblioteca.
ELF- O número de arquivos de log externos. Esses são grupos identificáveis do usuário de dados relacionados logicamente que são usados apenas para fins de referência e que residem inteiramente fora do sistema. Em um exemplo de sistema de banco de dados de biblioteca, o arquivo que contém transações no sistema de faturamento da biblioteca.
Calcule a contagem de pontos de função não ajustados (UFC)
Avalie cada componente como low, average, ou high.
Para transações (EI, EO, and EQ), a classificação é baseada em FTR e DET.
FTR - O número de arquivos atualizados ou referenciados.
DET - O número de campos reconhecíveis pelo usuário.
Com base na tabela a seguir, um EI que referencia 2 arquivos e 10 elementos de dados seriam classificados como average.
FTRs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
0-1 | Baixo | Baixo | Média | |
2-3 | Baixo | Média | Alto | |
>3 | Média | Alto | Alto |
Para arquivos (ILF and ELF), a classificação é baseada no RET e DET.
RET - O número de elementos de dados reconhecíveis pelo usuário em um ILF ou ELF.
DET - O número de campos reconhecíveis pelo usuário.
Com base na tabela a seguir, um ILF que contém 10 elementos de dados e 5 campos seriam classificados como high.
RETs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | Baixo | Baixo | Média | |
2-5 | Baixo | Média | Alto | |
>5 | Média | Alto | Alto |
Converter avaliações em UFCs.
Avaliação | Valores | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
Low | 4 | 3 | 3 | 7 | 5 |
Average | 5 | 4 | 4 | 10 | 7 |
High | 6 | 5 | 6 | 15 | 10 |
Calcule a contagem final de pontos de função (FPC)
Calcular fator de ajuste de valor (VAF) com base em 14 características gerais do sistema (GSC).
Características Gerais do Sistema | Descrição breve | |
---|---|---|
GSC 1 | Comunicações de dados | Quantas facilidades de comunicação existem para auxiliar na transferência ou troca de informações com o aplicativo ou sistema? |
GSC 2 | Processamento de dados distribuído | Como os dados distribuídos e as funções de processamento são tratados? |
GSC 3 | atuação | O tempo de resposta ou a taxa de transferência foram exigidos pelo usuário? |
GSC 4 | Configuração muito usada | Quão fortemente utilizada é a plataforma de hardware atual onde o aplicativo será executado? |
GSC 5 | Taxa de transação | Com que frequência as transações são executadas diariamente, semanalmente, mensalmente, etc.? |
GSC 6 | Entrada de dados on-line | Qual porcentagem das informações é inserida online? |
GSC 7 | Eficiência do usuário final | O aplicativo foi projetado para eficiência do usuário final? |
GSC 8 | Atualização on-line | Quantos ILFs são atualizados por transação online? |
GSC 9 | Processamento complexo | O aplicativo possui processamento lógico ou matemático extenso? |
GSC 10 | Reutilização | O aplicativo foi desenvolvido para atender às necessidades de um ou mais usuários? |
GSC 11 | Facilidade de instalação | Quão difícil é a conversão e instalação? |
GSC 12 | Facilidade operacional | Quão eficazes e / ou automatizados são os procedimentos de inicialização, backup e recuperação? |
GSC 13 | Vários sites | O aplicativo foi projetado, desenvolvido e com suporte especificamente para ser instalado em vários locais para várias organizações? |
GSC 14 | Facilite a mudança | O aplicativo foi projetado, desenvolvido e apoiado especificamente para facilitar a mudança? |
Pesar cada GSC em uma escala de 0 a 5 com base no fato de não ter influência sobre forte influência.
Calcule o FPC como segue -
FPC = UFC * (0,65+ (soma (GSC) * .01))
Complexidade
A complexidade é um componente separado do tamanho. É de dois tipos -
Complexity of a problem - É a quantidade de recursos necessários para uma solução ótima do problema.
Complexity of a solution- São os recursos necessários para implementar uma solução específica. Tem dois aspectos. Eles são os seguintes -
Time complexity - O recurso é o tempo do computador.
Space complexity - O recurso é a memória do computador.
Complexidade de medição
Um aspecto da complexidade é a eficiência. Ele mede qualquer produto de software que pode ser modelado como um algoritmo.
Por exemplo: Se um algoritmo para resolver todas as instâncias de um problema particular requer f(n) cálculos, então f(n) é assintoticamente ideal, se para todos os outros algoritmos com complexidade g que resolva o problema f é O(g). Então, a complexidade do problema dado é grande -O do algoritmo assintoticamente ótimo para a solução do problema.