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

Autor: Douglas José Peixoto de Azevedo

Este é o quinto 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 softwa-re;
  • Custo de software;
  • Taxa de produção de software;
  • Taxa de manutenção de software.
  • Nível de produtividade da equipe;

Quinto Artigo

4 SISTEMA EXEMPLO - RESERVAS - PROJETO DE DESENVOLVIMENTO DESCRIÇÃO

4.1 Resumo do Sistema

4.1.1 Objetivo

Apoiar o setor no controle de re-servas.

4.1.2 Descrição

O Sistema de Reservas visa apoiar o departamento responsável do Hotel ABC nos processos de reservas dos clientes (pessoas físicas ou jurídicas).

Através de terminais ligados ao computador central, este sistema receberá e fornecerá todas as informações referentes às reservas feitas no momento de sua solicitação, registrando em base de dados própria e validando, quando necessário, na base de dados do departamento de pessoal.

Além disso, deverão ser previstos relatórios para apoio ao setor de recepção e faturamento.

4.1.3 Funções

As seguintes funções são supor-tadas pelo sistema:

  • Registro de reservas
  • Alterações de reservas
  • Exclusão de reservas
  • Cadastramento de clientes
  • Alterações de dados cadastrais de clientes
  • Exclusão de clientes cadastrados
  • Cadastramento de informações sobre apartamentos
  • Alteração de dados de apartamentos
  • Exclusão de apartamentos cadastrados

4.1.4 Produtos Gerados

a) Relatórios

Os seguintes relatórios são previstos:

  • Reservas de um período
  • Clientes Ativos
  • Dados dos apartamentos

b) Consultas

Foram previstas as seguintes con-sultas:

  • Informações de reservas (dado o có-digo).
  • Informações de cliente.
  • Informações de apartamentos.

4.1.5 Características

As seguintes características do sistema são destacadas:

  • Trabalha de forma on-line, via Ter-minais ou micros (emulando);
  • Atualiza informações on-line e em tempo real;
  • São necessários procedimentos de recuperação que minimizem a inter-venção do operador;
  • A navegação é feita através de menu;
  • Desenvolvido em linguagem de quarta geração;
  • Possui seu próprio banco de dados;
  • Será utilizada a atual configuração do equipamento;
  • Existem grandes picos de transações mensais;
  • Sistema voltado ao usuário final.

4.2 Gráficos

4.2.1 Modelo de Dados

4.2.2 Diagrama de Contexto

4.3 Lay-Out de Arquivos

4.3.1 Arquivo de Reservas – ver Tabela 1

4.3.2 Arquivo de Apartamentos – ver Tabela 2

4.3.3 Arquivo de Clientes – ver Tabela 3

4.3.4 Arquivo de Funcionário – verTabela 4

4.4 Lay-Out de Tela

4.4.1 Registro de Reservas

Registro de Reservas

Número da Reserva [.......................... ]

Matrícula Funcionário [ ...............................]

Código do Cliente [ .............................]

Data Reserva [ ..................................]

Período: Início [ ..............................]

Fim [ ...................]

Tipo apto [ .....................]

Pessoa: Sobrenome [ .........................]

Nome [ .............................]

(a) Arquivos Referenciados

  • Arquivo Reservas
  • Arquivo Funcionários
  • Arquivo Clientes

(b) Regras de Validação

  • Verificar se reserva existe
  • Validar data (reserva, início e fim)
  • Verificar se funcionário está cadastrado
  • Verificar se cliente está cadastrado

4.3.1 Arquivo de Reservas - Tabela 1

Itens de Dados

Tamanho

Tipo

Decimal

Numero da Reserva

4

numérico

 
Matrícula Funcionário

6

numérico

 
Código do Cliente

5

numérico

 
Data da Reserva

6

numérico

 
Período Inicio

6

numérico

 
Período Fim

4

numérico

 
Tipo Apto

1

alfa

 
Pessoas Sobrenome

20

alfa

 
Pessoas nome

20

alfa

 

4.3.2 Arquivo de Apartamentos - Tabela 2

Itens de dado

Tamanho

Tipo

Decimal

Numero Apto

5

numérico

 
Tipo

1

alfa

 

4.3.3 Arquivo de Clientes - Tabela 3

Itens de Dados

Tamanho

Tipo

Decimal

Código do Cliente

5

numérico

 
Tipo Classe

3

alfa

 
Nome Cliente

40

alfa

 
Tipo Pessoa

1

alfa

 
CGC / CPF

14

numérico

 
Endereço

30

alfa

 
Pessoa Contato

20

alfa

 
Telefone

8

alfa

 
Matrícula Funcionário

6

numérico

 

4.3.4 Arquivo de Funcionário - Tabela 4

Itens de Dados

Tamanho

Tipo

Decimal

Matrícula Funcionário

6

numérico

 
Nome Funcionário

40

alfa

 
Função

5

alfa

 
Salário

12

numérico

2

CPF

9

numérico

 
Endereço

30

alfa

 
Telefone

8

alfa

 

4.4.2 Alteração de Reservas

Alteração de Reservas

Número da Reserva [ ..........................]

Matrícula Funcionário [ ...........................]

Código do Cliente [ .......................]

Data Reserva [ ....................]

Período: Início [....................... ]

Fim [ .........................]

Tipo apto [ .......................]

Pessoa: Sobrenome [ .......................]

Nome [ .............................]

(a) Arquivos referenciados

  • Arquivo Reservas
  • Arquivo Funcionários
  • Arquivo Clientes

(b) Regras de Validação

  • Verificar se reserva existe
  • Validar data (reserva, início e fim )
  • Verificar se funcionário está cadastrado
  • Verificar se cliente está cadastrado

4.4.3 Exclusão de Reservas

Exclusão de Reservas

Número da Reserva [ .............................]

Matrícula Funcionário [ ................................]

(a) Arquivos Referenciados

  • Arquivo Reservas
  • Arquivo Funcionários

(b) Regras de Validação

  • Verificar se funcionário está cadastrado
  • Verificar se reserva existe

4.4.4 Consulta de Reservas

Consulta de Reservas

Informe número reserva [............................... ]

Nome funcionário:.....................................................................

Nome cliente.....................................................................

Data reserva ....../....../......

Período: Início .......................

Fim .......................

Tipo apto .......................

Pessoa: Sobrenome .......................

Nome .......................

(a) Arquivos referenciados

  • Arquivo Reservas
  • Arquivo Funcionários
  • Arquivo Clientes

(b) Regras

  • Esta consulta será feita a todas as reservas ativas

4.4.5 Manutenção do Cadastro de Apartamentos

Cadastro de Apartamentos

Informe operação [................................ ]

I - incluir

A - alterar

E - excluir

C - consultar

Número [ ..........................]

Tipo [ ......................]

(a) Arquivo referenciado

  • Arquivo Apartamentos

(b) Regras de validação

  • Validar Tipo, se S, D, ou T
  • Verificar se operação é válida
  • Verificar se apartamento está cadastrado

4.4.6 Manutenção do Cadastro de Clientes

Cadastro de Clientes

Informe operação [........................ ]

I - incluir

A - alterar

E - excluir

C - consultar

Código cliente [............................ ]

Tipo (VIP/STD) [.............................. ]

Nome [.............................. ]

Tipo (Fis/Jur) [ ..........................]

CGC [............................... ]

CPF [ .................................]

Endereço [............................... ]

Pessoa de contato [ ..............................]

Telefone [ .................................]

Matrícula [ ...................................]

Funcionário ....................

(a) Arquivos referenciados

  • Arquivo Clientes
  • Arquivo Funcionários (não referenciado para exclusão)

(b) Regras

  • Validar CPF/CGC
  • Validar Tipo
  • Verificar se funcionário está cadastrado
  • Verificar se cliente está cadastrado
  • Verificar se operação é válida

4.5 Lay-Out de Relatórios

4.5.1 Relatórios de Reservas

  • Relatório de Reservas
  • Data: 10/04/97

Sobrenome Nome Tipo Período

Apto Início Fim

----------------------------------------------------------

Silva João Antônio S 10/03/97 10/04/97

(a) - Arquivo referenciado

  • Arquivo reservas

(b) Regras

  • Este relatório deverá estar classificado por sobrenome e nome

4.5.2 Relatórios de Apartamentos

Relatório de Apartamentos

Data: 10/04/97

NÚMERO TIPO

---------------------------------------------------------

101 S

(a) - Arquivo referenciado

  • Arquivo apartamentos

(b) Regras

  • Relacionar todos os apartamentos cadastrados

4.5.3 Relatório de Clientes

Relatório de Clientes

Data: 10/04/97

Código Nome Tipo Contato

0001234 Comércio e Indústria S José da Silva

(a) - Arquivo referenciado

  • Arquivo clientes

(b) Regras

  • Listar todos os clientes cadastrados

4.6 Sistema de Reservas-Projeto de Desenvolvimento – Solução do Exemplo

4.6.1 Identificar Funções do Sistema

  • Arquivos Lógicos Internos
  • Reservas
  • Apartamentos
  • Clientes
  • Arquivo Lógico Externo
  • Funcionários
  • Entradas Externas
  • Registro de Reservas
  • Alteração de Reservas
  • Exclusão de Reserva
  • Cadastramento de Apartamentos
  • Alterações de Apartamentos
  • Exclusão de Apartamentos
  • Cadastramento de Clientes
  • Alteração de Clientes
  • Exclusão de Clientes
  • Saídas Externas
  • Relatório de Reservas
  • Relatório de Apartamentos
  • Relatório de Clientes
  • Consultas
  • Consulta de Reservas
  • Consulta de Clientes
  • Consulta de Apartamentos

4.6.2 Classificar as Funções – Tabela 5

Arquivo de Reservas

Itens de Dados

Tamanho

Tipo

Decimal

Número da Reserva

4

numérico

 
Matrícula Funcionário

6

numérico

 
Código do Cliente

5

numérico

 
Data da Reserva

6

numérico

 
Período Início

6

numérico

 
Período Fim

4

numérico

 
Tipo Apto

1

alfa

 
Pessoa Sobrenome

20

alfa

 
Pessoa Nome

20

alfa

 

Reservas

Tipo: Arquivo Interno

Total de Itens: 9

Tipos de Registro: 1

Classificação: Simples

Arquivo de Apartamentos – Tabela 6

Itens de Dados

Tamanho

Tipo

Decimal

Número Apto

5

numérico

 
Tipo

1

alfa

 

Tipo: Arquivo Interno

Total de Itens: 2

Tipos de Registro: 1

Classificação: Simples

Arquivo de Clientes – Tabela 7

Itens de Dados

Tamanho

Tipo

Decimal

Código do cliente

5

numérico

 
Tipo classe

3

alfa

 
Nome cliente

40

alfa

 
Tipo pessoa

1

alfa

 
CGC / CPF

14

numérico

 
Endereço

30

alfa

 
Pessoa contato

20

alfa

 
Telefone

8

alfa

 
Matrícula funcionário

6

numérico

 

Tipo: Arquivo Interno

Total de Itens: 9

Tipos de Registro: 1

Classificação: Simples

Arquivo de funcionário – ver Tabela 8

Tipo: Arquivo Interface Externa

Total de Itens: 7

Tipos de Registro: 1

Classificação: Simples

Registro de Reservas

Registro de Reservas

Número da Reserva [................................. ]

Matrícula Funcionário [ ...................................]

Código do Cliente [ .............................]

Data Reserva [ .....................................]

Período: Início [ ...............................]

Fim [ .....................................]

Tipo apto [ ..............................]

Pessoa: Sobrenome [ ..................................]

Nome [ ....................................]

Arquivo de funcionário – Tabela 8

Itens de Dados

Tamanho

Tipo

Decimal

Matrícula Funcionário

6

numérico

 
Nome Funcionário

40

alfa

 
Função

5

alfa

 
Salário

12

numérico

2

CPF

9

numérico

 
Endereço

30

alfa

 
Telefone

8

alfa

 

Funções Identificadas

(a) Registro de Reservas

Tipo: Entrada Externa

Total de Itens: 9

Arquivos Referenciados Reservas

Clientes Funcionário (externo)

Total de Arquivos: 3

Classificação: Complexa

(b) Mensagens de Erro - Registro de Reservas

Tipo: Saída Externa

Total de Itens: 6

Arquivos Referenciados: Reservas Clientes Funcionários (externo)

Total de Arquivos: 3

Classificação: Média

Alteração de Reservas

Alteração de Reservas

Número da Reserva [........................... ]

Matrícula Funcionário [ ............................]

Código do Cliente [ ...........................]

Data Reserva [ ............................]

Período: Início [ ...............................]

Fim [ ................................]

Tipo apto [ ...............................]

Pessoa: Sobrenome [............... ]

Nome [ ................................]

Funções Identificadas

(a) Alteração de Reservas

Tipo: Entrada Externa

Total de Itens: 9

Arquivos Referenciados Reservas Clientes Funcionário (externo)

Total de Arquivos: 3

Classificação: Complexa

(b) Mensagens de Erro - Alteração de Re-servas

Tipo: Saída Externa

Total de Itens: 6

Arquivos Referenciados: Reservas Clientes Funcionários (externo)

Total de Arquivos: 3

Classificação: Média

Exclusão de Reservas

Exclusão de Reservas

Número da Reserva [............................. ]

Matrícula Funcionário [ ...........................]

Funções Identificadas

(a) Exclusão de Reservas

Tipo: Entrada Externa ==è (do ponto de vista FPA)

Total de Itens: 2

Arquivos Referenciados: Reservas Funcionário (externo)

Total de Arquivos: 2

Classificação: Simples

(b) Mensagens de Erro - Exclusão de Reservas

Tipo: Saída Externa

Total de Itens: 2

Arquivos Referenciados: Reservas Funcionários (externo)

Total de Arquivos: 2

Classificação: Simples

Consulta de Reservas

Consulta de Reservas

Informe número reserva [............................ ]

Nome funcionário:.....................................................................

Nome cliente.....................................................................

Data reserva ....../....../......

Período: Início .......................

Fim .......................

Tipo apto .......................

Pessoa: Sobrenome .......................

Nome .......................

Funções Identificadas

Consulta de Reservas

Tipo: Consulta

Total de Itens: Entrada - 1

Saída - 8

Arquivos Referenciados Entrada Reservas (Número,Data)

Saída Reservas (Número, Data)

Clientes Funcionários (externo)

Total de Arquivos: Entrada 1

Saída 3

Classificação: Médio

Manutenção do Cadastro de Apartamentos

Cadastro de Apartamentos

Informe operação [................................... ]

I - incluir

A - alterar

E - excluir

C - consultar

Número [.............................. ]

Tipo [ ...............................]

Funções Identificadas

(a) Inclusão de Apartamentos

Tipo: Entrada Externa

Total de Itens: 3

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

(b) Alteração de Apartamentos

Tipo: Entrada Externa

Total de Itens: 3

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

(c) Exclusão de Apartamentos

Tipo: Entrada Externa

Total de Itens: 2

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

(d) Consulta de Apartamentos

Tipo: Consulta

Total de Itens: Entrada 2

Saída 1

Arquivos Referenciados: Entrada Apartamentos

Saída Apartamentos

Total de Arquivos: Entrada 1

Saída 1

Classificação: Simples

(e) Mensagens de Erro - Inclusão de Apartamentos

Tipo: Saída Externa

Total de Itens: 3

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

(f) Mensagens de Erro - Alteração de Apar-tamentos

Tipo: Saída Externa

Total de Itens: 3

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

(g) Mensagens de Erro - Exclusão de Apartamentos

Tipo: Saída Externa

Total de Itens: 3

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

Manutenção do Cadastro de Clientes

Cadastro de Clientes

Informe operação [.............................. ]

I - incluir

A - alterar

E - excluir

C - consultar

Código cliente [.......................... ]

Tipo (VIP/STD) [ .......................]

Nome [ ..............................]

Tipo (Fis/Jur) [ .........................]

CGC [ .............................]

CPF [ .............................]

Endereço [ ......................]

Pessoa de contato [ .............................]

Telefone [ .................................]

Matrícula [ ..............................]

Funcionário ....................

Funções Identificadas

(a) Inclusão de Apartamentos

Tipo: Entrada Externa

Total de Itens: 11

Arquivos Referenciados: Clientes

Funcionários (externo)

Total de Arquivos: 2

Classificação: Médio

(b) Alteração de Clientes

Tipo: Entrada Externa

Total de Itens: 11

Arquivos Referenciados: Clientes Funcionários (externo)

Total de Arquivos: 2

Classificação: Simples

(c) Exclusão de Clientes

Tipo: Entrada Externa

Total de Itens: 2

Arquivos Referenciados: Clientes

Total de Arquivos: 1

Classificação: Simples

(d) Consultas de Clientes

Tipo: Consulta

Total de Itens: Entrada 2

Saída 10

Arquivos Referenciados: Entrada Clientes

Saída Clientes

Funcionários (externo)

Total de Arquivos: Entrada 1

Saída 2

Classificação: Médio

(e) Mensagens de Erro - Inclusão de Clien-tes

Tipo: Saída Externa

Total de Itens: 5

Arquivos Referenciados: Clientes

Funcionários (externo)

Total de Arquivos: 2

Classificação: Simples

(f) Mensagens de Erro - Alteração de Clien-tes

Tipo: Saída Externa

Total de Itens: 5

Arquivos Referenciados: Clientes

Funcionários (externo)

Total de Arquivos: 2

Classificação: Simples

(g) Mensagens de Erro - Exclusão de Clien-tes

Tipo: Saída Externa

Total de Itens: 2

Arquivos Referenciados: Clientes

Total de Arquivos: 1

Classificação: Simples

Relatório de Reservas

Relatório de Reservas

Data: 10/04/97

Sobrenome Nome Tipo Período

Apto Início Fim

----------------------------------------------------------

Silva João Antônio S 10/03/97 10/04/97

Funções Identificadas

Relatório de Reservas

Tipo: Saída Externa

Total de Itens: 5

Arquivos Referenciados Reservas

Total de Arquivos: 1

Classificação: Simples

Relatórios de Apartamentos

Relatório de Apartamentos

Data: 10/04/97

NÚMERO TIPO

---------------------------------------------------

101 S

Funções Identificadas

Relatório de Apartamentos

Tipo: Saída Externa

Total de Itens: 2

Arquivos Referenciados Apartamentos

Total de Arquivos: 1

Classificação: Simples

Relatório de Clientes

Relatório de Clientes

Data: 10/04/97

Código Nome Tipo Contato

0001234 Comércio e Indústria S José da Silva

Funções Identificadas

Relatório de Clientes

Tipo: Saída Externa

Total de Itens: 4

Arquivos Referenciados Clientes

Total de Arquivos: 1

Classificação: Simples

RESUMO DAS FUNÇÕES

Tipo de Função - Arquivo Lógico Interno – Tabela 9

Descrição da Função

Reg

Itens

S

M

C

Arquivo de Reservas

1

9

X

   
Arquivo de Apartamentos

1

2

X

   
Arquivo de Clientes

1

9

X

   
* * TOTAL DE ARQUIVOS LÓGICOS INTERNOS ***  

3

   

Tipo de Função – Arquivo de Interface Externa – Tabela 10

Descrição da

Função

Reg

Itens

S

M

C

Arquivo de

Funcionários

1

2

X

   
*** TOTAL DE ARQUIVOS DE INTERFACE EXTERNA ***  

1

   

 

Tipo de Função - Entradas Externas Tabela 11

Descrição da Função Arq Itens S M C
Registro de reservas 3 9     X
Alteração de reservas 3 9     X
Exclusão de reservas 2 2 X    
           
Inclusão de apartamentos 1 3 X    
Alteração de apartamentos 1 3 X    
Exclusão de apartamentos 1 2 X    
           
Inclusão de clientes 2 11   X  
Alteração de clientes 2 11   X  
Exclusão de clientes 1 2 X    
* * * TOTAL DE ENTRADAS EXTERNAS * * *   5 2 2

Tipo de Função - Saídas Externas – ver Tabela 12

Tipo de Função - Consultas Externas– ver Tabela 13

4.6.3 Cálculo dos Pontos por Função Não-Ajustados

Uma vez os componentes de uma aplicação tenham sido identificados e categorizados nos vários tipos de funções (arquivos, interfaces, entrada, saídas e consultas), cada componente é então associado a um valor de pontos por função não-ajustados, dependendo do tipo de função e de sua complexidade funcional.

O valor dos pontos por função não ajustados de cada componente é então totalizado por tipo de função e finalmente por aplicação. O resultado é o valor dos pontos por função não-ajustados da aplicação.

EXEMPLO: Após a identificação e classificação das funções do sistema de reservas - projeto de desenvolvimento, temos condições de calcular os pontos por função não-ajustados desta aplicação.

 

Tipo de Função Complexidade Funcional Total Complexidade Total Tipo Função
Arquivo 3 Simples X 7 =

Média X 10 =

Complexa X 15 =

21

21

Interface 1 Simples X 5 =

Média X 7 =

Complexa X 10 =

5

5

Entrada 5 Simples X 3 =

2 Média X 4 =

2 Complexa X 6 =

15

8

12

35

Saída 10 Simples X 4 =

2 Média X 5 =

Complexa X 7 =

40

10

50

Consulta 1 Simples X 3 =

2 Média X 4 =

Complexa X 6 =

3

8

11

*** Total de Pontos por Função Não-Ajustados = 122

Tipo de Função - Saídas Externas – Tabela 12

 

Descrição da Função Arq Itens S M C
Relatório de reservas 1 5 X    
Relatório de apartamentos 1 2 X    
Relatório de clientes 1 4 X    
Mensagens de Erro(Registro de reservas) 3 6   X  
Mensagens de Erro(Alteração de reservas) 3 6   X  
Mensagens de Erro(Exclusão de reservas) 2 2 X    
Mensagens de Erro(Inclusão de apartamentos) 1 3 X    
Mensagens de Erro(Alteração de apartamentos) 1 3 X    
Mensagens de Erro(Exclusão de apartamentos) 1 3 X    
Mensagens de Erro(Inclusão de clientes) 2 5 X    
Mensagens de Erro(Alteração de clientes) 2 5 X    
Mensagens de Erro(Exclusão de clientes) 1 2 X    
*** TOTAL DE SAÍDAS EXTERNAS ***   10 2  

Tipo de Função - Consultas Externas - Tabela 13

Descrição da Função ENTRADA SAÍDA  
  A I A I S M C
Consulta de reservas 1 1 3 8   X  
Consulta ao cadastro de apartamentos 1 2 1 1 X    
Consulta ao cadastro de clientes 1 2 2 10   X  
*** TOTAL DE CONSULTAS EXTERNAS *** 1 2  

O sexto artigo da série, mostrará um exemplo completo de projeto de desenvolvimento utilizando a técnica FPA, aguardem ...

Referências Bibliográficas:

Citadas no quarto artigo, na edição anterior, Bate Byte nº 70, referente ao mês de novembro, p. 24.