Você está na página 1de 49

FPA

Function Point Analysis

(Análise de Pontos de Função)

Release 4.0 - IFPUG

Análise de Pontos de Função

2

ÍNDICE

1. INTRODUÇÃO

3

 

1.1 - HISTÓRICO

3

2. VISÃO GERAL DA FPA

5

 

2.1. OBJETIVOS DA ANÁLISE POR PONTOS DE FUNÇÃO

5

2.2. APLICAÇÕES DA FPA

6

2.3. TIPOS DE CÁLCULO DA TÉCNICA FPA

6

2.4. VISÃO GERAL DE UMA APLICAÇÃO

7

2.5. RESUMO DO CÁLCULO DE PONTOS DE FUNÇÃO

7

3. REGRAS DE CONTAGEM

9

 

3.1. IDENTIFICAÇÃO E CLASSIFICAÇÃO DE FUNÇÕES

9

3.2. EXEMPLO

23

3.3. EXERCÍCIO

24

3.4. CARACTERÍSTICAS GERAIS DOS SISTEMAS

25

3.5. EXEMPLO

31

3.6. EXERCÍCIO

31

4. CÁLCULO DE PONTOS DE FUNÇÃO

31

 

4.1. CÁLCULO DE PONTOS DE FUNÇÃO NÃO AJUSTADOS

31

4.2. CÁLCULO DO FATOR DE AJUSTE

33

4.3. CÁLCULO DE PONTOS DE FUNÇÃO AJUSTADOS

34

5 DIMENSIONANDO PROJETOS COM FPA

41

 

5.1. MÉTODO DE ESTIMATIVA POR PERCENTUAL

41

5.2. EXEMPLO

43

5.3. EXERCÍCIO

43

6.

APÊNDICE

44

A. APLICAÇÕES DA TÉCNICA FPA

44

Análise de Pontos de Função

3

1. INTRODUÇÃO

Atualmente, o nível de competitividade das organizações está diretamente ligado à eficiência de seus sistemas de informação, que estão cada vez mais baseados em computadores. Com o amadurecimento desses sistemas, o volume dos programas vem aumentando e assim os custos

de desenvolvimento e manutenção vão se tornando parâmetros críticos para gerenciamento.

E como gerenciar a área de desenvolvimento de sistemas dentro da empresa ?

No aspecto do controle econômico do software, uma tarefa essencial é a de determinar o valor

ou tamanho dos sistemas, pois não se pode gerenciar aquilo que não se pode medir. Esta medida, para ser aceitável, deveria:

ser independente da tecnologia empregada no desenvolvimento do software.

produzir resultados consistentes.

Além disso, seria desejável que pudesse:

ser obtida por não-especialistas em processamento de dados

ser compreendida pelo usuário final

ser utilizada para estimativas

ser coletada automaticamente.

1.1 - Histórico

Por pelo menos uns cem anos, a definição econômica padrão de produtividade tem sido “bens ou serviços produzidos por unidade de trabalho e custo”. Esta definição era extremamente difícil de ser aplicada ao software devido à discordância sobre o que exatamente constituía “bens ou serviços” num projeto de desenvolvimento de aplicação.

Procurando desenvolver uma forma de medida de sistemas que fosse aceitável e consistente, foi gasto muito esforço para tentar formalizar este processo. Algumas técnicas foram implementadas visando mensurar os sistemas e identificar a produtividade na área de informática:

a. Contagem de Linhas do Código Fonte

A primeira forma encontrada para medir o tamanho de um sistema foi a contagem de suas

linhas de código. Esta técnica tem como vantagem a simplicidade, mas está muito presa à linguagem utilizada, tendo pouco significado para o usuário final e podendo levar a uma falsa idéia de que aumentar a produtividade significa aumentar o número de linhas desenvolvidas durante um período.

Além disso, esta técnica só é aplicável após a codificação dos programas, não permitindo estimativas em projetos.

b. Sistema Métrico de Halstead

Em 1972, Maurice Halstead da Universidade de Purdue iniciou estudos sobre algoritmos tentando testar empiricamente a hipótese de que os operadores (comandos e palavras reservadas) e os operandos (itens de dados) em um programa deviam se relacionar com a quantidade de erros no algoritmo.

Análise de Pontos de Função

4

Dado o sucesso do estudo, a pesquisa continuou em 1977, dando origem a um sistema que consiste em registrar para cada programa desenvolvido o número de operadores e operandos utilizados, permitindo o cálculo do tamanho do programa e o esforço de programação. Esta medida é independente da linguagem de programação, mas está baseada na sintaxe dos programas e não considera seu conteúdo. Outra desvantagem é que seu processo é incompreensível ao usuário final. Além disso, esta técnica só é aplicável após a codificação dos programas, não permitindo estimativas em projetos.

c. Análise de Pontos de Função

No início da década de 70, pesquisadores do Serviço de Processamento de Dados da IBM, a pedido do grupo de usuários (GUIDE), começaram a analisar centenas de programas para isolar as variáveis críticas, que determinam a produtividade da programação. Descobriam que poderiam basear a avaliação de um sistema, medindo-se o valor das funções executadas pelos programas, em vez de utilizar como base o volume ou a complexidade do código dos programas. Em 1979, Allan J. Albrech (IBM, White Plains), prosseguindo essas pesquisas, introduziu uma técnica de avaliação conhecida como Análise de Pontos de Função (FPA - Function Point Analysis). A técnica FPA mede uma aplicação baseada na visão externa do usuário, sendo, portanto, independente da linguagem utilizada, permitindo calcular o esforço de programação e auxiliando o usuário final a melhorar o exame e avaliação de projetos. Em 1986, foi formado o Grupo Internacional de Usuários da FPA (IFPUG - International Function Point Users Group) destinado a divulgar informações e novas implementações da técnica a todos os seus associados. Pontos de função não são estáticos nem deveriam ser. As regras para contar pontos de função devem ser revistas e expandidas periodicamente para representar o modelo em termos de tecnologias novas e modificadas. Até 1988, mais de 25.000 sistemas de informação haviam sido avaliados utilizando a FPA e a taxa de crescimento de seu uso tem dobrado a cada ano, sendo bem aceita como padrão mundial de medição de sistemas de informação.

Atualmente essa técnica vem sendo muito utilizada nos EUA, Canadá, Reino Unido, Austrália e Nova Zelândia. Incluídas entre as principais organizações usuárias estão as seguintes empresas:

UNISYS American

Air Canada American

Air New Zealand AT&T

Airlines Bank of America

Express Bank of N. Scotia

Boeing

British Airways Delta Airlines EXXON General Eletric NCR Royal Bank of Canada

Caterpillar DU PONT FORD IBM Pacific Bell SHELL

CBS Records Eastman Kodak Fujitsu Jonhson & Jonhson Rolls Royce Texas Instruments

3M

U.S.Navy

XEROX

Análise de Pontos de Função

5

Quadro Comparativo das Técnicas

Na figura 1.1 apresentamos um resumo das principais características das técnicas apresentadas nesta seção.

Características

Linhas

Sistema

Pontos

de

de

de

Código

Halstead

Função

1. Independência de

não

sim

sim

tecnologia

2. Produção de resultados consistentes

sim

sim

sim

3. Avaliação por usuários sem conhecimento de PD

não

não

sim

4. Significância para o usuário final

não

não

sim

5. Utilização em estimativas

não

não

sim

6. Contabilização automática

sim

sim

sim (*)

Figura 1.1: Quadro Comparativo das Técnicas Apresentadas

(*) Existem ferramentas no mercado, sem certificação do IFPUG, que permitem o cálculo automático dos Pontos de Função a partir de uma especificação da análise e/ou código-fonte da aplicação.

Conclusão

A criação dos Pontos de Função causou uma revolução na engenharia de software. O impacto

dos Pontos de Função nos estudos de produtividade de software foi proporcional à invenção do barômetro e do termômetro de mercúrio para física. Pela primeira vez na história, fatores importantes que afetam o software puderam ser medidos mais precisamente.

O impacto do IFPUG na indústria também foi significativo. Não existia nenhuma organização

equivalente durante os 45 anos de uso de método de “linhas de código-fonte”, e o caos resultante dificultou estudos econômicos e ocultou problemas mais profundos devido à métrica insatisfatória.

2. VISÃO GERAL DA FPA

A técnica FPA (Function Point Analysis) dimensiona uma aplicação na perspectiva do usuário

final, ao invés de levar em consideração as características técnicas da linguagem utilizada.

A FPA dimensiona software quantificando a funcionalidade que ele proporciona aos usuários

baseado, principalmente, no seu desenho lógico.

2.1. OBJETIVOS DA ANÁLISE POR PONTOS DE FUNÇÃO

Os objetivos da técnica são:

medir o que foi requisitado e recebido pelo usuário,

medir independentemente da tecnologia utilizada para implementação,

prover uma métrica de medição para apoiar a análise de produtividade e qualidade,

prover uma forma de estimar o tamanho do software, e

prover um fator de normalização para comparação de software.

Análise de Pontos de Função

6

Além de atingir os objetivos descritos acima, o processo de contagem de pontos de função deve ser:

simples para minimizar o trabalho adicional do processo de mensuração

conciso para permitir consistência, ao longo do tempo, dos projetos, e entre os usuários da técnica.

2.2. APLICAÇÕES DA FPA

A função principal da FPA é medir o tamanho de uma aplicação ou de um projeto. Entretanto,

quando utilizada em combinação com outras medidas, esta técnica pode ser utilizada para

determinar:

Nível de produtividade da equipe

Esforço de desenvolvimento de software

Custo de software

Taxa de produção de software

Taxa de manutenção de software

Etc.

2.3. TIPOS DE CÁLCULO DA TÉCNICA FPA

A técnica FPA pode ser aplicada tanto no dimensionamento de aplicações já implantadas

quanto do dimensionamento de projetos de desenvolvimento ou manutenção de aplicações.

Dimensionamento de um Projeto de Desenvolvimento

Este cálculo é utilizado para dimensionar (em pontos de função) o tamanho de um projeto de desenvolvimento de uma nova aplicação. O objetivo deste cálculo é quantificar as funções solicitadas e entregues ao usuário pela nova aplicação, incluindo neste caso, as funções

referentes ao processo de conversão de dados. Este valor menos os PF associados às atividades

de conversão torna-se o tamanho da aplicação, após sua implantação.

Dimensionamento de um Projeto de Manutenção

Este cálculo é utilizado para dimensionar o tamanho de um projeto de manutenção em uma aplicação já existente. O objetivo deste cálculo é medir todas as modificações (inclusões, alterações e exclusões) de funções do usuário, incluindo também, as funções providas pelo processo de conversão de dados. Ao final de um projeto de manutenção, é necessário recalcular o tamanho da aplicação para refletir as mudanças nas funções da aplicação.

Dimensionamento de uma Aplicação

Este cálculo é utilizado para dimensionar o tamanho real de uma aplicação em pontos de função. O valor encontrado representa a funcionalidade da aplicação do ponto de vista do usuário. Esse valor pode diferir da Dimensão do Projeto de Desenvolvimento desta aplicação uma vez que não inclui as funções do processo de conversão de dados.

Análise de Pontos de Função

7

2.4. VISÃO GERAL DE UMA APLICAÇÃO

Uma aplicação, vista sob a ótica do usuário, é um conjunto de funções ou atividades do negócio que o beneficiam na realização de suas tarefas. Essas funções podem ser divididas nos seguintes grupos:

Arquivo Lógico Interno

Grupo lógico de dados do ponto de vista do usuário cuja manutenção é feita internamente pela aplicação. Por exemplo, o cadastro de funcionários cujas atualizações ficam sob a responsabilidade do Depto. RH é considerado um arquivo lógico interno para esse departamento.

Arquivo de Interface Externa

Grupo lógico de dados utilizado na aplicação cuja manutenção pertence a outra aplicação. Por exemplo, se uma cópia do cadastro de funcionários é necessária para auxiliar as atividades do Depto. De Empréstimos e Benefícios Sociais, então esta cópia é considerada um arquivo de interface externa para esse departamento.

Entrada Externa

Transações vindas diretamente do usuário com o objetivo de atualizar os arquivos lógicos internos. Por exemplo, a atividade de inclusão de um novo funcionário no cadastro.

Saída Externa

São dados extraídos da aplicação, tais como relatórios e mensagens do terminal de vídeo. Por exemplo, um relatório do cadastro de funcionários em ordem alfabética.

Consulta Externa

Combinação de uma entrada externa e uma saída de dados, isto é, uma requisição de dados que gera uma aquisição e exibição imediata de dados. Por exemplo, a atividade de consulta de saldo em um banco onde o correntista informa o número da conta e recebe imediatamente o valor do seu saldo.

Fronteiras da Aplicação

É necessário delimitar as fronteiras da aplicação que está sendo dimensionada, para se

estabelecer a propriedade dos dados e relacionamentos com aplicações externas. Para isso, é necessário observar a aplicação sempre do ponto de vista do usuário, e não do ponto de vista tecnológico, isto é, o que o usuário pode entender e descrever. Através da especificação e diagramas gráficos, pode-se desenhar uma fronteira ao redor do sistema, evidenciando o que é interno e o que é externo à aplicação.

2.5. Resumo do cálculo de pontos de função

Determinam-se os pontos de função de uma aplicação em três etapas de avaliação.

A primeira resulta na contagem de PONTOS DE FUNÇÃO NÃO-AJUSTADOS, que refletem

as funções específicas e mensuráveis do negócio, providas ao usuário pela aplicação, cuja fronteira foi claramente identificada.

A segunda etapa da avaliação gera o FATOR DE AJUSTE, que representa a funcionalidade

geral provida ao usuário pela aplicação.

A terceira etapa resulta na contagem de PONTOS DE FUNÇÃO AJUSTADOS, que refletem a

aplicação do fator de ajuste sobre o resultado apurado na primeira etapa.

Cálculo de Pontos de Função Não-Ajustados

Uma função específica do usuário em uma aplicação é avaliada em termos do que é fornecido pela aplicação e não como é fornecido. Somente componentes solicitados pelo usuário e visíveis são contados. As funções específicas da aplicação devem ser identificadas e agrupadas por tipo de função, considerando a fronteira definida. Os tipos de função são :

Arquivo Lógico Interno

Análise de Pontos de Função

8

Arquivo de Interface Externa

Entrada Externa

Saída Externa

Consulta Externa

Cada tipo de função dever ser classificado de acordo com sua complexidade funcional relativa, como :

SIMPLES

MÉDIA

COMPLEXA

O

critério de classificação varia entre os tipos de função e é abordado na Seção 3.

O

valor dos pontos para cada função varia de 3 a 15, dependendo do seu tipo e grau de

complexidade. Totalizando seus valores, gera-se o total de PONTOS DE FUNÇÃO NÃO- AJUSTADOS da aplicação avaliada. Esses valores obtidos através da figura 4-1 da Seção 4.

Cálculo do Fator de Ajuste

O valor do FATOR DE AJUSTE é calculado a partir de 14 características gerais dos sistemas,

que permitem uma avaliação geral da funcionalidade da aplicação. Na seção 3.4. há uma abordagem completa dessas características.

As características gerais de um sistema são :

1. Comunicação de Dados

2. Processamento Distribuído

3. Performance

4. Utilização do Equipamento

5. Volume de Transações

6. Entrada de Dados "on-line"

7. Eficiência do Usuário Final

8. Atualização "on-line"

9. Processamento Complexo

10. Reutilização de Código

11. Facilidade de Implantação

12. Facilidade Operacional

13. Múltiplos Locais

14. Facilidade de Mudanças

Atribui-se um peso de 0 a 5 para cada característica, de acordo com o seu nível de influência na aplicação.

0 - Nenhuma Influência

1 - Influência mínima

2 - Influência moderada

3 - Influência média

4 - Influência significativa

5 - Grande Influência

Cálculo de Pontos de Função Ajustados

Finalmente, o total de Pontos de Função da aplicação, do projeto de desenvolvimento ou do projeto de manutenção pode ser encontrado combinando-se o Fator de Ajuste e a quantidade de Pontos de Função Não-Ajustados calculados anteriormente, segundo fórmulas apresentadas na seção 4.3.

Análise de Pontos de Função

9

3. REGRAS DE CONTAGEM

As regras de contagem da FPA, aqui descritas, estão baseadas no Function Point Counting Practices Manual - Release 4.0, publicado pelo IFPUG em janeiro de 1994.

Para facilitar inclusões ou modificações à medida que novas regras de contagem da FPA são aprovadas pelo IFPUG, cada tipo de função descrito nesta seção está organizado da seguinte forma :

Visão Geral

Definições

Identificação

Exemplos

Classificação

3.1. Identificação e Classificação de Funções

O primeiro passo a ser seguido para a contagem de pontos de função de um projeto ou aplicação envolve a determinação:

do

Tipo de Contagem de pontos de função a ser realizado

da

Fronteira da aplicação ou do projeto a ser dimensionado.

Como mencionado anteriormente, a técnica FPA pode ser utilizada para o dimensionamento tanto de uma aplicação quanto de um projeto de desenvolvimento ou manutenção, diferenciando-se estes tipos de contagem pelo universo de funções a ser considerado. No caso dos projetos de desenvolvimento e manutenção, devem ser também avaliadas as funções referentes à conversão de dados necessárias para a efetiva implantação da aplicação.

Complementarmente, deve ser claramente identificada, no início dos procedimentos de contagem, a fronteira da aplicação ou projeto, estabelecendo-se desta forma:

os limites entre as funções a serem atendidas pela aplicação ou projeto dimensionado e àquelas pertencentes ao ambiente externo

a

propriedade dos dados considerados pelo processo de contagem

o

relacionamento entre processos, com a indicação de onde estes ocorrem.

Para a identificação da Fronteira do processo de contagem, devem ser adotadas as seguintes regras:

A fronteira é determinada considerando-se o ponto de vista do usuário, ou seja, o que o

usuário pode entender e descrever como função da aplicação.

A fronteira entre aplicações relacionadas deve considerar a funcionalidade das aplicações

em termos das funções de negócio identificadas pelo usuário, e não sob a perspectiva técnica das interfaces necessárias.

3.1.1. Arquivos Lógicos Internos

Visão Geral

Análise de Pontos de Função

10

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 na sua quantidade e complexidade funcional relativa.

Definições

Arquivo Lógico Interno é um grupo de dados logicamente relacionados ou informações de controle identificadas pelo usuário, que é utilizado e sofre manutenção dentro da Fronteira da aplicação.

Grupo de Dados Logicamente Relacionados refere-se a dados relacionados em um nível em que o usuário experiente consegue perceber como sendo importante para permitir que a aplicação realiza uma atividade específica. Em um Diagrama de Fluxo de Dados, um Arquivo Lógico Interno seria equivalente a um depósito de dados; no Modelo de Entidades e Relacionamentos (DER) equivale a uma entidade.

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

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

Identificação

(1)

Identificar todos os dados ou informações de controle:

(a)

Armazenados dentro da Fronteira da aplicação

(b)

Que sofrem manutenção por um processo elementar da aplicação

(c )

Identificados pelo usuário como sendo um requerimento da aplicação.

(2)

Agrupar os dados logicamente com base na visão do usuário:

a) Em um nível de detalhe que possa satisfazer um requerimento específico da

aplicação;

b) Visualizando os arquivos lógicos. Embora algumas tecnologias de armazenamento

de dados (tabelas, arquivos convencionais, arquivos indexados, etc.) possam equivaler a um Arquivo Lógico Interno, não deve ser necessariamente assumido que um arquivo

físico sempre eqüivale a um arquivo lógico.

Exemplos

São considerados um ou mais Arquivos Lógicos Internos, dependendo da visão do usuário:

Dados

funcionários);

da

aplicação

(arquivos

mestres

como

cadastro

de

clientes

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;

ou

cadastro

de

Análise de Pontos de Função

11

Arquivo de backup. Somente será considerado se especificamente solicitado pelo usuário para atender requerimentos 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 são considerados Arquivos Lógicos Internos:

Arquivos temporários;

Arquivos de trabalho;

Arquivos de classificação (SORT);

Arquivos suspensos. Arquivos contendo transações incompletas de uma Entrada Externa não devem ser contados a menos que os dados desse arquivo possam ser acessados ou atualizados pelo usuário através de uma Entrada Externa, Saída Externa e/ou Consulta Externa específica;

Arquivos de backup requeridos pelos procedimentos de backup e recuperação do CPD;

Arquivos introduzidos somente por causa da tecnologia utilizada, por exemplo, um arquivo de parâmetros para um software com WFL, JCL, etc.;

Arquivos de índices alternativos (métodos alternativos de acesso físico a um arquivo);

Operações de junção e projeção (os itens já foram contabilizados em outros arquivos internos e interfaces).

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.

(a) Identificação do Número de Registros Lógicos

Registro Lógico pode ser definido como um subgrupo de dados reconhecido pelo usuário dentro de um Arquivo Lógico Interno. Dependendo da visão do usuário, um Arquivo Lógico Interno pode ter mais de um Registro Lógico.

Há dois tipos de subgrupos de dados que podem ser identificados como registros lógicos:

Mandatórios são aqueles subgrupos de dados que o usuário deve utilizar pelo menos um durante o processo elementar de criação de um item num Arquivo Lógico Interno;

Opcionais são aqueles subgrupos de dados que o usuário tem a opção de utilizar um ou nenhum durante o processo elementar de criação de um item num ARquivo Lógico Interno.

Por exemplo, num Sistema de Recursos Humanos, o processo de inclusão de informações sobre um empregado compreende o preenchimento de dados de caráter cadastral. Em adição às informações cadastrais, o empregado pode ser incluído como horista ou mensalista. Cada empregado pode ter também informações adicionais sobre seus dependentes. Considerando os requerimentos do Sistema de Recursos Humanos, podemos identificar para o Arquivo Lógico Interno Empregados o seguinte conjunto de registros lógicos:

Análise de Pontos de Função

12

Informações Cadastrais

(mandatório)

Informações para Mensalistas

(opcional)

Informações para Horistas

(opcional)

Informações sobre Dependentes (opcional)

As seguintes regras devem ser aplicadas para a contabilização dos registros lógicos:

Conte 1 registro lógico para cada subgrupo identificado, opcional ou madatório;

Considere 1 registro lógico caso o Arquivo Lógico Interno não possua subgrupos.

(b) Identificação do Número de Itens de Dados

Item de Dado representa um segmento de um Arquivo Lógico Interno que tem um significado único e pode ser identificado pelo usuário.

Cada item de dado ou campo referenciado em um Arquivo Lógico Interno deve ser contabilizado, considerando as seguintes observações:

Os itens de dados devem ser considerados de acordo com a visão do usuário. Por exemplo, um número contábil ou data que é armazenado em múltiplos campos dever ser contado como um único item de dados.

Itens de dados que aparecem mais de uma vez em um Arquivo Lógico Interno por causa da tecnologia ou técnica de implementação devem ser contados apenas uma vez. Por exemplo, se um Arquivo Lógico Interno é composto de mais de uma tabela em DBMS relacional, as chaves utilizadas para relacionar as tabelas são contadas uma única vez.

Campos repetitivos que são idênticos no formato e existem para permitir múltiplas ocorrências de um determinado item de dados são contados um única vez. Por exemplo, em um Arquivo Lógico Interno contendo um campo valor-mensal ocorrendo 12 vezes e um campo valor-anual devemos contar dois itens de dados, um para o campo valor-mensal e outro para o campo valor-anual.

De acordo com o número de itens de dados referenciados e de registros lógicos, classifica-se o Arquivo Lógico Interno em simples, médio ou complexo, conforme apresentado na Figura 3.1

 

1 a 19 itens de dados

20 a 50 itens de dados

51 ou mais itens de dados

1

SIMPLES

SIMPLES

MÉDIA

registro lógico

2 a 5 registros lógicos

SIMPLES

MÉDIA

COMPLEXA

6 ou mais registros lógicos

MÉDIA

COMPLEXA

COMPLEXA

Figura 3-1: Tabela de Complexidade de Arquivo Lógico Interno

3.1.2. Arquivo de Interface Externa

Visão Geral

Os Arquivos de Interface Externa representam os requerimentos de dados cuja manutenção é feita fora dos limites da aplicação. Os Arquivos de Iterface Externa contribuem para o Cálculo de Pontos de Função com base na sua quantidade e complexidade funcional relativa.

Definições

Análise de Pontos de Função

13

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

Grupo de Dados Logicamente Relacionados refere-se a dados relacionados em um nível que o usuário experiente 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 especificadas pelo usuário.

Identificação

(1)

Identificar todos os dados ou informações de controle:

(a)

Armazenados fora da Fronteira da Aplicação,

(b)

Que NÃO sofram manutenção pela Aplicação,

(c )

Identificados pelo usuário como sendo um requerimento da aplicação.

(2) Agrupar os dados logicamente com base na visão do usuário:

a) Em um nível de detalhe que possa satisfazer um requerimento específico da aplicação;

b) Visualizando os arquivos lógicos. Embora algumas tecnologias de armazenamento de dados (tabelas, arquivos convencionais, arquivos indexados, etc.) possam eqüivaler a um Arquivo de Interface Externa, não deve ser necessariamente assumido que um arquivo físico sempre eqüivale a um arquivo lógico.

Exemplos

São considerados um ou mais Arquivos de Interface Externa, dependendo da visão do usuário:

Dados de Referência (dados externos utilizados pela aplicação, mas que não utilizados para manutenção em Arquivos Lógicos Internos)

Arquivos de mensagens de auxílio

Arquivos de mensagens de erro

NÃO são considerados Arquivos de Interface Externa:

Dados recebidos de outra aplicação utilizados para adicionar, alterar ou remover dados em 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 formatados e processados para uso por outra aplicação devem ser considerados uma Saída Externa.

Classificação

Análise de Pontos de Função

14

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 do número de Itens de Dados do arquivo.

(a) Identificação do Número de Registros Lógicos

Registro Lógico pode ser definido como um subgrupo de dados reconhecido pelo usuário dentro de um Arquivo de Interface Externa. Dependendo da visão do usuário, um Arquivo de Interface Externa pode ter mais de um Registro Lógico.

Há dois tipos de subgrupos de dados que podem ser identificados como registros lógicos:

Mandatórios são aqueles subgrupos de dados que o usuário deve utilizar pelo menos um durante o processo elementar de criação de um item num arquivo.

Opcionais são aqueles subgrupos de dados que o usuário tem a opção de utilizar um ou nenhum durante o processo elementar de criação de um item num arquivo.

As seguintes regras devem ser aplicadas para a contabilização dos registros lógicos:

Conte 1 registro lógico para cada subgrupo identificado, opcional ou mandatório, e efetivamente utilizado pela aplicação.

Considere 1 registro lógico caso o Arquivo de Interface Externa não possua subgrupos.

(b) Identificação do Número de Itens de Dados

Item de Dado representa um segmento de um Arquivo de Interface Externa que tem um significado e pode ser identificado pelo usuário.

Cada item de dado ou campo referenciado de um Arquivo de Interface Externa deve ser contabilizado, considerando as seguintes observações:

Os itens de dados devem ser considerados de acordo com a visão do usuário. Por exemplo, um número contábil ou data que é armazenado em múltiplos campos deve ser contado como um único item de dados.

Itens de dados que aparecem mais de uma vez em um Arquivo de Interface Externa por causa da tecnologia ou técnica de implementação devem ser contados apenas uma vez. Por exemplo, se um Arquivo de Interface Externa é composto de mais de uma tabela em um DBMS relacional, as chaves utilizadas para relacionar as tabelas são contadas uma única vez.

Campos repetitivos que são idênticos no formato e existem para permitir múltiplas ocorrências de um determinado item de dados são contados uma única vez. Por exemplo, em um Arquivo de Interface Externa contendo campo valor-mensal ocorrendo 12 vezes e um campo valor-anual devemos contabilizar dois itens de dados, um para o campo valor- mensal e outro para o campo valor-anual.

Análise de Pontos de Função

15

De acordo com o número de itens de dados referenciados e de registros lógicos, classifica-se o Arquivo de Interface Externa em simples, médio ou complexo, conforme apresentado na Figura 3-2.

1 a 19 itens de dados

20 a 50 itens de dados

51 ou mais itens de dados

1

registro

lógico

SIMPLES

SIMPLES

MÉDIA

2 a 5 registros lógicos

SIMPLES

MÉDIA

COMPLEXA

6 ou mais registros lógicos

MÉDIA

COMPLEXA

COMPLEXA

Figura 3-2: Tabela de Complexidade de Arquivo de Interface Externa

3.1.3. Entradas Externas

Visão Geral

As Entradas Externas representam as atividades de manutenção de dados e processamento de controle de aplicação. As Entradas Externas contribuem para o Cálculo de Pontos de Função com base na sua quantidade e complexidade funcional.

Definições

Uma Entrada Externa processa dados ou informações de controle que entram pela fronteira da aplicação. Esses dados, através de um processo lógico único, atualizam Arquivos Lógicos Internos. Informações de controle podem ou não atualizar diretamente um Arquivo Lógico Interno.

Uma Entrada Externa é considerada única para a aplicação se possuir um formato diferente das demais ou se necessitar de uma lógica de processamento diferente de outras Entradas Externas que tenham o mesmo formato.

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

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

Processo Elementar é o menor conjunto de atividades com significado para o usuário final em termos de função de negócio.

Formato é definido como um conjunto de dados arrumados em uma ordem ou seqüência única dentro da aplicação. Por exemplo: o layout de uma tela de terminal de vídeo.

Lógica de Processamento é definida como o conjunto de críticas, cálculos, algoritmos e referências/utilização de Arquivos Lógicos Internos ou Arquivos de Interface Externa, especificamente requeridos pelo usuário para a realização de um processo elementar.

(1)

Identificação

Identificar todos os processos que recebem dados de fora da aplicação e que atualizam um Arquivo Lógico Interno. Para cada processo identificado:

a) Se dados utilizados em um processo podem ser recebidos em mais de um formato, então cada formato deve ser considerado uma Entrada Externa.

b) Se o processo necessitar de uma lógica de processamento diferente da utilizada em outras Entradas Externas que tenham o mesmo formato, então este deverá ser considerado uma Entrada Externa distinta.

Análise de Pontos de Função

16

c) Contabilizar uma Entrada Externa para cada atividade de manutenção (adição, alteração e remoção) executada.

(2)

Identificar os processos que permitem a entrada de informações de

fronteira da aplicação, com o objetivo de atender aos requerimentos do usuário.

controle

dentro da

Exemplos

Assumindo que as condições de identificação citadas estejam satisfeitas, são consideradas Entradas Externas:

Dados de Transações: Dados Externos utilizados na manutenção de Arquivos Lógicos Internos.

Tela de Entrada: Contar uma Entrada Externa para cada função de manutenção de um Arquivo Lógico Interno. Se as capacidades de adição, alteração e remoção estiverem presentes, a tela de entrada deve ser considerada como três Entradas Externas.

Tela de Entrada: Neste contexto, é uma tela lógica que pode ser composta de uma ou várias telas físicas processadas como uma única transação. Já uma tela física que permite a execução de várias transações deve considerar tantas Entradas Externas quantas forem as transações.

Entrada “batch”: Para cada processo de manutenção de um Arquivo Lógico Interno, contabilize uma Entrada Externa para cada adição, alteração e remoção.

Entradas Externas Duplicadas: Processos de entrada, especificamente solicitados pelo usuário devem ser contados separadamente. Por exemplo, um sistema bancário, que aceita transações idênticas de depósito, uma através de uma caixa automático (ATM) e a segunda feita pelo caixa do banco.

Atualizações em Arquivos Suspensos: Se um arquivo suspenso pode ser acessado e atualizado pelo usuário, então cada atividade de manutenção deve ser considerada uma Entrada Externa.

NÃO são consideradas Entradas Externas:

Dados de Referência: Dados externos utilizados pela aplicação, mas que não são atualizados em Arquivos Lógicos Internos. Por exemplo, informações fornecidas em uma tela de logon que permite o acesso ao sistema mas não atualiza nenhum Arquivo Lógico Interno.

Parte de Entrada de uma Consulta Externa: Parâmetros de entrada que direcionam a recuperação de dados de uma consulta.

Telas de Logon: Telas que facilitam o acesso a uma aplicação e não atualizam Arquivos Lógicos Internos não são consideradas Entradas Externas.

Telas de Menu: Telas que fornecem somente funcionalidade de seleção ou navegação e não atualizam Arquivos Lógicos Internos que não são consideradas Entradas Externas.

Múltiplos métodos de executar uma mesma lógica de entrada: Por exemplo, entrar “A” ou “ADD” numa linha de comando, ou utilizar uma tecla de função, deve ser considerada uma única Entrada Externa.

Classificação

Cada Entrada Externa deve ser classificada de acordo com sua complexidade funcional relativa, que é baseada no número de Arquivos Referenciados e no número de Itens de Dados.

Análise de Pontos de Função

17

a) Identificação do Número de Arquivos Referenciados

Arquivo Referenciado é qualquer Arquivo Lógico Interno consultado ou atualizado pelo processo ou qualquer Arquivo de Interface Externa consultado. O número de Arquivos Referenciados é o somatório dos Arquivos Lógicos Internos e Arquivos de Interface Externa atualizados ou consultados na Entrada Externa.

b) Identificação do Número de Itens de Dados

Item de Dado é um campo único, não recursivo, identificado pelo usuário, que é atualizado em um Arquivo Lógico Interno pela Entrada Externa.

Cada item de dado atualizado em um Arquivo Lógico Interno pela Entrada Externa deve ser contabilizado, considerando as seguintes observações:

Os itens de dados devem ser considerados de acordo com a visão do usuário. Por exemplo, um número contábil que é armazenado em múltiplos campos deve ser contado como um único item de dados.

Itens de dados que aparecem mais de uma vez em um arquivo por causa da tecnologia ou técnica de implementação devem ser contados apenas uma vez. Por exemplo, se um arquivo é composto de mais de uma tabela em um DBMS relacional, as chaves utilizadas para relacionar as tabelas são contadas uma única vez.

Linha(s) de comando ou teclas de função que fornecem a capacidade para especificar a ação a ser tomada pela Entrada Externa. Um item de dado adicional deve ser considerado na Entrada Externa. Não deve ser contabilizado um item por comando/tecla de função existente.

Campos não informados pelo usuário, mas que são atualizados em um Arquivo Lógico Interno por uma Entrada Externa, devem ser contabilizados. Por exemplo: um sistema que gera chaves seqüenciais, atualizadas em um Arquivo Lógico Interno, mas que não são fornecidos pelo usuário, deve ser contado como um item de dados da Entrada Externa.

Mensagem de erro ou confirmação relacionadas aos processos lógicos executados pela Entrada Externa. Caso sejam requeridas pelo usuário mensagens de erro/confirmação, um item de dado adicional deve ser considerado para a Entrada Externa, independente da quantidade de mensagens de erro/confirmação previstas.

De acordo com o número de itens de dados e das referências a arquivos lógicos internos e arquivos de interface externa, classifica-se a Entrada Externa em simples, média ou complexa, conforme apresentado na Figura 3.3.

 

1 a 4 itens de dados

5 a 15 itens de dados

16 ou mais itens de dados

0 ou 1 arquivo referenciado

SIMPLES

SIMPLES

MÉDIA

2

SIMPLES

MÉDIA

COMPLEXA

arquivos

referenciados

3 ou mais arquivos referenciados

MÉDIA

COMPLEXA

COMPLEXA

Figura 3.3: Tabela de Complexidade de Entrada Externa

Análise de Pontos de Função

18

3.1.4. Saídas Externas

Visão Geral

As Saídas Externas representam as atividades da aplicação que tem como resultado saídas de dados. As Saídas Externas contribuem para o Cálculo de Pontos de Função com base na sua quantidade e complexidade funcional.

Definições

Uma Saída Externa é uma atividade que envia dados ou informações de controle para fora da fronteira da aplicação.

Uma Saída Externa é considerada única para a aplicação, se referenciar um conjunto de itens de dados diferente das demais ou se necessitar de uma lógica de processamento diferente de outras Saídas Externas que tenham o mesmo formato.

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

Formato é definido como um conjunto de dados arrumados em uma ordem ou seqüência única dentro da aplicação. Por exemplo, layout de um relatório.

Lógica de Processamento é definida como o conjunto de críticas, cálculos, algoritmos e referência/acesso a arquivos especificamente requeridos pelo usuário.

Identificação

(1)

Identificar todos os processos que:

 

(a)

Enviam dados para fora da fronteira da aplicação

(b)

Enviam informações de controle para fora da fronteira da aplicação.

(2)

Para cada processo identificado:

(a)

Deve ser considerada uma Saída Externa para cada processo que envia dados ou informações de controle para fora da fronteira da aplicação.

(b)

Se o processo necessitar de uma lógica de processamento diferente da utilizada em outras Saídas Externas que tenham o mesmo formato, então este deverá ser considerado uma Saída Externa distinta.

Exemplos

Assumindo que as condições de identificação descritas estejam satisfeitas, devem ser consideradas Saídas Externas.

Dados transferidos para outra aplicação: Dados residentes em um Arquivo Lógico Interno, que são formatados e processados para uso por uma aplicação externa. A identificação de uma Saída Externa é baseada no tipo de processamento necessário para manipular os dados. Um arquivo físico de saída pode corresponder a um certo número de Saídas Externas, quando visto logicamente. Por outro lado, uma Saída Externa pode corresponder a mais de um arquivo físico de saída se a lógica de processamento e formato for idêntica para cada arquivo físico.

Relatórios: Cada relatório produzido por uma aplicação pode ser considerado uma Saída Externa. Dois relatórios de formatos idênticos, inclusive detalhes e sumário final, devem ser considerados como duas Saídas Externas, se necessitarem de lógicas de processamento distintas ou cálculos distintos para serem produzidos.

Análise de Pontos de Função

19

Relatórios Duplicados: Relatórios idênticos, produzidos em diferentes meios para atender necessidades específicas do usuário, devem ser considerados como Saídas Externas distintas. Cada processo requerido para produzir uma saída em um meio diferente é considerado um processamento lógico distinto. Por exemplo, dois relatórios idênticos, um em formulário contínuo e o outro em microficha, devem ser considerados duas Saídas Externas.

Relatórios “On-line”:

Consulta Externa.

Saída de dados “on-line” que não seja a parte de saída de uma

Dados Derivados: Dados derivados, resultantes de cálculos ou outras operações sobre dados originais, que não necessariamente atualizem um arquivo.

Formatos Gráficos: Devem ser contados da mesma forma, como saída em formato texto, ou seja, cada formato gráfico diferente deverá ser considerado como uma saída externa.

Gerador de Relatórios: Saídas desenvolvidas para o usuário através de um gerador de relatório deverão ser considerados como uma saída externa para cada relatório específico.

NÃO são consideradas Saídas Externas:

Telas de Help: Ver Consultas Externas.

Múltiplas Formas de Executar uma Mesma Lógica de Saída.

Relatórios Múltiplos com Mesma Lógica e Formato: Relatórios que possuem o mesmo formato e lógica, mas que existem para mostrar valores distintos, não devem ser contados como Saídas Externas distintas. Por exemplo, dois relatórios com o mesmo formato e lógica, o primeiro contendo clientes de “A a L” e o segundo de “M a Z”, são considerados como uma única Saída Externa.

Relatórios Ad-Hoc: Quando o usuário é responsável diretamente pela criação (através do uso de uma linguagem como FOCUS ou SQL) de um número indefinido de relatórios, nenhuma Saída Externa é considerada.

Classificação

Cada Saída Externa deve ser classificada de acordo com sua complexidade funcional, que é baseada no número de Arquivos Referenciados e no número de Itens de Dados.

(a) Identificação do Número de Arquivos Referenciados

Arquivo Referenciado é qualquer Arquivo Lógico Interno ou Arquivo de Interface Externa consultado pelo processamento da Saída Externa. O número de Arquivos Referenciados é o somatório dos Arquivos Lógicos Internos e Arquivos de Interface Externa consultados na Saída Externa.

(b) Identificação do Número de Itens de Dados

Item de Dado é um campo único, não recursivo, identificado pelo usuário, que é apresentado na Saída Externa.

Cada item de dado de uma Saída Externa deve ser contabilizado, considerando as seguintes observações:

Os itens de dados devem ser considerados de acordo com a visão do usuário, por exemplo, um número contábil que é exibido no relatório em múltiplos campos deve ser considerado como um único item de dados.

Análise de Pontos de Função

20

Gráficos: contar um item para cada tipo de legenda ou equivalente numérico na saída gráfica. Por exemplo, um gráfico de pizza deve ter dois itens: um para designar a categoria e um para percentual.

Literais não devem ser contados como itens de dados.

Data, hora, controles de paginação etc. não devem ser considerados.

Deve ser contado um item de dado adicional para cada campo de sumário ou de total que aparece na Saída Externa.

De acordo com o número de itens de dados e dos arquivos referenciados, classifica-se a Saída Externa em simples, média ou complexa, conforme apresentado na Figura 3.4.

 

1 a 5 itens de dados

6 a 19 itens de dados

20 ou mais itens de dados

0 ou 1 arquivo referenciado

SIMPLES

SIMPLES

MÉDIA

2 a 3 arquivos referenciados

SIMPLES

MÉDIA

COMPLEXA

4 ou mais arquivos referenciados

MÉDIA

COMPLEXA

COMPLEXA

Figura 3.4: Tabela de Complexidade de Saída Externa

3.1.5. Consultas Externas

Visão Geral

As Consultas Externas representam as necessidades de processamento de consultas da aplicação. As Consultas Externas contribuem para o Cálculo de Pontos de Função com base na sua quantidade e complexidade funcional.

Definições

Uma Consulta Externa é uma combinação de entrada/saída de dados onde uma de dados ocasiona uma recuperação e saída de dados correspondente. Uma Consulta Externa não contém dados derivados e não atualiza nenhum Arquivo Lógico Interno.

Uma Consulta Externa é considerada única para a aplicação se possui um formato diferente de outras consultas tanto na parte de entrada quanto na parte de saída, ou se requer uma lógica de processamento (edição) diferente de outras consultas.

Dados Derivados são definidos como dados que requerem um processamento diferente de um acesso, recuperação ou edição de dados de um Arquivo Lógico Interno e/ou Arquivo de Interface Externa.

Formato é definido como um conjunto de dados arrumados em uma ordem ou seqüência única dentro da aplicação. Por exemplo, layout de uma tela de terminal de vídeo.

Identificação

(1)

Identificar todos os processos onde uma entrada está associada a uma

(2)

correspondente recuperação e exibição de dados, sem derivação dos mesmos e sem atualização de Arquivos Lógicos Internos. Para cada processo identificado:

Análise de Pontos de Função

21

(a)

Verificar se a lógica de processamento envolvida tanto na parte de entrada quanto na de Saída é diferente da de Consultas Externas da aplicação.

(b)

Verificar se os itens de dados, tanto na parte de entrada quanto na de Saída, são diferentes das de outras Consultas Externas da aplicação.

Exemplos

Assumindo que as condições de identificação descritas estejam satisfeitas, são consideradas Consultas Externas:

Um processo de recuperação de dados, que seleciona os dados com base em uma entrada fornecida.

Consultas implícitas: Telas de alteração/remoção, que mostram o que será alterado ou removido antes de sua ação efetiva, devem ser consideradas como Consultas Externas devido à sua capacidade de consulta. Se a parte de entrada e saída da consulta for idêntica para as funções de remoção e de alteração, conte apenas uma Consulta Externa. Se a aplicação possui telas distintas de alteração e exclusão, e ambas fornecerem capacidade de consulta idêntica, considere apenas uma Consulta Externa.

Menus com consultas implícitas: Telas de menus, que além de permitir funcionalidade de seleção de telas, permitem também informar parâmetros para consulta na tela escolhida, devem ser consideradas Consultas Externas. O menu será considerado a parte de entrada da consulta e a tela selecionada será a parte de saída da consulta.

Telas de Logon: Telas de logon que fornecem funcionalidade de segurança devem ser consideradas Consultas Externas.

Telas de Help: Telas de auxílio, que podem ser acessadas ou exibidas através de diferentes técnicas de seleção ou a partir de diferentes locais da aplicação, devem ser contadas uma única vez. Textos de help, que podem ser acessados em múltiplas áreas de uma tela ou em várias telas de uma aplicação, devem ser contados uma única vez.

Duas categorias de telas de help são consideradas Consultas Externas.

Help de uma Tela (“Full Screen Help”): Recurso de help que é dependente da tela da aplicação. Mostra o texto de help que está relacionado à tela. Contar uma Consulta Externa simples por aplicação que possuir este recurso, independentemente do número de telas de help associadas.

Help de um campo da Tela (“Field Sensitive Help”): Um recurso de help dependente da localização do cursor ou algum outro método de identificação para exibição de documentação específica para aquele item de dados. Considere uma Consulta Externa simples por aplicação, de forma independente do número de telas de ajuda associadas.

Consulta em formato gráfico.

NÃO são consideradas Consultas Externas:

Múltiplas Formas de Executar uma Mesma Lógica de Consulta: Por exemplo, entrar “I” ou “Inquiry” na linha de comando ou uma tecla de função deve ser contado uma única vez.

Telas de menus que fornecem somente funcionalidade de seleção de telas não são consideradas Consultas Externas.

Dados derivados: Dados derivados devem ser tratados como uma entrada ou saída de dados ao invés de consulta.

Análise de Pontos de Função

22

Documentação On-Line

Sistema de Teste

Subsistema de Help: Deve ser considerado uma aplicação em separado.

Sistemas Tutoriais: São considerados aplicações em separado.

Classificação

Estes são os passos para se classificar uma Consulta Externa:

1. Calcular a complexidade funcional da parte de entrada da Consulta Externa.

2. Calcular a complexidade funcional da parte de saída da Consulta Externa.

3. Escolher a maior complexidade encontrada.

(a) Identificação do Número de Arquivos Referenciados - Partes de Entrada e Saída

O número de Arquivos Referenciados é o somatório de todos os Arquivos Lógicos Internos e

Arquivos de Interface Externa acessados, considerando separadamente as partes de entrada e

de Saída da Consulta Externa.

(b) Identificação do Número de Itens de Dados - Parte de Entrada

Todos os itens de dados que servem de parâmetro no processamento da Consulta Externa devem ser contados. Deve ser contabilizado um item de dado adicional caso sejam requeridas mensagens de erro ou campos de confirmação associados à parte de entrada da Consulta Externa.

(c )

Identificação do Número de Itens de Dados - Parte de Saída

O número de itens de dados é a quantidade de campos não recursivos, identificados pelo

usuário, que aparecem na parte de Saída da Consulta Externa. Todos os campos que aparecem na parte de Saída devem ser contabilizados, considerando as seguintes observações:

Os itens de dados devem ser considerados de acordo com a visão do usuário, por exemplo, um número contábil ou data que é apresentado em múltiplos campos deve ser contado como um único item de dados.

Literais não devem ser contados como itens de dados.

Data, hora, controles de paginação, etc. não devem ser contados.

De acordo com o número de itens de dados e dos arquivos referenciados, classifica-se a complexidade funcional das Consultas Externas como o maior nível obtido, comparando-se a complexidade da parte de entrada e da de Saída, utilizando-se as Figuras 3.5 e 3.6.

 

1 a 4 itens de dados

5 a 15 itens de dados

16 ou mais itens de dados

0 ou 1 arquivo referenciado

SIMPLES

SIMPLES

MÉDIA

2

SIMPLES

MÉDIA

COMPLEXA

arquivos

referenciados

3 ou mais arquivos referenciados

MÉDIA

COMPLEXA

COMPLEXA

Figura 3.5: Tabela de Complexidade da Consulta - Parte da Entrada

Análise de Pontos de Função

23

 

1 a 5 itens de dados

6 a 19 itens de dados

20 ou mais itens de dados

0 ou 1 arquivo referenciado

SIMPLES

SIMPLES

MÉDIA

2 a 3 arquivos referenciados

SIMPLES

MÉDIA

COMPLEXA

4 ou mais arquivos referenciados

MÉDIA

COMPLEXA

COMPLEXA

Figura 3.6: Tabela de Complexidade da Consulta - Parte da Saída

3.2. EXEMPLO

Com base na especificação do Sistema de Reservas - Projeto de Desenvolvimento, identificamos e classificamos as seguintes funções:

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

DESCRIÇÃO DA FUNÇÃO Reg. Itens S M C Arquivo de Reservas 1 9 X Arquivo
DESCRIÇÃO DA
FUNÇÃO
Reg.
Itens
S
M
C
Arquivo de Reservas
1 9
X
Arquivo de
1 2
X
Apartamentos
Arquivo de Clientes
1 9
X
TOTAL DE ARQUIVOS LÓGICOS
INTERNOS
3
Tipo de Função: Arquivo de Interface Externa
DESCRIÇÃO DA
Reg.
Itens
S
M
C
FUNÇÃO
Arquivo de
1
2
X
Funcionários
TOTAL DE ARQUIVOS DE
INTERFACE EXTERNA
1

Análise de Pontos de Função

24

Tipo de Função: Entradas Externas

DESCRIÇÃO DA FUNÇÃO Arq. Itens S M C Registro de Reservas Alteração de Reserva Exclusão
DESCRIÇÃO DA
FUNÇÃO
Arq.
Itens
S
M
C
Registro de Reservas
Alteração de Reserva
Exclusão de Reserva
3
10
X
3
10
X
2
3
X
Inclusão de
1
4
X
Apartamentos
Alteração de
1
4
X
Apartamentos
Exclusão de
1
3
X
Apartamentos
Inclusão de Clientes
Alteração de Clientes
Exclusão de Clientes
2
12
X
2
12
X
1
3
X
TOTAL DE ENTRADAS EXTERNAS
5
2
2
Tipo de Função: Saídas Externas
DESCRIÇÃO DA
FUNÇÃO
Arq.
Itens
S
M
C
Relatório de Reservas
1 5
X
Relatório de
1 2
X
Apartamentos
Relatório de Clientes
1 4
X
TOTAL DE SAÍDAS EXTERNAS
3
Tipo de Função: Consultas Externas
Entrada
Saída
DESCRIÇÃO DA
FUNÇÃO
S
M
C
A
I
A
I
Consulta de Reservas
1
2
3
8
X
Consulta ao Cadastro
de Apartamentos
1
3
1
1
X
Consulta ao Cadastro
de Clientes
1
3
2
10
X
TOTAL DE CONSULTAS EXTERNAS
1
2

3.3. EXERCÍCIO

Com base na especificação do Sistema Integrado de Estoque - Projeto de desenvolvimento descrita no Manual de Estudos de Casos, identifique e classifique as funções do sistema.

Análise de Pontos de Função

25

3.4. CARACTERÍSTICAS GERAIS DOS SISTEMAS

Após a identificação dos tipos de funções que representam a funcionalidade específica de uma aplicação, é necessário medir a funcionalidade global desta aplicação. A técnica FPA mede a funcionalidade geral de uma aplicação através da avaliação do nível de influência de 14 Características Gerais dos sistemas.

As características gerais de um sistema são:

1. Comunicação de Dados

2. Processamento Distribuído

3. Performance

4. Utilização do Equipamento

5. Volume de Transações

6. Entrada de Dados “On-Line”

7. Eficiência do Usuário Final

8. Atualização “On-Line”

9. Processamento Complexo

10.Reutilização de Código 11.Facilidade de Implantação 12.Facilidade Operacional 13.Múltiplos Locais 14.Facilidade de Mudanças

Cada característica deve ser avaliada de acordo com o seu Nível de Influência, atribuindo-se um peso que varia de 0 a 5, segundo a tabela abaixo:

0 - Nenhuma Influência

1 - Influência mínima

2 - Influência moderada

3 - Influência média

4 - Influência significativa

5 - Grande influência

Os textos associados aos níveis de influência, descritos a seguir, têm como objetivo direcionar e facilitar a classificação de cada uma das características de um sistema. Se nenhum dos textos se adequar à aplicação avaliada, deve ser escolhido o que melhor se aproximar do caso.

3.4.1. Comunicação de Dados

Os dados e informações de controle utilizados na aplicação são enviados ou recebidos através de recursos de comunicação de dados. Terminais conectados a um computador utilizam os recursos de comunicação de dados. Protocolo é um conjunto de convenções que permite a troca ou transferência de informações entre dois sistemas ou periféricos. Toda comunicação de dados requer algum tipo de protocolo. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 - O processamento da aplicação é puramente “batch” ou é executado em um PC isolado.

1 - A aplicação é “batch” mas tem entrada de dados remota ou impressão remota.

2 - A aplicação é “batch” mas tem entrada de dados remota e impressão remota.

3- Captura de Dados “on-line” via terminal de vídeo ou via um processador “front-end”, para alimentar processos “batch” ou sistemas de consultas (“Query Systems”). Por exemplo, as transações de um banco são armazenadas em um computador “front-end” durante o dia e, à noite, estas informações alimentam os processos batch e o sistema de consulta de saldo do banco.

4 -Mais que um “front-end”, mas a aplicação suporta apenas um tipo de protocolo de comunicação.

5 -Mais que um “front-end” e a aplicação suporta mais de um tipo de protocolo de comunicação.

3.4.2. Processamento Distribuído

Dados ou processamento distribuído entre várias unidades de processamento (CPUs) são uma característica da aplicação dentro de sua fronteira. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

Análise de Pontos de Função

26

0 - A aplicação não auxilia na transferência de dados ou processamento entre as CPUs da instalação.

1 - A aplicação prepara dados para o usuário final processar em outra CPU da instalação. Por exemplo, planilhas eletrônicas ou gerenciadores de banco de dados de PC.

2 - Os dados são preparados para transferência, transferidos e processados em uma outra CPU da instalação (mas NÃO para processamento pelo usuário final como visto no item

(1).

3 -

4 - Processamento distribuído e transferência de dados “on-line” em ambas as direções.

Processamento distribuído e transferência de dados “on-line” apenas em uma direção.

5 -

As funções de processamento são executadas dinamicamente na CPU mais apropriada.

3.4.3. Performance

Esta característica identifica os objetivos de performance da aplicação, estabelecidos e aprovados pelo usuário, que influenciaram (ou irão influenciar) o desenho, desenvolvimento, implantação e suporte da aplicação. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 -

1 - Requerimentos de performance foram estabelecidos e revisados, mas nenhuma ação especial foi necessária.

2 - O tempo de resposta ou throughput é crítico durante as horas de pico. Nenhuma consideração especial para utilização de CPU foi requerida. O intervalo de tempo limite (“deadline”) do processamento é sempre para o próximo dia útil.

3 - O tempo de resposta ou throughput é crítico durante todo o horário de utilização. Não foi necessário nenhum procedimento especial para utilização de CPU. Os requerimentos de prazo de processamento com outros sistemas são limitantes.

4 - Os requerimentos de performance estabelecidos pelo usuário são rigorosos o bastante para requerer tarefas de análise de performance na fase de análise e desenho da aplicação.

5 - Além do descrito no item 4, ferramentas de análise de performance foram usadas nas fases de desenho, desenvolvimento e/ou implementação a fim de proporcionar a performance estabelecida pelo usuário.

Nenhuma exigência especial de performance foi fixada pelo usuário.

3.4.4. Utilização do Equipamento

Característica que representa a necessidade de se fazer considerações especiais no desenho dos sistemas para que a configuração do equipamento não fique sobrecarregada. Por exemplo, o usuário deseja executar a aplicação no equipamento atual ou no que será contratado. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 -

1 - Existem restrições operacionais, mas são menos restritivas do que aplicações típicas. Nenhum esforço extra é necessário para suplantar as restrições.

2 Algumas considerações sobre tempo e segurança são necessárias.

3 Necessidades especiais de processador para uma parte específica da aplicação.

4 - Restrições operacionais estabelecidas requerem atenção especial a nível de processador central ou processador dedicado para executar a aplicação.

5 - Além do descrito acima, existem sobrecargas a nível das unidades de processamento (CPUs) distribuídas da instalação.

Não há restrições operacionais explícitas ou implícitas.

-

-

3.4.5. Volume de Transações

O volume de transações é alto e tem influência no desenho, desenvolvimento, implantação e manutenção da aplicação. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 Nenhum período de pico de transações é esperado.

1 Picos de transações mensais, quadrimestrais, sazonais e anuais são esperados.

2 Picos semanais de transações são esperados.

3 Picos diários de transações são esperados.

-

-

-

-

Análise de Pontos de Função

27

5

-

Requer

desenvolvimento e/ou implantação, além das considerações acima.

o

uso

de

ferramentas

de

análise

de

performance

nas

fases

de

desenho,

3.4.6. Entrada de Dados “On-line”

A aplicação possui entrada de dados “on-line”. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 Todas as transações são processadas em modo batch.

1 1% a 7% das transações são entradas de dados interativas.

2 8% a 15% das transações são entradas de dados interativas.

3 16% a 23% das transações são entradas de dados interativas.

4 24% a 30% das transações são entradas de dados interativas.

5 Mais de 30% das transações são entradas de dados interativas.

-

-

-

-

-

-

3.4.7. Eficiência do Usuário Final

As funções “on-line” fornecidas enfatizam um desenho da aplicação voltado para a eficiência do usuário final.

Menus

Documentação/Help On-line

Movimento automático do cursor

Movimento de Tela (“Scrolling”) vertical e horizontal

Impressão remota (via transações “on-line”)

Teclas de Função pré-definidas

Execução de “jobs batch” a partir de transações “on-line”

Seleção de dados da tela via movimentação do cursor

Uso intenso de vídeo reverso, brilho intensificado, sublinhado, cores e outros recursos de vídeo

Impressão da documentação via “hard copy” em transações “on-line”

Interface para “mouse”

“Pop-up Windows”

O mínimo possível de telas para executar as funções do negócio

Fácil navegação entre telas (por exemplo, através de teclas de função)

Suporte bilíngüe (suporta dois idiomas, contar como quatro itens)

Suporte multilingüe (suporta mais de dois idiomas, contar como seis itens)

Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 A aplicação não apresenta nenhum dos itens acima.

1 Apresenta de 1 a 3 dos itens acima.

2 Apresenta de 4 a 5 dos itens acima.

-

-

-

Análise de Pontos de Função

28

3 - Apresenta 6 ou mais dos itens acima, mas não há nenhum requerimento do usuário relacionado à eficiência.

4 - Apresenta 6 ou mais dos itens acima, e os requerimentos estabelecidos para eficiência do usuário são rigorosos o suficiente para que a fase de desenho da aplicação inclua fatores para minimizar a digitação, maximizar os “defaults”, utilizar “templates” etc.

5 - Apresenta 6 ou mais dos itens acima, e os requerimentos estabelecidos para eficiência do usuário são rigorosos o suficiente para que seja necessário o uso de ferramentas e processos especiais para demonstrar que os objetivos de eficiência foram alcançados.

3.4.8. Atualização “On-line”

A aplicação possibilita a atualização “on-line” dos Arquivos Lógicos Internos.

Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 -

Nenhuma atualização.

1

- Atualização “on-line” de 1 a 3 arquivos de controle. O volume de atualizações é baixo e a recuperação de dados é simples.

2

- Atualização “on-line” de 4 ou mais arquivos de controle. O volume de atualizações é baixo e a recuperação de dados é simples.

3

-

Atualização “on-line” da maioria dos Arquivos Lógicos Internos.

4 - Além dos itens anteriores, a proteção contra perda de dados é essencial e foi especificamente projetada e codificada nos sistema.

5 - Além dos itens anteriores, altos volumes de dados trazem considerações sobre custo para o processo de recuperação. Exigem procedimentos de recuperação totalmente automatizados com a mínima intervenção do operador.

3.4.9. Processamento Complexo

O processamento complexo é uma característica da aplicação, podendo ser divido nas seguintes categorias:

Processamento especial de auditoria e/ou processamento especial de segurança.

Processamento lógico extensivo.

Processamento matemático extensivo.

Grande quantidade de processamento de exceções, resultando em transações incompletas que necessitam de reprocessamento. Por exemplo: transações incompletas de ATMs causadas por interrupções de comunicação, valores de dados ou falha de edição.

Processamento complexo para manipular múltiplas possibilidades de entrada /saída. Por exemplo: múltiplos meios e independência de equipamentos.

Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0

-

Não apresenta nenhum dos itens acima.

1

-

Apresenta um dos itens acima.

2

-

Apresenta dois dos itens acima.

3

-

Apresenta três dos itens acima.

4

-

Apresenta quatro dos itens acima.

5

-

Apresenta todos os itens acima.

3.4.10. Reutilização de Código

A aplicação e o seu código foram especificamente projetados, desenvolvidos e suportados para

serem reutilizados em outras aplicações. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 Não apresenta código reutilizável.

1 O código reutilizável é usado somente dentro da própria aplicação.

-

-

Análise de Pontos de Função

29

2 - Menos de 10% da aplicação foi feita, levando-se em conta a sua utilização para outras aplicações.

3 - 10% ou mais da aplicação foi feita, levando-se em conta a sua utilização por outras aplicações.

4 - A aplicação foi feita projetada e documentada para facilitar a reutilização de código e a aplicação é customizada pelo usuário a nível do código fonte.

5 - A aplicação foi projetada e documentada para facilitar a reutilização de código e a aplicação é customizada para uso de parâmetros que podem ser atualizados pelo usuário.

3.4.11. Facilidade de Implantação

Facilidade de implantação e conversão de dados são características da aplicação. Um plano de implantação e conversão de dados e/ou ferramentas de conversão de dados foi preparado e testado durante a fase de testes dos sistemas. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 - Nenhuma consideração especial foi feita pelo usuário, e nenhum procedimento especial foi requerido para a implantação.

1 - Nenhuma consideração especial foi feita pelo usuário, mas um procedimento especial foi requerido para a implantação.

2 - Requerimentos de implantação e conversão de dados foram fixados pelo usuário, e roteiros de implantação e conversão de dados foram preparados e testados. O impacto da conversão de dados no projeto não é considerado importante,.

3 - Requerimentos de implantação e conversão de dados foram fixados pelo usuário, e roteiros de implantação e conversão de dados foram preparados e testados. O impacto da conversão de dados no projeto é considerado importante.

4 - Além do descrito no item (2), ferramentas automatizadas de implantação e conversão de dados foram preparados e testadas.

5 - Além do descrito no item (3), ferramentas automatizadas de implantação e conversão de dados foram preparadas e testadas.

3.4.12. Facilidade Operacional

Facilidade operacional é uma característica da aplicação. Procedimentos efetivos de inicialização, backup e recuperação foram desenvolvidos e testados durante a fase de teste do sistema. A aplicação minimiza a necessidade de atividades manuais, tais como montagem de fitas magnéticas, manuseio de formulários e intervenção manual do operador. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 - Nenhuma consideração especial sobre facilidade operacional, além dos procedimentos normais de backup, foi feita pelo usuário.

1 - Selecionar os seguintes itens que se aplicam à aplicação. Cada item selecionado possui o valor um.

Procedimentos eficientes de inicialização, backup e recuperação foram preparados, mas a intervenção do operador é necessária.

Procedimentos eficientes de inicialização, backup e recuperação foram preparados, mas nenhuma intervenção do operador é necessária (contar como dois itens).

A aplicação minimiza a operação de montagem de fitas magnéticas.

A aplicação minimiza a necessidade de manuseio de formulários.

5 - A aplicação foi projetada para não precisar de intervenção do operador no seu funcionamento normal. Apenas a inicialização e parada do sistema ficam a cargo do operador. A recuperação automática de erros é uma característica da aplicação.

Análise de Pontos de Função

30

3.4.13. Múltiplos Locais

A aplicação foi especificamente projetada, desenvolvida e suportada para ser instalada em

múltiplos locais de uma organização ou para múltiplas organizações. Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 - Nenhuma solicitação do usuário para considerar a necessidade de instalar a aplicação em mais de um local.

1 - Necessidade de instalação em múltiplos locais foi levada em consideração no projeto do sistema e a aplicação foi projetada para operar somente em ambiente idênticos de hardware e software.

2 - Necessidade de instalação em múltiplos locais foi levada em consideração no projeto do sistema e a aplicação foi projetada para operar somente em ambientes similares de hardware e software.

3 - Necessidade de instalação em múltiplos locais foi levada em consideração no projeto do sistema e a aplicação foi projetada para operar inclusive em ambientes diferentes de hardware e/ou software.

4 - Um plano de documentação e manutenção foi elaborado e testado para suportar a aplicação em múltiplos locais e a aplicação atende aos itens (1) e (2).

5 - Um plano de documentação e manutenção foi elaborado e testado para suportar a aplicação em múltiplos locais e a aplicação atende ao item (3).

3.4.14. Facilidade de Mudanças

A aplicação foi especificamente projetada, desenvolvida para suportar manutenção, visando a

facilidade de mudanças. Por exemplo:

Capacidade de consultas/relatórios flexíveis está disponível.

Dados de controle do negócio são agrupados em tabelas passíveis de manutenção pelo usuário.

Classificar o Nível de Influência na aplicação de acordo com a tabela abaixo:

0 - Nenhum requerimento especial foi solicitado pelo usuário para projetar a aplicação, visando minimizar ou facilitar mudanças.

1 - Selecionar quais dos seguintes itens se aplicam à aplicação. Cada item possui valor um:

É fornecido recurso de consulta/relatórios flexíveis capaz de manipular solicitações simples

de consulta (“query requests”). Por exemplo: lógica de and/or aplicada a somente um Arquivo Lógico Interno (contar como um item).

É fornecido recurso de consultas/relatórios flexíveis capaz de manipular solicitações de

consulta (“query requests”) de média complexidade. Por exemplo: lógica de and/or aplicada a mais de um Arquivo Lógico Interno (contar como dois itens).

É fornecido recurso de consulta/relatórios flexíveis capaz de manipular solicitações complexas de consulta (“query requests”).Por exemplo: combinações de lógica de and/or aplicadas a um ou mais Arquivos Lógicos Internos (contar como três itens).

Dados de controle são mantidos em tabelas que são atualizadas pelo usuário através de processos “on-line” e interativos, mas as alterações só são efetivadas no próximo dia útil.

Dados de controle são mantidos em tabelas que podem ser atualizadas pelo usuário através de processos “on-line” e interativos e as alterações são efetivadas imediatamente (contar como dois itens).

Análise de Pontos de Função

31

3.5. EXEMPLO

O nível de influência do Sistema de Reservas - Projeto de Desenvolvimento tem os seguintes

valores baseados nas suas características:

CARACTERÍSTICAS GERAIS DOS SISTEMAS

NÍVEL DE

INFLUÊNCIA

1. Comunicação de Dados

4

2. Processamento Distribuído

0

3. Performance

0

4. Utilização do Equipamento

1

5. Volume de Transações

1

6. Entrada de Dados “On-Line”

5

7. Eficiência do Usuário Final

1

8. Atualização “On-Line”

5

9. Processamento Complexo

0

10. Reutilização de Código

0

11. Facilidade de Implantação

0

12. Facilidade Operacional

1

13. Múltiplos Locais

0

14. Facilidade de Mudanças

0

NÍVEL DE INFLUÊNCIA (NI)

18

3.6. EXERCÍCIO

Identifique e classifique o nível de influência das características do Sistema Integrado de Estoque - Projeto de Desenvolvimento.

4. Cálculo de Pontos de Função

O Cálculo de Pontos de Função de uma aplicação é um processo realizado em três etapas:

Cálculo de Pontos de Função Não-Ajustados

Cálculo do Fator de Ajuste

Cálculo de Pontos de Função Ajustados

4.1. CÁLCULO DE PONTOS DE FUNÇÃO NÃO AJUSTADOS

Uma vez que os componentes de uma aplicação tenham sido identificados e categorizados nos vários tipos de funções (Arquivos Lógicos Internos, Arquivos de Interface Externa, Entradas Externas, Saídas Externas e Consultas Externas), cada componente é então associado a um Valor de Pontos de Função Não-Ajustados, dependendo do tipo de função e de sua complexidade funcional (1).

O Valor de Pontos de Função Não-Ajustados de cada componente é então totalizado por tipo

de função e finalmente por aplicação. O resultado final é o Valor de pontos de Função Não- Ajustados da Aplicação.

A Figura 4.1 apresenta tabela que pode ser usada para facilitar o Cálculo de pontos de Função

Não-Ajustados.

Nota:

(1) A complexidade funcional de um tipo de função é baseada unicamente nas Matrizes de Complexidade (Ver Seção 3). Antes da Release 3.1 da FPA, a complexidade funcional de um

Análise de Pontos de Função

32

tipo de função podia ser ajustada a um nível para cima ou para baixo, dependendo de uma série de fatores. O Comitê de Práticas de Contagem do IFPUG acredita que esta decisão elimina a subjetividade introduzida por esses fatores de ajuste das complexidade.

TIPO DE

COMPLEXIDADE

TOTAL

TOTAL

FUNÇÃO

FUNCIONAL

COMPLEX.

TIPO

FUNÇÃO

ARQ.

SIMPLES X 7=

     

LÓGICO

MÉDIA X 10= COMPLEXA X 15 =

ARQ.

SIMPLES

X

5 =

   

INTERFAC

MÉDIA

X

7 =

E

COMPLEXA X 10 =

ENTRADA

SIMPLES

X

3 =

   

MÉDIA

X

4 =

COMPLEXA X 6 =

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 DE FUNÇÃO NÃO-AJUSTADOS =

Figura 4.1 - Tabela de Cálculo de Pontos de Função Não-Ajustados

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 de Função Não-Ajustados desta aplicação. Para isso, nos auxiliamos do seguinte formulário:

PONTOS DE FUNÇÃO NÃO-AJUSTADOS

TIPO DE

 

COMPLEXIDADE

TOTAL

TOTAL

FUNÇÃO

FUNCIONAL

COMPLEX

TIPO

 

.

FUNÇÃO

ARQ.

3

SIMPLES

X 7=

21

21

LÓGICO

MÉDIA

X 10=

COMPLEXA X 15=

ARQ.

1

SIMPLES

X 5=

5

5

INTERFACE

MÉDIA

X 7=

COMPLEXA X 10=

ENTRADA

5

SIMPLES

X

3=

15

35

2

MÉDIA

X 4=

8

2

COMPLEXA X 6=

12

SAÍDA

3

SIMPLES

X 4=

12

12

MÉDIA

X 5=

COMPLEXA X 7=

CONSULTA

1

SIMPLES

X

3=

3

11

2

MÉDIA

X 4=

8

COMPLEXA X 6=

*** TOTAL DE PONTOS DE FUNÇÃO NÃO-AJUSTADOS = 84

Análise de Pontos de Função

33

EXERCÍCIO:

Calcule os Pontos de Função Não-Ajustados do Sistema Integrado de Estoque - Projeto de Desenvolvimento.

4.2. CÁLCULO DO FATOR DE AJUSTE

valor do Fator de Ajuste é baseado em 14 Características Gerais dos Sistemas que medem a funcionalidade geral da aplicação. A cada característica é atribuído um peso que varia de 0 a 5. A totalização das 14 características representa o Valor do Fator de Ajuste. Quando aplicado, esse valor ajusta o total de Pontos de Função Não Ajustados em +/- 35%, produzindo o valor final de Pontos de Função da Aplicação.

Os passos para calcular o Valor do Fator de Ajuste são:

1 - Avaliar o Nível de Influência cada uma das 14 Características Gerais dos Sistemas em uma escala de 0 a 5.

2 - Somar os 14 Níveis de Influência obtidos para produzir o Nível de Influência da Aplicação.

3 - Aplicar o Nível de Influência à seguinte equação para produzir o Fator de Ajuste:

(NÍVEL DE INFLUÊNCIA * 0,01) + 0,65 = FATOR DE AJUSTE

A Figura 4-2 da página seguinte apresenta uma tabela que facilita o cálculo do Fator de Ajuste:

CARACTERÍSTICAS GERAIS DOS SISTEMAS

NÍVEL DE

INFLUÊNCIA

1. Comunicação de Dados

 

2. Processamento Distribuído

3. Performance

4. Utilização do Equipamento

5. Volume de Transações

6. Entrada de Dados “On-Line”

7. Eficiência do Usuário Final

8. Atualização “On-Line”

9. Processamento Complexo

10. Reutilização de Código

11. Facilidade de Implantação

12. Facilidade Operacional

13. Múltiplos Locais

14. Facilidade de Mudanças

NÍVEL DE INFLUÊNCIA (NI)

 

FATOR DE AJUSTE = (NI * 0,01) + 0,65 =

Figura 4.2 - Tabela de Cálculo do Fator de Ajuste

EXEMPLO:

Fator de Ajuste do Sistema de Reservas - Projeto de Desenvolvimento pode ser calculado da seguinte maneira:

Análise de Pontos de Função

34

FATOR DE AJUSTE

CARACTERÍSTICAS GERAIS DOS SISTEMAS

NÍVEL DE

INFLUÊNCIA

1. Comunicação de Dados

4

2. Processamento Distribuído

0

3. Performance

0

4. Utilização do Equipamento

1

5. Volume de Transações

1

6. Entrada de Dados “On-Line”

5

7. Eficiência do Usuário Final

1

8. Atualização “On-Line”

5

9. Processamento Complexo

0

10. Reutilização de Código

0

11. Facilidade de Implantação

0

12. Facilidade Operacional

1

13. Múltiplos Locais

0

14. Facilidade de Mudanças

0

NÍVEL DE INFLUÊNCIA (NI)

18

FATOR DE AJUSTE = (NI * 0,01) + 0,65 = 0,83

EXERCÍCIO

Calcule o Fator de Ajuste do Sistema Integrado de Estoque - Projeto de Desenvolvimento.

4.3. CÁLCULO DE PONTOS DE FUNÇÃO AJUSTADOS

Nesta etapa são utilizados três tipos de fórmulas diferentes dependendo do tipo de cálculo que se deseja obter. Os tipos de cálculo são:

Cálculo de Pontos de Função de um Projeto de Desenvolvimento.

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

Cálculo de Pontos de Função da Aplicação

4.3.1. Cálculo de Pontos de Função de um Projeto de Desenvolvimento

Para calcular o total de Pontos de Função de um Projeto de Desenvolvimento, a seguinte fórmula deve ser usada:

PF_DESENVOLVIMENTO = PF-NÃO_AJUSTADO * FATOR_AJUSTE

Onde:

PF_DESENVOLVIMENTO = Total de Pontos de Função de um Projeto de Desenvolvimento PF_NÃO_AJUSTADO = Total de Pontos de Função Não-Ajustados

FATOR_AJUSTE

= Valor do Fator de Ajuste

Observações:

As funções do processo de conversão de dados estão incluídas no Total de Pontos de Função Não-Ajustados.

Análise de Pontos de Função

35

EXEMPLO

Para encontrar os Pontos de Função Ajustados do Sistema de Reservas - Projeto de Desenvolvimento, a seguinte fórmula deve ser preenchida.

PF_DESENVOLVIMENTO = PF_NÃO-AJUSTADO * FATOR_DE_AJUSTE PF_DESENVOLVIMENTO = 84 * 0,83

PF_DESENVOLVIMENTO = 69,7 PF

EXERCÍCIO

Calcule os Pontos de Função Ajustados do Sistema Integrado de Estoque - Projeto de Desenvolvimento.

4.3.2. Cálculo de Pontos de Função de um Projeto de Manutenção

Para calcular o total de Pontos de Função de Manutenção, a seguinte fórmula deve ser utilizada:

PF_MANUTENÇÃO = [(PF_INCLUÍDO + PF_ALTERADO_ATUAL) * FA_ATUAL] + (PF_EXCLUÍDO * FA_ANTERIOR)

Onde:

PF_MANUTENÇÃO=Total de Pontos de Função do Projeto de Manutenção

PF_INCLUÍDO=Total de Pontos de Função Não-Ajustados das funções que foram incluídas na aplicação

PF_ALTERADO_ATUAL=Total de Pontos de 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=Total de Pontos de 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

Observação:

As funções do processo de conversão de dados estão incluídas nesse cálculo no item PF_INCLUIDO.

EXEMPLO

Para calcular os Pontos de Função Ajustados do Sistema de Reservas - Projeto de Manutenção, os seguintes passos devem ser seguidos:

Análise de Pontos de Função

36

Passo 1:

Identificar e Classificar as Funções Incluídas

Tipo de Função: Entradas Externas

DESCRIÇÃO DA FUNÇÃO

Arq

Iten

S

M

C

.

s

Cancelamento de Reservas

3

6

   

X

TOTAL DE ENTRADAS EXTERNAS

   

1

Tipo de Função: Saídas Externas

DESCRIÇÃO DA FUNÇÃO

Arq

Iten

S

M

C

.

s

Relatório de Reservas Canceladas

2

4

X

   

TOTAL DE SAÍDAS EXTERNAS

1

   

Passo 2:

Identificar e Classificar as Funções Alteradas

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

DESCRIÇÃO DA FUNÇÃO Re Iten S M C g. s Arquivo de Reservas 1 11
DESCRIÇÃO DA FUNÇÃO
Re
Iten
S
M
C
g.
s
Arquivo de Reservas
1
11
X
Arquivo de Apartamentos
1
5
X
TOTAL DE ARQUIVOS LÓGICOS INTERNOS
2
Tipo de Função: Entradas Externas
DESCRIÇÃO DA FUNÇÃO
Ar
Iten
S
M
C
q.
s
Registro de Reservas
Alteração de Reserva
4
12
X
4
11
X
Inclusão de Apartamentos
Alteração de Apartamentos
Exclusão de Apartamentos
1
7
X
1
7
X
1
3
X
TOTAL DE ENTRADAS
EXTERNAS
3
2

Tipo de Função: Saídas Externas

DESCRIÇÃO DA FUNÇÃO

Arq

Iten

S

M

C

. s

Relatório de Apartamentos

 

1 5

X

   

TOTAL DE SAÍDAS EXTERNAS

1

   

Tipo de Função: Saídas Externas

Análise de Pontos de Função

37

DESCRIÇÃO DA FUNÇÃO Entrada Saída S M C A I A I Consulta de Reservas
DESCRIÇÃO DA
FUNÇÃO
Entrada
Saída
S
M
C
A
I
A
I
Consulta de Reservas
1
2
3
10
X
Consulta ao Cadastro
de Apartamentos
1
3
1
4
X
TOTAL DE CONSULTAS EXTERNAS
1
1

Passo 3:

Identificar e Classificar as Funções Excluídas

Tipo de Função: Entradas Externas

DESCRIÇÃO DA FUNÇÃO

Arq

Itens

S

M

C

.

Exclusão de Reservas

2

3

X

   

TOTAL DE ENTRADAS EXTERNAS

1

   

Passo 4: Calcular Pontos de Função Não-Ajustados das Inclusões

TIPO DE

COMPLEXIDADE

TOTAL

TOTAL

FUNÇÃO

FUNCIONAL

COMPLEX

TIPO

FUNÇÃO

ARQ. LÓGICO

SIMPLES

X 7=

   

MÉDIA

X 10=

COMPLEXA X 15=

 

SIMPLES

X

5=

   

ARQ.

MÉDIA

X 7=

INTERFACE

COMPLEXA X 10=

 

SIMPLES

X

3=

   

ENTRADA

MÉDIA

X 4=

1 COMPLEXA X 6=

6

6

 

1 SIMPLES

X 4=

4

 

SAÍDA

MÉDIA X 5= COMPLEXA X 7=

4

 

SIMPLES

X

3=

   

CONSULTA

MÉDIA

X 4=

COMPLEXA X 6=

*** PONTOS DE FUNÇÃO NÃO-AJUSTADOS INCLUÍDOS = 10

Passo 5:

modifcações

Calcular Pontos de Função Não-Ajustados das Alterações após as

TIPO DE

COMPLEXIDADE

TOTAL

TOTAL

FUNÇÃO

FUNCIONAL

 

COMPLEX.

TIPO

 

FUNÇÃO

 

2 SIMPLES

X 7=

14

 

ARQ.

MÉDIA

X 10=

LÓGICO

COMPLEXA X 15=

14

 

SIMPLES

X

5=

   

ARQ.

MÉDIA

X

7=

INTERFACE

COMPLEXA X 10=

 

3 SIMPLES

X

3=

9

 

ENTRADA

MÉDIA

X

4=

Análise de Pontos de Função

38

 

2 COMPLEXA X

6=

12

21

 

1 SIMPLES

X 4=

4

 

SAÍDA

MÉDIA

X 5=

COMPLEXA X 7=

4

 

1 X

SIMPLES

3=

3

 

CONSULTA

MÉDIA

1 X 4=

4

COMPLEXA X 6=

7

*** PONTOS DE FUNÇÃO NÃO-AJUSTADOS ALTERADOS =46 (Após Modificações)

Passo 6:

Calcular Pontos de Função Não-Ajustados das Exclusões

TIPO DE

 

COMPLEXIDADE

TOTAL

TOTAL

FUNÇÃO

FUNCIONAL

 

COMPLEX

TIPO

 

FUNÇÃO

   

SIMPLES

X 7=

   

ARQ.

MÉDIA

X 10=

LÓGICO

COMPLEXA X 15=

   

SIMPLES

X

5=

   

ARQ.

MÉDIA

X 7=

INTERFACE

COMPLEXA X 10=

 

1

SIMPLES

X

3=

3

 

ENTRADA

MÉDIA

X 4=

COMPLEXA X 6=

3

   

SIMPLES

X 4=

   

SAÍDA

MÉDIA

X 5=

COMPLEXA X 7=

   

SIMPLES

X

3=

   

CONSULTA

MÉDIA

X 4=

COMPLEXA X 6=

*** PONTOS DE FUNÇÃO NÃO-AJUSTADOS EXCLUÍDOS = 3

Passo 7:

Calcular Fator de Ajuste Atual

CARACTERÍSTICAS GERAIS DOS SISTEMAS

NÍVEL DE

INFLUÊNCIA

1. Comunicação de Dados

4

2. Processamento Distribuído

0

3. Performance

0

4. Utilização do Equipamento

1

5. Volume de Transações

2

6. Entrada de Dados “On-Line”

5

7. Eficiência do Usuário Final

1

8. Atualização “On-Line”

5

9. Processamento Complexo

0

10. Reutilização de Código

0

11. Facilidade de Implantação

0

12. Facilidade Operacional

1

13. Múltiplos Locais

1

14. Facilidade de Mudanças

0

NÍVEL DE INFLUÊNCIA (NI)

20

Análise de Pontos de Função

39

FATOR DE AJUSTE = (NI * 0,01) + 0,65 = 0,85

Observação:

FATOR DE AJUSTE Anterior = 0,83

Passo 8: Calcular Pontos de Função Ajustados do Sistema de Reservas - Projeto de Manutenção

PF_MANUTENÇÃO = ((PF_INCLUÍDO + PF_ALTERADO_ATUAL) * FA_ATUAL) + (PF_EXCLUÍDO * FA_ANTERIOR) PF_MANUTENÇÃO = (10 + 46) * 0,85 + 3 * 0,83 = 47,6 + 2,49

PF_MANUTENÇÃO = 50,1 PF

EXERCÍCIO

Calcule os Pontos de Função Ajustados do Sistema Integrado de Estoque - Projeto de Manutenção, descrito no Manual de Estudos de Casos.

4.3.3. Cálculo de Pontos de Função de uma Aplicação

(a) Pontos de Função de Aplicação Já Implantada

Para calcular o total de Pontos de Função de uma Aplicação já implantada, a seguinte fórmula deve ser usada:

PF_APLICAÇÃO=PF_DESENVOLVIMENTO - (PF_CONVERSÃO*FATOR_AJUSTE)

Onde:

PF_APLICAÇÃO =

PF_NÃO-AJUSTADO =

=

FATOR_AJUSTE

Total de Pontos de Função da Aplicação Total de Pontos de Função Não-Ajustados Valor do Fator de Ajuste

b) Pontos de Função de Aplicação a partir de pontos de Função de um Projeto de

Desenvolvimento

Para calcular o total de Pontos de Função de uma Aplicação a partir do Total de Pontos de Função de um Projeto de Desenvolvimento, a seguinte fórmula deve ser utilizada:

PF_APLICAÇÃO=PF_DESENVOLVIMENTO-

(PF_CONVERSÃO*FATOR_AJUSTE)

Onde:

PF_APLICAÇÃO = Total de Pontos de Função da Aplicação PF_DESENVOLVIMENTO = Total de Pontos de Função do Projeto de Desenvolvimento PF_CONVERSÃO = Total de Pontos de Função Não-Ajustados das Funções de Conversão de Dados no Projeto de Desenvolvimento FATOR_AJUSTE = Valor do Fator de Ajuste

(c ) Pontos de Função da Aplicação após um Projeto de Manutenção

Para produzir o total de Pontos de Função de uma Aplicação após um Projeto de Manutenção, a seguinte fórmula deve ser usada:

Análise de Pontos de Função

40

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

Onde:

PF_APLICAÇÃO =Total de Pontos de Função da Aplicação PF_NÃO AJUSTADO =Total de Pontos de Função Não-Ajustados da Aplicação antes do projeto de manutenção PF_INCLUÍDO =Total de Pontos de Função Não-Ajustados das funções que foram incluídas na aplicação

PF_ALTERADO_ATUAL =Total de Pontos de 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_ALTERADO_ANTERIOR =Total de Pontos de Função Não-Ajustados das funções que foram modificadas na aplicação. Este número reflete as funções antes das modificações PF_EXCLUÍDO =Total de Pontos de Função Não-Ajustados das funções que foram removidas da aplicação FA_ATUAL =Valor do Fator de Ajuste após o projeto de manutenção

EXEMPLO

Ao final do Projeto de Manutenção do Sistema de Reservas é necessário recalcular o tamanho da aplicação.

Passo 1:

modificações

Calcular Pontos de Função Não-Ajustados das Alterações antes das

TIPO DE

 

COMPLEXIDADE

TOTAL

TOTAL

FUNÇÃO

FUNCIONAL