FPA-FUNCTION POINT ANALYSIS - SISTEMÁTICA DE MÉTRICA

Autor: Douglas José Peixoto de Azevedo

Este é o terceiro artigo que tratará da técnica de mensurar software. A técnica apresentada é denominada de FPA Function Point Analysis (Análise de Pontos por Função), utilizada para estimar:

  • Esforço de desenvolvimento de software;
  • Custo de software;
  • Taxa de produção de software;
  • Taxa de manutenção de software.
  • Nível de produtividade da equipe;

Terceiro Artigo

3 REGRAS DE CONTAGEM

As Regras de Contagem da FPA, contidas neste documento, estão baseadas no Manual de Práticas de Contagem da Análise de Pontos por Função - publicada pelo International Function Point Users Group - IFPUG. Primeiramente conta-se as funções que compõem o projeto de desenvolvimento. Estas funções estão divididas em funções de dados e funções de transações. Este artigo abordará as funções de dados que são: Arquivos Lógicos Internos e Arquivos de Interface Externa.

3.1 Arquivos Lógicos Internos

3.1.1 Visão Geral

Os Arquivos Lógicos Internos representam os requerimentos de armazenamento de dados cuja manutenção é feita pela própria aplicação. Os Arquivos Lógicos Internos contribuem para o cálculo de Pontos de Função com base em sua quantidade e complexidade funcional relativa de cada um deles.

3.1.2 Definições

Um Arquivo Lógico Interno é um grupo de dados logicamente relacionados ou informações de controle especificadas pelos usuários, que é utilizado e sofre manutenção dentro das fronteiras da aplicação.

Grupo de dados logicamente relacionados refere-se a dados relacionados em um nível em que o usuário consegue perceber como sendo importante para permitir que a aplicação realize uma atividade específica.

Informações de controle são dados utilizados pela aplicação para garantir total conformidade com os requerimentos das funções do negócio especificados pelo usuário.

Manutenção é a habilidade de adicionar, alterar ou remover dados de arquivo através de um procedimento padrão da aplicação.

3.1.3 Identificação

A identificação dos Arquivos Lógicos Internos se dará segundo os seguintes critérios:

  • São dados armazenados dentro da fronteira da aplicação.
  • Sofrem manutenção através de um processo padrão da aplicação.
  • São identificados pelo usuário como sendo um requerimento da aplicação.

3.1.4 Exemplos

  • Dados da aplicação (arquivos mestres como cadastro de clientes ou cadastro de funcionários)
  • Arquivos de dados de segurança da aplicação
  • Arquivos de dados de auditoria
  • Arquivos de mensagens de auxílio
  • Arquivos de mensagens de erro
  • Arquivo de backup. Somente será considerado Arquivo Lógico Interno se especificamente solicitado pelo usuário para atender requerimentos específicos da aplicação
  • Um arquivo que sofre manutenção por mais de uma aplicação deve ser considerado arquivo Lógico Interno em todas as aplicações com esta característica.

Não serão considerados Arquivos Lógicos Internos:

  • Arquivos temporários;
  • Arquivos de trabalho;
  • Arquivos utilizados para classificação dos dados;
  • Arquivos utilizados para registrar transações de Entradas Externas enquanto não forem completamente processadas pela aplicação;
  • Arquivos de Backup;
  • Arquivos introduzidos em função da tecnologia utilizada, tais como arquivos de parâmetros, arquivos de JCL, arquivos de mensagens, etc.
  • Arquivos de índices de acesso, quer primários ou secundários;
  • Arquivos de Tabelas utilizadas para codificação de dados.

3.1.5 Classificação

Cada Arquivo Lógico Interno deve ser classificado de acordo com sua complexidade funcional relativa, que é baseada no número de registros lógicos e no número de itens de dados do arquivo, demonstrado na tabela 3.

Registro lógico pode ser definido como sendo um formato (lay-out) de um Arquivo Lógico Interno.

Um item de dado ou campo de um Arquivo Lógico Interno, representa uma subdivisão de um grupo de dados logicamente relacionados, que tem um significado próprio e pode ser identificado pelo usuário.

Os itens de dados devem ser contabilizados de acordo com a visão do usuário, com as seguintes exceções:

NÚMERO DE REGISTROS LÓGICOS

ITENS DE DADOS REFERENCIADOS

DE 1 A 19 DE 20 A 50 51 OU MAIS

Apenas 1

S I M P L E S

S I M P L E S

M É D I A

De 2 a 5

S I M P L E S

M É D I A

COMPLEXA

6 ou mais

M É D I A

COMPLEXA

COMPLEXA

Tabela 3 - Classificação dos Arquivos Logicos Internos

  • Os itens de dados originários da subdivisão de um item de dado maior não devem ser contabilizados (contabiliza-se apenas o item de dado maior).
  • Os itens de dados que sejam armazenados de forma repetitiva em mais de um campo do arquivo serão contabilizados apenas uma vez.
  • Campos repetitivos que são idênticos no formato e existem para permitir múltiplas ocorrências de um determinado item de dado, serão contabilizados uma única vez.

De acordo com o número de itens de dados e de registros lógicos, classificam-se os Arquivos Lógicos Internos em simples, médio ou complexo, conforme o quadro acima:

3.1.6 Pontuação

Para cada Arquivo Lógico Interno será atribuído um número de Pontos por Função, de acordo com a sua complexidade funcional relativa:

  • SIMPLES 7(sete) Pontos por Função;
  • MÉDIO 10 (dez) Pontos por Função;
  • COMPLEXO 15 (quinze) Pontos por Função.

3.2 Arquivos de Interface Externa

3.2.1 Visão Geral

Os Arquivos de Interface Externa representam as necessidades de dados externos à aplicação. Os Arquivos de Interface Externa contribuem para o cálculo dos Pontos por Função com base na sua quantidade e complexidade funcional relativa de cada um deles.

3.2.2 Definições

Um Arquivo de Interface Externa é um grupo de dados logicamente relacionados ou informações de controle especificadas pelo usuário, que é utilizado pela aplicação, mas sofre manutenção a partir de outra aplicação.

Grupo de dados logicamente relacionados referem-se a dados relacionados em um nível em que o usuário consegue perceber como sendo importante para permitir que a aplicação realize uma atividade específica.

Informações de controle são dados utilizados pela aplicação para garantir total conformidade com os requerimentos das funções do negócio especificados pelo usuário.

Manutenção é a habilidade de adicionar, alterar ou remover dados de ou arquivo através de um procedimento padrão da aplicação.

3.2.3 Identificação

A identificação dos Arquivos de Interface Externa se dará segundo os seguintes critérios:

  • são dados armazenados fora da fronteira da aplicação;
  • não sofrem manutenção através de um processo padrão da aplicação;
  • são identificados pelo usuário como sendo um requerimento da aplicação.

3.2.4 Exemplos

  • Dados de referência ( dados externos utilizados pela aplicação, mas não sofrem manutenção em Arquivos Lógicos Internos)
  • Arquivos de mensagens de auxilio
  • Arquivo de mensagens de erro

Não serão considerados Arquivos de Interface Externa:

  • Dados recebidos de outras aplicações utilizados para adicionar, alterar ou remover dados de um Arquivo Lógico Interno (Estes dados externos são considerados dados de transação e, portanto, este processo de manutenção é considerado uma Entrada Externa);
  • Dados cuja manutenção é feita pela aplicação que está sendo avaliada, mas que são acessados e utilizados por outra aplicação;
  • Dados processados e formatados para uso por outra aplicação (Este processo deve ser considerado como uma Saída Externa).

3.2.5 Classificação

Cada Arquivo de Interface Externa deve ser classificado de acordo com sua complexidade funcional relativa, que é baseada no número de registros lógicos e no número de itens de dados do arquivo, demonstrado na tabela 4.

Registro lógico pode ser definido como sendo um formato (layout) de um Arquivo de Interface Externa. Um item de dado ou campo de um Arquivo de Interface Externa, representa uma subdivisão de um grupo de dados logicamente relacionados, que tem um significado próprio e pode ser identificado pelo usuário. Os itens de dados devem ser contabilizados de acordo com a visão do usuário, com as seguintes exceções:

  • Os itens de dados originários da subdivisão de um item de dado maior não devem ser contabilizados (contabiliza-se apenas o item de dado maior);
  • Os itens de dados constantes do arquivo mas que não sejam utilizados pela aplicação não serão contabilizados;
  • Os itens de dados que sejam armazenados de forma repetitiva em mais de um campo do arquivo serão contabilizados apenas uma vez;
  • Campos repetitivos que são idênticos no formato e existem para permitir múltiplas ocorrências de um determinado item de dado, serão contabilizados apenas uma vez.

NÚMERO DE REGISTROS LÓGICOS

ITENS DE DADOS REFERENCIADOS

DE 1 A 19 DE 20 A 50 51 OU MAIS

Apenas 1

S I M P L E S

S I M P L E S

M É D I A

De 2 a 5

S I M P L E S

M É D I A

COMPLEXA

6 ou mais

M É D I A

COMPLEXA

COMPLEXA

Tabela 4 - Classificação dos Arquivos de Interface Externos

De acordo com o número de itens de dados e de registros lógicos, classificam-se os Arquivos de Interface Externa em simples, médio ou complexo, segundo o quadro acima.

3.2.6 Pontuação

Para cada Arquivo de Interface Externa será atribuído um número de Pontos de Função, de acordo com a sua complexidade funcional relativa:

  • SIMPLES 5(cinco) Pontos por Função;
  • MÉDIO. 7(sete) Pontos por Função;
  • COMPLEXO.10 (dez) Pontos por Função.

O quarto artigo da série, abordará regras de contagem da técnica FPA, Funções de Transações.

Aguardem ...

REFERÊNCIAS BIBLIOGRÁFICAS

[BRA96] BRAGA, Antônio. Análise de pontos por função. Rio de Janeiro : Infobook, 1996.

[CON85] CONTE, S. D.; SHEN V.Y. Software engineering metrics and models. Menlo Park:, 1985.

[FEN93] FENTON, Norman E. Software metrics a rigorous approach. .London: Chapman & Hall, 1993.

[HAL77] HALTEAD, M. H. Elements of software science. New York: Elsevier Computer Science Library, 1977.

[INT91] INTERNATIONAL FUNCTION POINT USER GROUP. Análise de pontos por função. [S.l.] : IFPUG, 1991. (Baseado na Release 3.4 do Manual de Práticas de Contagem do IFPUG).

[INT97] INTERNATIONAL FUNCTION POINT USER GROUP. Disponível na Internet http://www.bonnister.com/ifpug/home/docs/ifpughoe.html

[JON91] JONES, Capers. The sociology of software measurement. Computerworld: In Depth, Framingham, v.25, n. 32, p. 61-62, ago. 1991.

[MAC89] MACHADO, José Alberto. A medição da produtividade no desenvolvimento de software. Rio de Janeiro : UFRJ, 1989.

[PUT78] PUTNAM, L. Trends in measurement, estimation, and control. IEEE Software, 1991.

[SAC68] SACMAN, H. Exploratory experimental studies comparing online and offline programming Performance. IEE CACM v. 11, n. 1,. 1968.

[SHE95] SHEPPERD, Martin. Foundation of Softwarre Measurement. London: Prentice Hall, 1995.

[UNI93] UNISYS ELETRONICA LTDA. Manual do curso de análise de pontos por função da Unisys Eletrônica Ltda. 1993.