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.