Software

Autor: Douglas José Peixoto de Azevedo - GPS

Este é o sétimo 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;  

Sétimo Artigo

7 Cálculo dos Pontos por Função de um Projeto de Manutenção..

Para produzir o total de Pontos por Função de um Projeto de Manutenção, a seguinte fórmula deve ser utilizada:

7.1 Sistema Exemplo - Reservas - Projeto de Manutenção Descrição - Resumo do Sistema..

7.1.1 Objetivo..

Implementar novas funções ao sistema atual de controle de reservas.

7.1.2 Descrição..

Estas novas implementações visam dispor ao Sistema de Reservas, novas funções para atender aos novos requisitos do Hotel ABC.

7.1.3 Funções..

As seguintes funções são agora também suportadas pelo sistema:

  • Registro de cancelamento de reservas;
  • Não permite exclusão de reservas;
  • Aloca apartamentos às reservas;
  • Maiores informações sobre apartamentos.

 

PF_MANUTENÇÃO = (( PF_INCLUÍDO + PF_ALTERADO_ATUAL ) * FA_ATUAL )

+ ( PF_EXCLUIÍDO * FA_ANTERIOR )

 

Onde:

PF_MANUTENÇÃO

= Total de Pontos por Função de um Projeto de Manutenção.

PF_INCLUÍDO

= Pontos por Função Não-Ajustados das funções que foram incluídas na aplicação.

PF_ALTERADO_ATUAL

= Pontos por Função Não-Ajustados das funções que foram modificadas na aplicação. Este número reflete as funções após as modificações.

PF_EXCLUÍDO

= Pontos por Função Não-Ajustados das funções que foram removidas da aplicação.

FA_ATUAL

= Fator de Ajuste após o projeto de manutenção.

FA_ANTERIOR

= Fator de Ajuste antes do projeto de manutenção.

 

7.1.4 Produtos Gerados.

a) Relatórios

Os seguintes relatórios são previstos:

  • Reservas canceladas;
  • Apartamentos (com todas as informações destes).

b) Consultas

As seguintes consultas foram alteradas para dispor de maiores informações:

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

7.1.5 Características..

As seguintes características passarão a ser também consideradas pelo sistema:

  • Entrada de dados em múltiplos locais;
  • Pico de transações semanais;
  • Possibilidade de implantação em outro hotel da rede.

7.2 Gráficos..

7.2.1 Modelo de Dados..

 

7.2.2 Diagrama de Contexto.

 

7.3 Lay-Out de Arquivos.

7.3.1 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 de Reserva

6

numérico

 
Período Início

6

numérico

 
Período Fim

4

numérico

 
Número Apto

5

alfa

 
Pessoas Sobrenome

20

alfa

 
Pessoas Nome

20

alfa

 
* Situação

3

alfa

 
* Motivo

20

alfa

 

 

7.3.2 Arquivo de Apartamentos..

 

Itens de dado

Tamanho

Tipo

Decimal
Número Apto

5

numérico

 
Tipo

1

alfa

 
* Situação

1

alfa

 
* Sala

1

alfa

 
* Vídeo

1

alfa

 

* = Campos Incluídos

7.3.3 Arquivo de Clientes..

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

 

 

7.3.4 Arquivo de Funcionário..

 

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

 

 

7.4 Lay-Out de Tela.

7.4.1 Registro de Reservas..

Registro de Reserva.

Número da Reserva [ ]

Matrícula Funcionário [ ]

Código do Cliente [ ]

Data Reserva [ ]

Apto [ ]

Período: Início [ ]

Fim [ ]

Pessoa: Sobrenome [ ]

Nome [ ]

7.4.2 Alteração de Reservas.

Alteração de Reservas.

Número da Reserva [ ]

Matrícula Funcionário [ ]

Código do Cliente [ ]

Data Reserva [ ]

Apto [ ]

Período: Início [ ]

Fim [ ]

Pessoa: Sobrenome [ ]

Nome [ ]

7.4.3 Cancelamento de Reservas.

Cancelamento de Reserva.

Número da Reserva [ ]

Matrícula Funcionário [ ]

Motivo Cancelamento [ ]

7.4.4 Consulta de Reservas..

Consulta de Reservas.

Informe número reserva [ ]

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

- Nome cliente ...................................................

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

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

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

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

Situação: ............. Motivo ..............................

7.4.5 Manutenção do Cadastro de Apartamentos..

Cadastro de Apartamentos.

Informe operação [ ]

I - incluir

A - alterar

E - excluir

C - consultar

Número [ ]

Situação [ ]

R - Reservado

L - Livre

Tipo [ ]

Características: [ ] Sala

[ ] Vídeo

Observação: As validações permanecem as mesmas do Projeto de Desenvolvimento com exceção dos seguintes itens:

1. Registro/Alteração de Reservas: Validar Apartamento.

2. Cadastro de Apartamentos: Validar Situação ("R" ou "L").

7.5 Lay-Out de Relatórios..

7.5.1 Relatórios de Reservas Canceladas

( Incluído)..

Relatório de Reservas Canceladas.

Data: 10/06/97

Número

Cliente/

Código Nome

Motivo

1234

098054

Cancelada Excursão

 

7.5.2 Relatórios de Apartamentos (Alterado)..

Relatório de Apartamentos.

Data: 10/06/97

Número

Tipo

Situação

Características

101

S

O

Sala Vídeo

 

7.6 Sistema de Reservas-Projeto de Desenvolvimento - Solução do Exemplo..

Passo 1 - Identificar funções a serem mantidas..

- Incluir: Cancelamento de Reservas ( Entrada Externa).

Relatório de Reservas Canceladas

( Saída Externa).

- Alterar: Registro de Reservas (Entrada Externa).

- Alteração de Reservas (Entrada Externa).

- Arquivo de Reservas (Arquivo Lógico Interno).

- Consulta de Reservas (Consulta Externa).

- Incluir Apartamentos (Entrada Externa).

- Alterar Apartamentos (Entrada Externa).

- Arquivo Apartamentos (Arquivo Lógico Interno).

- Consulta de Apartamentos (Consulta Externa).

- Relatório de Apartamentos (Saída Externa).

- Excluir: Exclusão de Reservas (Entrada Externa).

Passo 2 - Classificação das funções incluídas..

Cancelamento de Reserva.

Número da Reserva [ ]

Matrícula Funcionário [ ]

Motivo Cancelamento [ ]

* Funções Identificadas.

a) Cancelamento de Reservas.

- Tipo: Entrada Externa

- Total de Itens: 3

- Arquivos Referenciados: Reservas

Funcionários (Externo)

Apartamentos

- Total de Arquivos: 3

- Classificação: Complexa

b) Mensagens de Erro.

- Tipo: Saída Externa

- Total de Itens: 2

- Arquivos Referenciados: Reservas

Funcionários (Externo)

- Total de Arquivos: 2

- Classificação: Simples

Relatório de Reservas Canceladas.

Data: 10/06/97

 

Número

Cliente Código Nome

Motivo

1235

098054

MOLETON TURISMO S.A

CANCELADA EXCURSÃO

 

Função Identificada: Relatório de Reservas Canceladas

Tipo: Saída Externa

Total de Itens: 4

Arquivos Referenciados: Reservas Clientes

Total de Arquivos: 2

Classificação: Simples

Passo 3 - Classificação das Funções Alteradas..

Arquivo: 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

 
Número Apto

3

Alfa

 

Pessoa Sobrenome

20

Alfa

 

Itens de Dados

Tamanho

Tipo

Decimal

Pessoa Nome

20

Alfa

 
Situação

3

Alfa

 

Motivo Cancelamento

20

Alfa

 

 

 

Tipo: Arquivo Lógico Interno

Total de Itens: 11

Tipos de Registro: 1

Classificação: Simples

Arquivo: Apartamentos

 

Itens de Dados

Tamanho

Tipo

Decimal
Número Apto

5

Numérico

 
Tipo

1

Alfa

 
Situação

1

Alfa

 
Sala

1

Alfa

 
Vídeo

1

Alfa

 

 

Tipo: Arquivo Lógico Interno

Total de Itens: 5

Tipos de Registro: 1

Classificação: Simples

 

Registro de Reservas.

Número da Reserva [ ]

Matrícula Funcionário [ ]

Código do Cliente [ ]

Data Reserva [ ]

Apto [ ]

Período: Início [ ]

Fim [ ]

Pessoa: Sobrenome [ ]

Nome [ ]

Funções Identificadas.

a) Registro de Reservas.

Tipo: Entrada Externa

Total de Itens: 9

Arquivos Referenciados: Reservas

Apartamentos

Clientes

Funcionários (Externo)

Total de Arquivos: 4

Classificação: Complexo

b) Mensagens de Erro - Registro de Reservas.

Tipo: Saída Externa

Total de Itens: 7

Arquivos Referenciados: Reservas

Apartamentos

Clientes

Funcionários (Externo)

Total de Arquivos: 4

Classificação: Complexo

Alteração de Reservas.

Alteração de Reservas.

Número da Reserva [ ]

Matrícula Funcionário [ ]

Código do Cliente [ ]

Data Reserva [ ]

Apto [ ]

Período: Início [ ]

Fim [ ]

Pessoa: Sobrenome [ ]

Nome [ ]

Funções Identificadas.

a) Alteração de Reservas.

Tipo: Entrada Externa

Total de Itens: 9

Arquivos Referenciados: Reservas

Apartamentos

Clientes

Funcionários (Externo)

Total de Arquivos: 4

Classificação: Complexo

b) Mensagens de Erro - Alteração de Reservas.

Tipo: Saída Externa

Total de Itens: 7

Arquivos Referenciados: Reservas

Apartamentos

Clientes

Funcionários (Externo)

Total de Arquivos: 4

Classificação: Complexo

Consulta de Reservas.

Informe número reserva [ ]

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

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

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

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

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

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

Situação: ............. Motivo ...............................

Funções Identificadas.

Consulta Externa de Reservas.

Tipo: Entrada Externa

Total de Itens: Entrada - 1

Saída - 11

Arquivos Referenciados

Entrada Reservas

Saída Reservas

Clientes

Funcionários (Externo)

 

Total de Arquivos: Entrada 1

Saída 4

Classificação: Médio

Cadastro de Apartamentos.

Informe operação [ ]

I - incluir

A - alterar

E - excluir

C - consultar

Número [ ]

Situação [ ]

R - Reservado

L - Livre

Tipo [ ]

Características: [ ] Sala

[ ] Vídeo

Funções Identificadas.

a) Inclusão de Apartamentos.

Tipo: Entrada Externa

Total de Itens: 6

Arquivos Referenciados Apartamentos

Total de Arquivos: 1

Classificação: Simples

b) Alteração de Apartamentos.

Tipo: Entrada Externa

Total de Itens: 6

Arquivos Referenciados Apartamentos

Total de Arquivos: 1

Classificação: Simples

c) Consulta de Apartamentos.

Tipo: Consulta

Total de Itens: Entrada 2

Saída 4

Arquivos.

Referenciados

Entrada Apartamentos

Saída Apartamentos

Total de Arquivos: Entrada 1

Saída 1

Classificação: Simples

d) Mensagens de Erro - Inclusão de Apartamentos.

Tipo: Saída Externa

Total de Itens: 4

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

e) Mensagens de Erro - Alteração de Apartamentos.

Tipo: Saída Externa

Total de Itens: 4

Arquivos Referenciados: Apartamentos

Total de Arquivos: 1

Classificação: Simples

Relatório de Apartamentos.

Data: 10/06/97

 

Número

Tipo

Situação

Características

101

S

O

Sala Vídeo

 

Função Identificadas

Relatório de Apartamentos.

Tipo: Saída Externa

Total de Itens: 5

Arquivos Referenciados Apartamentos

Total de Arquivos: 1

Classificação: Simples

Passo 4 - Classificação das Funções Excluídas..

Exclusão de Reservas.

Data: 10/06/97

Número: [ ]

Matrícula Funcionário: [ ]

Funções Identificadas.

Exclusão de Reservas.

Tipo: Entrada Externa

Total de Itens: 2

Arquivo

Referenciados Reservas Funcionários (Externo)

Total de Arquivos: 2

Classificação: Simples

Passo 5 - Resumo das Funções..

Tipo de Função: - Entrada Externa Incluídas

 

DESCRIÇÃO DA FUNÇÃO Arq Itens S M C

Cancelamento de Reservas

3

3

   

X

* * * TOTAL DE ENTRADAS EXTERNAS * * *       1

Tipo de Função - Saída Externa

DESCRIÇÃO DA FUNÇÃO Arq Itens S M C
Relatório de Reservas Canceladas

2

4

X

   

Mensagens de Erro (Cancelamento de Reservas)

2

2

X

   

* * * TOTAL DE SAÍDAS

EXTERNAS * * *

   

2

 

Resumo das Funções - Alteradas

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

DESCRIÇÃO DA FUNÇÃO Reg Itens S M C
Arquivo de Reservas

1

11

X

   
Arquivo de Apartamentos

1

5

X

   
* * * TOTAL DE ARQUIVOS LÓGICOS

INTERNOS * * *

 

2

   

Tipo de Função - Entrada Externa

DESCRIÇÃO DA FUNÇÃO

Reg

Itens

S

M

C

Registro de Reservas

4

10

   

X

Alteração de Reservas

4

10

   

X

Inclusão de Apartamentos

1

6

X

   

Alteração de Apartamentos

1

6

X

   

* * * TOTAL DE ENTRADAS EXTERNAS * * *

   

2

 

2

Tipo de Função - Saída Externa

 

DESCRIÇÃO DA FUNÇÃO

Reg

Itens

S

M

C

Relatório de Apartamentos

1

5

X

   

Mensagens de Erro (Registro de Reserva)

4

7

   

X

Mensagens de Erro (Alteração de Reserva)

4

7

   

X

Mensagens de Erro (Inclusão de Aptos)

1

4

X

   

Mensagens de Erro (Alteração de Aptos)

1

4

X

   

* * * TOTAL DE ENTRADAS EXTERNAS * * *

   

3

 

2

Tipo de Função - Consulta Externa

  ENTRADA SAÍDA      
DESCRIÇÃO DA FUNÇÃO

A

I

A

I

S M C
Consulta de Reservas

1

1

4

11

    X
Consulta de Apartamentos

1

2

1

4

X    

* * * TOTAL DE CONSULTAS EXTERNAS * * *

1

 

1

Resumo das Funções-Excluídas

Tipo de Função - Entrada Externa

DESCRIÇÃO DA FUNÇÃO

Arq

Itens

S

M

C

Exclusão de Reservas

2

2

X

   

* * * TOTAL DE ENTRADAS EXTERNAS * * *

   

1

   

Passo 6 - Cálculo dos Pontos por Função Não-Ajustados de Inclusões..

Tipo de Função Complexidade

Funcional

Total Complexidade

Total Tipo Função

Arquivo

Simples X 7 =

Média X 10 =

Complexa X

15 =

   

Interface

Simples X 5 =

Média X 7 =

Complexa X

10 =

   

Entrada

Simples X 3 =

Média X 4 =

1 ComplexaX

6 =

6

6

Saída

2 Simples X 4=

Média X 5 =

Complexa X

7 =

8

8

Consulta

Simples X 3 =

Média X 4 =

Complexa X6 =

   

Total de Pontos por Função Não-Ajustados (INCLUSÕES) = 14

Passo 7 - Cálculo dos Pontos por Função Não-Ajustados das Alterações - Imagem Posterior..

Tipo de Função Complexidade

Funcional

Total Complexidade Total Tipo Função
Arquivo

2 Simples X 7=

Média X 10=

Complexa X 15=

14

14

Interface

Simples X 5=

Média X 7=

Complexa X 10=

   
Entrada 2 Simples X 3=

Média X 4=

2 Complexa X 6=

6

12

18

Saída 3 Simples X 4=

Média X 5 =

2 Complexa X 7=

12

14

26

Consulta 1 Simples X 3=

1 Média X 4=

Complexa X6=

3

4

7

Total de Pontos por Função Não-Ajustados (ALTERAÇÕES) = 65

Passo 8 - Cálculo dos Pontos por Função Não-Ajustados das Alterações - Imagem Anterior..

 

Tipo de Função Complexidade

Funcional

Total Complexidade Total Tipo Função
Arquivo 2 Simples X 7=

Média X 10=

Complexa X 5=

14

14

Interface Simples X 5=

Média X 7=

Complexa X10=

   
Entrada 2 Simples X 3=

Média X 4=

2 Complexa

X 6=

6

12

18

Saída 3 Simples X 4=

2 Média X 5=

Complexa X 7=

12

10

22

Consulta 1 Simples X 3=

1 Média X 4=

Complexa X 6=

3

4

7

Total de Pontos por Função Não-Ajustados (ALTERAÇÕES) = 61

Passo 9 - Cálculo dos Pontos por Função Não-Ajustados das Exclusões..

Tipo de Função

Complexidade

Funcional

Total Complexidade

Total Tipo Função

Arquivo Simples X 7=

Média X 10=

Complexa X15=

   
Interface Simples X 5=

Média X 7=

Complexa X10=

   
Entrada 1 Simples X 3=

Média X 4=

Complexa X 6=

3

3

Saída Simples X 4=

Média X 5=

Complexa X 7=

   
Consulta Simples X 3=

Média X 4=

Complexa X 6=

   
Total de Pontos por Função Não-Ajustados (EXCLUSÕES) = 3

Passo 10 - Cálculo dos Níveis de Influência e Fator de Ajuste..

 

Características Gerais dos Sistemas

Nível de Influência

Comentários

01. Comunicação de Dados

4

único protocolo

02. Processamento Distribuído

0

não

especificado

03. Desempenho

0

não

especificado

04. Utilização do Equipamento

1

utilizar o

atual

05. Volume de Transações

2

picos semanais

06. Entrada da Dados On-Line

5

100%

on-line

07. Eficiência do Usuário Final

1

voltado ao

usuário

08. Atualização On-Line

5

100%

atualizado

09. Processamento Complexo

0

não

especificado

10. Reutilização de Código

0

não

especificado

11. Facilidade de Implantação

0

não

especificado

12. Facilidade Operacional

0

não

especificado

13. Múltiplos locais

1

instal. em

outro hotel

14. Facilidade de Mudanças

0

não

especificado

* * * Nível de Influência ( NI )

19

 

Fator de Ajuste = (19 * 0,01) + 0,65 = 0,84

Passo 11 - Cálculo dos Pontos por Função Ajustados do Sistema de Reservas - Projeto de Manutenção..

Use a fórmula:

PF_MANUTENÇÃO = (PF_INCLUÍDO + PF_ALTERADO_ATUAL) * FA_ATUAL +

PF_EXCLUÍDO * FA_ANTERIOR

PF_MANUTENÇÃO = (14 + 65) * 0,84 + 3 * 0,82 = 66,36 + 2,46

Passo 12 - Cálculo dos Pontos da Aplicação..

PF_APLICAÇÃO=( PF_NÃO AJUSTADO + PF_INCLUÍDO + PF_ALTERADO_ATUAL - FP_ALTERADO_ANTERIOR - PF_EXCLUÍDO) * FA_ATUAL

PF_APLICAÇÃO = ( 122 + 14 + 65 - 61 - 3 ) * 0,84

 

Referências Bibliográficas:

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

Com este artigo, nós encerramos os artigos referentes a FPA FUNCTION POINT ANALYSIS - SISTEMÁTICA DE MÉTRICA.FPA FUNCTION POINT ANALYSIS - SISTEMÁTICA DE MÉTRICA.