Sie sind auf Seite 1von 67

TreiNet APF

Análise de Pontos de Função


Sumário:

Módulo 1 - Introdução................................................................................................................... 03
Módulo 2 - Visão Geral da Análise de Pontos de Função ............................................................ 04
Módulo 3 - Visão do Usuário x APF.............................................................................................. 07
Módulo 4 - Determinar o Tipo de Contagem ................................................................................ 09
Módulo 5 - Identificar o Escopo da Contagem e a Fronteira da Aplicação................................... 11
Módulo 6 - Contar Funções de Dados.......................................................................................... 13
Módulo 7 - Determinar a Contagem de Pontos de Função Não Ajustados .................................. 17
Módulo 8 - Contar Funções de Dados.......................................................................................... 23
Módulo 9 - Determinar o Valor do Fator de Ajuste ....................................................................... 30
Módulo 10 - Calcular os Pontos de Função Ajustados................................................................. 34
Consolidação dos conceitos ......................................................................................................... 42
Situações não passíveis de aplicação da Métrica APF ................................................................ 42
Dicas............................................................................................................................................. 43
Dicas – Contagem de lista Drop Down ................................................................................ 44
Dicas – Contagem de Função de Conversão ...................................................................... 45
Questões Práticas ........................................................................................................................ 46
Questões – Parte 1 .............................................................................................................. 46
Questões – Parte 2 .............................................................................................................. 49
Caso Prático ................................................................................................................................. 53
Gabarito de Respostas ................................................................................................................. 57
Questões – Parte 1 .............................................................................................................. 57
Questões – Parte 2 .............................................................................................................. 60
Caso Prático ........................................................................................................................ 64
Especificações de Publicação ...................................................................................................... 67

Este documento contém material extraído do Manual de Práticas de Contagem do IFPUG (Grupo
Internacional de Usuários de Pontos de Função). Está reproduzido neste documento com autorização do
IFPUG.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 2
MÓDULO 1 – INTRODUÇÃO:

Nosso objetivo é tratar a APF como um caminho para se medir o tamanho do software.

É possível medir o tamanho de um sistema antes de desenvolvê-lo?

Sabemos que o sucesso de um projeto depende de vários fatores como:

• Entender claramente os requisitos.

• Planejar os recursos necessários.

• Estimar o custo e o prazo.

Nos próximos módulos, vamos conhecer como a APF pode nos ajudar a responder essas questões.

O curso oferece também um glossário com os termos correlatos, para auxiliá-lo na aquisição dos
conhecimentos sobre o tema.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 3
MÓDULO 2 – VISÃO GERAL DA ANÁLISE DE PONTOS DE FUNÇÃO

O objetivo deste módulo é apresentar:


• O conceito de APF.
• Objetivos e benefícios da APF.
• Marcos principais da história da APF.
• Medida funcional de tamanho.
• Processo de contagem de Pontos de Função.

Vamos tratar APF de uma maneira descomplicada. Vejamos o exemplo do Sr. Pedro:
Ele tem uma casa de um cômodo e sua esposa quer ampliar a casa criando mais dois cômodos. O que
fazer?

O Sr. Pedro reestudou a planta e conseguiu efetuar com sucesso a reforma.

Desta forma, podemos associar a APF com a construção civil. Vamos conferir o conceito da APF.

Conceito: Análise de Pontos de Função é um método padrão para medir o software através da
quantificação das funcionalidades fornecidas ao usuário.

Pontos de Função representam uma medida funcional de tamanho de software.


Sendo assim, a partir de agora, convidamos você a pensar que:

APF = metro quadrado de construção de software.

A Análise de Pontos de Função mede o software, quantificando as funcionalidades do aplicativo sob o


ponto de vista do usuário.

Os principais objetivos da APF são:

• Medir a funcionalidade que o usuário solicita e recebe.


• Medir o desenvolvimento e manutenção do software de forma independente da tecnologia usada
em sua implementação.

Benefícios da APF:

• Determinar o tamanho de um pacote adquirido através da contagem das funções nele incluídas.
• Medir as unidades de um produto de software e dar suporte a análises de qualidade e
produtividade.
• Fator de normalização na comparação de softwares.
• Ajudar os usuários a determinarem os benefícios de um pacote para a Organização através da
contagem das funcionalidades que atendem a seus requisitos.
• Estimar custos e recursos necessários para o desenvolvimento ou manutenção de um software.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 4
Vamos conhecer um pouco da história da APF?

Os conceitos de Pontos de Função foram inicialmente definidos em 1979 por Allan Albrecht – da IBM –
possibilitando medir o produto de projetos de desenvolvimento de software.
De lá para cá o uso de Pontos de Função tem crescido e hoje inclui uma lista expressiva de organizações
ao redor do mundo.

1
7
2 3 6
9

4 10
8

1 – Canadá – OCCI
Ontário Canadá Chapter of IFPUG

2 – EUA – IFPUG (Principal Representação Oficial)


International Function Point Users Group

3 – Chicago (EUA) – CASMA


Chicago Área Software Metrics Association

4 – México – LASMA
Latin América Software Metrics Association

5 – Brasil – BFPUG
Brazilian Function Point Users Group

6 – Alemanha – DASMA
Deutschprachige Anwendergruppe fur Software Metrik and Aufwandschatzungn

7 – Itália – GUFPI – ISMA


Gruppo Utenti Function Point Itália – Italian Software Metrics Association

8 – África – SASMA
South African Software Metrics Association

9 – Japão - JFPUG
Japan Function Point Users Group

10 – Coréia – KFPUG
Korean Function Point Users Group

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 5
Conheça os principais marcos da história da APF na organização Bradesco:

2002 – Início dos treinamentos em conceitos básicos de APF para profissionais do DDS.

2003 – Bradesco – 1ª Instituição Financeira Brasileira a possuir profissional certificado CFPS (*).
*CFPS – Certified Function Point Specialist – é a certificação conferida pelo IFPUG – International
Function Point Users Group às pessoas aprovadas no exame de certificação realizado duas vezes
por ano nos EUA. A certificação obtida é reconhecida internacionalmente.

2004 – Início da participação no SG-FIN, Subgrupo de Instituições Financeiras (*) do BFPUG (**)
* SG-FIN – Subgrupo de Instituições Financeiras. É composto exclusivamente por representantes
que trabalham em instituições financeiras e que reúnem mensalmente para divulgação e
esclarecimento de dúvidas comuns sobre a métrica APF.
** BFPUG – Brazilian Function point Users Group.

2004 – Bradesco – única instituição financeira brasileira a enviar participantes ao IFPUG – 2004
Annual Conference – San Diego, Califórnia, EUA (*)
* Conferência Anual do IFPUG – International Function Point Users Group

2004 – Inclusão e divulgação da planilha de contagem APF padronizada nas propostas técnicas
para as funcionalidades que estão sendo contadas.

2005 – Disponibilização do site de Métricas na Intrads consolidando informações como:


aplicabilidade das métricas, lista de especialistas e certificados em APF (DDS), manuais,
indicadores e sites relacionados.

2005 – Criação e divulgação do Guia Rápido de Referência Bradesco(*), reconhecido oficialmente


pelo IFPUG(**)
* Guia Rápido de Contagem APF - contém um resumo dos principais conceitos da técnica de
Análise de Pontos de Função em sua versão mais atual (CPM 4.2), facilitando o acesso às regras
essenciais para contagem.
** IFPUG - International Function Point Users Group (Grupo Internacional de Usuários de Pontos
de Função)

2006 – Bradesco - única Instituição Financeira Brasileira a participar dos eventos:


'Functional Sizing Summit” - Cambridge-MA EUA
'1st Annual International Software Measurement & Analysis (ISMA) Conference’ - San Diego,
California, EUA

2006 – Bradesco atinge o 1º. lugar no ranking nacional de certificados na técnica APF e o 2º. lugar
no ranking mundial. (*)
* de acordo com o IFPUG (Entidade internacional certificadora) em agosto/2006.

2006 – TreiNet APF Básico - 1o E-learning das áreas de TI do Bradesco.

Vejamos os pontos importantes sobre a técnica:

• Mede o tamanho funcional de um software, a partir da perspectiva do usuário (o tamanho do que será
construído).
• Utiliza uma linguagem comum entre usuários e desenvolvedores.
• É independente de considerações físicas ou tecnológicas, como por exemplo, a linguagem de
programação utilizada.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 6
O que é Medida Funcional de tamanho?

A Medida funcional de tamanho do software é base da contagem de Pontos de Função.

De acordo com a ISO/IEC 14143-1:1998, que define o conceito fundamental de medição do tamanho
funcional, apenas os requisitos funcionais do usuário são contados na técnica de Análise de Pontos de
Função.

MÓDULO 3 – VISÃO DO USUÁRIO x APF

Antes de iniciar os módulos seguintes, vamos convidá-lo a participar de um desafio: realizar uma
contagem de um projeto a partir dos requisitos fornecidos pelo usuário passo a passo.

Bom, primeiro vamos convidar o nosso amigo usuário, Sr. Tomé (aquele que só acredita vendo), para
expor suas necessidades.

Metrix: - Olá, Sr. Tomé?

Sr. Tomé: - Olá Metrix. Ouvi falar sobre a APF e gostaria de saber se ela poderá solucionar nossas
dificuldades.

Metrix: - E quais são suas necessidades?

Sr. Tomé: - Nossas dificuldades estão em conhecer antecipadamente a previsão de custos e prazos de
nossos projetos.

Sr. Tomé: - E mais, parece que o pessoal de TI não me entende e eu não os entendo.

Metrix: - Humm, interessante! Realmente temos a solução para o seu caso. A APF utiliza uma linguagem
comum para usuários e desenvolvedores. Assim, fica fácil medir o tamanho do projeto.

Sr. Tomé: - Verdade? Só acredito vendo.

Metrix: - Claro! Por isso que o Senhor foi convidado, para podermos medir o seu projeto.

Sr. Tomé: - Estou curioso, o que tenho que fazer?

Metrix: - O primeiro passo é especificar os requisitos. Transcreva-os para o documento padrão de


especificação de requisitos e vamos começar o desafio!

Sr. Tomé: - Já tenho tudo aqui na minha cabeça. É para já!

Sr. Tomé: - Aqui está! E agora?

Metrix: - Agora vou convidar nosso amigo desenvolvedor para fazer a contagem do seu projeto.

Sr. Tomé: - Vou aguardar ansiosamente a resposta.

Metrix: - Bom, chegou a nossa vez, vamos ler o que o Sr. Tomé está solicitando.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 7
Sistema de Cadastro de Clientes - Especificação Funcional

• Desenvolver um sistema novo que permita inclusão, alteração, exclusão e consulta dos dados
cadastrais do cliente.

• É necessário informar uma agência válida, para isso deve-se checar o Sistema de Agências.

• O sistema deverá ter somente transações on-line.

Segue lay-out da tela

Agora que você já conhece o problema do usuário, vamos aprender a contar Pontos de Função.

O Processo de contagem envolve alguns procedimentos que serão detalhados nos próximos módulos.

Passos do Processo de Contagem

• Determinar o Tipo de Contagem


• Identificar o Escopo da Contagem e a Fronteira da Aplicação
• Contar Funções de Dados
• Contar Funções de Transação
• Determinar a Contagem de Pontos de Função Não-Ajustados
• Determinar o Fator de Ajuste
• Calcular a Contagem de Pontos de Função Ajustados

Neste módulo você verificou:

- Como é importante conhecer a necessidade do usuário.

- Quais são os passos para a contagem de pontos de função.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 8
MÓDULO 4 – DETERMINAR O TIPO DE CONTAGEM

Neste módulo vamos compreender o que significa determinar o tipo de contagem.

Identificar ou determinar o tipo de contagem é o primeiro passo no processo de contagem.

Cada tipo de contagem proporciona a medição de um tipo de projeto ou aplicação.

Vamos conhecer melhor cada um deles:

Projeto de Desenvolvimento
Mede as funcionalidades providas ao usuário na primeira instalação da aplicação. Inclui também as
funções de conversão.

Projeto de Melhoria (também chamado de manutenção)


Mede as modificações, exclusões e inclusões de funções na aplicação. Inclui também as funções de
conversão.

Aplicação
Mede uma aplicação já desenvolvida. Conhecida também como baseline. É inicializada ao término do
projeto de desenvolvimento e atualizada ao término de cada projeto de melhoria.

Para entendermos melhor o processo de contagem precisamos também compreender alguns elementos
que fazem parte do processo de determinação do tipo de contagem, dentre eles, o Usuário e a Visão do
Usuário.

Para APF o Usuário pode ser uma pessoa ou “coisa” que interaja com o sistema em qualquer momento
e/ou que especifique requisitos funcionais.

A Visão do Usuário representa uma descrição formal do negócio na linguagem do usuário. Os


desenvolvedores traduzem essas informações, usando uma linguagem tecnológica, para prover a solução.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 9
Resumindo, a Visão do Usuário:

• É uma descrição das funções do negócio.


• É aprovada pelo usuário.
• Pode ser usada na contagem de pontos de função.
• Pode variar na forma física.
• Exemplos: catálogo de transações, especificações detalhadas, manuais do usuário.

Agora que conhecemos os Tipos de Contagem e também já tratamos dos principais aspectos da Visão do
Usuário é preciso destacar que todas as contagens iniciais de Pontos de Função sempre serão
estimativas das funcionalidades.

Antes de iniciar uma contagem de Pontos de Função, determine a fase do ciclo de vida da aplicação e
então saberá se fará uma contagem estimada ou detalhada.

Dica: Antes de iniciar uma contagem, documente todas as premissas assumidas.

Neste módulo verificamos o primeiro passo do processo de contagem: determinar o tipo de contagem.

O próximo passo é identificar o escopo da contagem e a fronteira da aplicação.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 10
MÓDULO 5 – IDENTIFICAR O ESCOPO DA CONTAGEM E A FRONTEIRA DA APLICAÇÃO

Neste módulo vamos abordar dois importantes itens do processo de contagem: Identificação do Escopo
da Contagem e a Fronteira da Aplicação.

A fronteira da aplicação:

• Contribui para identificar os dados que entram e os dados que saem da aplicação, ou seja, aqueles
que farão parte do escopo da contagem.

• Age como uma membrana que separa a aplicação do mundo externo. Ex.: Usuário/Outras
Aplicações.

A fronteira da aplicação

• Envolve os arquivos lógicos mantidos pela aplicação (ALIs).


• Ajuda na identificação dos arquivos lógicos referenciados, mas não mantidos dentro da aplicação
(AIEs).
• Depende da visão do usuário (do negócio).
• É independente de tecnologia e/ou de considerações de implementação.
• Indica o limite entre a aplicação sendo contada e o usuário.

Um ALI é um grupo de dados ou informações de controle logicamente relacionadas, reconhecidas pelo usuário e mantidos dentro
da fronteira da aplicação que está sendo contada. Neste arquivo, os dados mantidos podem ser modificados por meio de um
processo elementar: adicionar, modificar, excluir, popular, atualizar, atribuir e criar.

Um AIE é um grupo de dados ou informações de controle, logicamente relacionados, reconhecidos pelo usuário, referenciado pela
aplicação sendo contada, mas mantidos dentro da fronteira de outra aplicação.

O posicionamento da fronteira é importante porque impacta no resultado da contagem.

A fronteira é determinada com base na visão do usuário. O foco está no quê o usuário pode entender e
descrever.

Dica: Utilize especificações externas ao sistema ou obtenha um diagrama de fluxo do sistema. Desenhe
a fronteira destacando quais partes são internas e quais são externas a aplicação.

No escopo de um único projeto, pode haver mais de uma aplicação. Nesse caso, todas as fronteiras
devem ser identificadas.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 11
Fronteira da Aplicação

O posicionamento incorreto da fronteira pode alterar a perspectiva, a contagem de uma visão lógica para
uma visão física, causando os seguintes erros:
- Contagem duplicada da mesma transação.
- Contagem de funções de transações de dados entre plataformas.
- Dificuldade na determinação do tipo de transação.
- Duplicidade na contagem de arquivos.

Exemplo de fronteira:

Fundo de
Garantia

Fundo de Garantia)

Um dos principais conceitos da técnica de Análise de Pontos de Função é que as funções de um sistema
devem ser contadas a partir da perspectiva do usuário e não do analista ou programador.

Considerando esse aspecto, convido você a pensar: Por que a Identificação do Escopo é importante?
A Identificação do Escopo é parte imprescindível na contagem de pontos de função de um projeto.

Escopo define as funcionalidades que serão incluídas na contagem de Pontos de Função:


• Define um subconjunto do sistema sendo medido.
• Identifica quais funcionalidades serão incluídas na contagem.
• Pode incluir mais de uma aplicação.

O que considerar no escopo:

Projeto de Desenvolvimento – todas as funcionalidades construídas ou customizadas pelo projeto.

Projeto de Melhoria – todas as funcionalidades adicionadas, alteradas ou excluídas. A fronteira da


aplicação, neste caso, continua a mesma.

Aplicação – dependendo do propósito da contagem, pode-se considerar todas as funcionalidades


existentes na aplicação ou somente as utilizadas pelo usuário. A fronteira da aplicação nesses dois
casos é a mesma.

Dica: Revise o objetivo da contagem de Pontos de Função para apoiar na determinação do escopo da
contagem.

A contagem de Pontos de Função é realizada com base em cinco tipos de componentes de software:
Arquivos Lógicos Internos, Arquivos de Interface Externa, Entradas Externas, Consultas Externas e
Saídas Externas.

Estes componentes estão agrupados em dois tipos de funções: Funções de Dados e Funções de
Transação.
Você irá aprender como identificar estas funções nos módulos 6 e 7.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 12
MÓDULO 6 – CONTAR FUNÇÔES DE DADOS

Neste módulo, vamos conhecer mais um passo da Contagem de Pontos de Função: Como Contar
Funções de Dados.

Funções de Dados

• Representam a funcionalidade provida ao usuário para atender requisitos externos e internos


referentes a dados.
• São classificadas como Arquivos Lógicos Internos (ALI) e Arquivos de Interface Externa (AIE).

Antes de começar, precisamos entender o significado de alguns termos que fazem parte das definições
dos Arquivos Lógicos Internos (ALIs) e Arquivos de Interface Externa (AIEs).

Processo elementar: Menor unidade de atividade que tem significado para o usuário. É auto-contido e
deixa o negócio da aplicação num estado consistente. Ex.: Incluir empregado, lista dos empregados
ativos, alterar dados de conta corrente.

Informações de Controle: São dados que influenciam um processo elementar da aplicação que está
sendo contada. Especifica o que, quando ou como os dados serão processados.
Ex.: O departamento de RH estabelece datas de pagamentos diferentes para cada local que um
empregado trabalha. Quem trabalha no Rio de Janeiro recebe dia 10, quem trabalha em São Paulo ,
recebe dia 5. Assim, a previsão de pagamento dos funcionários possui uma informação que afeta o
processo elementar de pagar os empregados.

Identificável/Reconhecido pelo usuário: Este termo refere-se a requisitos definidos para processo e/ou
grupo de dados que estão de acordo e, entendidos tanto pelos usuários quanto pelos desenvolvedores.
Ex.: Em uma aplicação de RH usuários e desenvolvedores entendem que nome, endereço e dependentes
devem ser armazenados na aplicação. Ex.2: Campos ou tabelas temporárias utilizados como forma para
uma melhor implementação pelo desenvolvedor não são reconhecidos pelo usuário.

Mantido: Dado modificado através de um processo elementar. Ex.: incluir, alterar, excluir.

Veremos agora o significado de Arquivos Lógicos Internos (ALI) no contexto da APF:

ALI é um grupo de dados ou informações de controle logicamente relacionadas, reconhecidas pelo


usuário e mantidos dentro da fronteira da aplicação.

Neste arquivo, os dados mantidos podem ser modificados por meio de um processo elementar: adicionar,
modificar, excluir, popular, atualizar, atribuir e criar.

Assim, a intenção primária, ou seja, o objetivo principal de um ALI é armazenar dados mantidos através de
um ou mais processos elementares da aplicação que está sendo contada.

Vamos conhecer as regras que devem ser aplicadas para contar um ALI.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 13
Regras de Identificação - ALI:
• O grupo de dados ou informações de controle é lógico e identificável pelo usuário;
• O grupo de dados é mantido através de um processo elementar dentro da fronteira da aplicação
que está sendo contada.

Conheça exemplos de Arquivos Lógicos Internos (ALIs):

- Tabelas de dados mantidas pela aplicação;


- Arquivos de configuração mantidos pela aplicação;
- Arquivos de segurança mantidos pela aplicação;
- Arquivos de help mantidos pela aplicação;
- Arquivos mantidos não só pela aplicação, mas também por outra aplicação.

ATENÇÃO, conheça os NÃO exemplos de Arquivos Lógicos Internos (ALIs):

- Arquivos temporários, de trabalho ou de classificação;


- Arquivos gerados para processamento em outra aplicação;
- Arquivos de backup;
- Arquivos criados em função da tecnologia utilizada;
- Arquivos de índices;
- Arquivos do tipo Code Data (mesmo se forem mantidos pela aplicação).

Tabelas de Código (Code Data):

Possuem valores válidos para determinados atributos. Podem ser identificadas pelo usuário ou pelo
desenvolvedor.
Geralmente tem a estrutura: código, descrição e alguma outra informação padrão.
Logicamente, o código e a descrição têm o mesmo significado.
Atendem a requisitos técnicos e não contribuem para a Contagem de Pontos de Função.
Exemplos: Estados, Tipos de pagamento.

O próximo passo é entendermos o que é um Arquivo de Interface Externa:

Um AIE é um grupo de dados ou informações de controle, logicamente relacionados, reconhecidos pelo


usuário, referenciado pela aplicação sendo contada, mas mantidos dentro da fronteira de outra
aplicação.

Então, a intenção primária, ou seja, o objetivo principal de um AIE é armazenar dados, que são
referenciados, através de um ou mais processos elementares da aplicação sendo contada.

Algumas regras devem ser aplicadas quando contamos Arquivos de Interface Externa.

Regras de Identificação - AIE:

• O grupo de dados ou informações de controle é identificável pelo usuário;


• O grupo de dados é externo e referenciado pela aplicação sendo contada;
• O grupo de dados não é mantido pela aplicação sendo contada;
• O grupo de dados é mantido como um ALI por outra aplicação.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 14
Exemplos de Arquivos de Interface Externa (AIEs):

- Dados de referência externos utilizados pela aplicação.


- Arquivos de help, mantidos por outra aplicação.
- Dados utilizados na aplicação sendo contada, porém mantidos por outra aplicação.

Obs.: Dados de Referência: São dados que suportam as regras de negócio para manutenção dos dados
do negócio. Exemplos: Taxas de desconto, Parâmetros de iniciação.

Não são exemplos de Arquivo de Interface Externa (AIEs):

- Arquivos de movimento recebidos de outra aplicação para manter um ALI;


- Dados mantidos pela aplicação e utilizados por outra aplicação;
- Dados formatados e processados para uso em outras aplicações;
- Arquivos do tipo Code Data*.

* Tabelas de Código (Code Data):


Possuem valores válidos para determinados atributos. Podem ser identificadas pelo usuário ou pelo
desenvolvedor.
São dados basicamente estáticos (com quase ou nenhuma manutenção).
Geralmente tem a estrutura: código, descrição e/ou alguma outra informação padrão.
Logicamente, o código e a descrição têm o mesmo significado.
Atendem a requisitos técnicos e não contribuem para a contagem de Pontos de Função.
Exemplos: Estados, Tipos de pagamento.

Cada uma das funções de dados (ALI e AIE) deverá ter sua complexidade funcional calculada. Esta
complexidade é definida com base em dois conceitos: DET e RET.

Vamos aprender o que é um DET:

Definição
Um tipo de dado elementar é um campo único, reconhecido pelo
usuário e não repetido.

No exemplo ao lado identificamos os seguintes DETs:


Código, Nome, Data de Nascimento, Nome do Pai, Nome da Mãe
e Estado Civil.

Vamos aprender as regras para a contagem de um DET:

• Conte um DET para cada campo único, reconhecido pelo usuário e não repetido, mantido ou
recuperado de um ALI ou AIE, através da execução de um processo elementar.

• Quando duas aplicações mantêm e/ou referenciam o mesmo ALI/AIE, mas cada uma
mantém/referencia diferentes DETs, conte apenas os DETs que estão sendo usados por cada
aplicação para medir o ALI/AIE.

• Conte um DET para cada parte do dado requisitado pelo usuário para estabelecer um relacionamento
com outro ALI/AIE.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 15
Cada uma das funções de dados (ALI e AIE) deverá ter sua complexidade funcional calculada. Esta
complexidade é definida com base em dois conceitos: DET e RET.

Vamos aprender o que é um RET:

Definição
Um tipo de registro elementar é um subgrupo de
dados reconhecidos pelo usuário dentro de um
ALI ou AIE.

No exemplo ao lado identificamos os seguintes


RETs: Cliente e Dependente.

Vamos aprender as regras para a contagem de um RET.

• Conte um RET para cada subgrupo de dados opcional ou mandatório, que dependa da entidade à
qual está relacionado.

o Subgrupos de dados opcionais são aqueles que podem ou não ser criados no momento em
que se insere nova ocorrência no arquivo lógico.

o Subgrupos de dados mandatórios são os que obrigatoriamente são alimentados ao ser


inserido uma ocorrência no arquivo lógico.

Exemplo: Em uma aplicação de RH, ao se cadastrar um novo empregado, seus dados gerais são
informados e ainda se o empregado é horista ou mensalista. Um empregado cadastrado
necessariamente tem que ser horista ou mensalista e para cada um destes tipos
existem dados específicos. Também para um empregado podem ser cadastrados
dependentes. Neste exemplo temos três subgrupos de dados (RETs) para o arquivo
lógico “Empregado”:
- Empregado horista (obrigatório)
- Empregado mensalista (obrigatório)
- Dependente (opcional)

• Se não existem subgrupos, conte um único RET para o arquivo lógico.

O número de ALIs e AIEs e suas referidas complexidades determinam a contribuição na contagem de


Pontos de Função.

Regras para identificação de Complexidade e Contribuição dos ALIs e AIEs:

• Quantificar os DETs (Data Element Type);


• Quantificar os RETs (Record Element Type).

Neste módulo você aprendeu como Contar Funções de Dados.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 16
MÓDULO 7 – CONTAR FUNÇÕES DE TRANSAÇÃO

Neste módulo vamos tratar de Funções de Transação.

Você vai conhecer os critérios para a contagem do que chamamos de processos elementares.

Funções de Transação

Representam a funcionalidade da aplicação provida ao usuário pelo processamento de dados. As


Funções de Transação são definidas como Entradas Externa (EE), Saídas Externa (SE) e Consultas
Externa (CE).

Precisamos entender melhor como são identificadas as Funções de Transação equivalentes a processos
elementares.

Vamos relembrar o que é um Processo Elementar?

Processo Elementar
• Menor unidade de atividade significativa para o usuário final.
• Completo em si mesmo.
• Deixa o negócio da aplicação em estado consistente.

Exemplo:

Um usuário requer a habilidade de adicionar um novo empregado a aplicação. A definição do usuário para
empregado inclui informação de salário e dependente. Da perspectiva do usuário, a menor unidade de
atividade é adicionar um novo empregado. Adicionar um dos pedaços da informação, tal como salário ou
dependente, não é uma atividade que qualifique um processo elementar.

Existem três tipos de função de transação. Vamos conhecer, a partir de agora, em detalhes, cada
uma delas:

• Entrada Externa (EE)


• Consulta Externa (CE)
• Saída Externa (SE)

Entrada Externa (EE)


• Processo elementar que processa dados ou informações de controle, vindos de fora da fronteira da
aplicação.
• Pode manter um ou mais ALIs.
• Pode modificar o comportamento do sistema.

Exemplo: Funcionalidade solicitada pelo usuário para incluir dados de um cliente.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 17
Consulta Externa (CE)
• Processo elementar que envia dados ou informações de controle para fora da
fronteira da aplicação.
• Apresentações ao usuário por meio de simples recuperação de dados.
• A lógica de processamento não contém cálculos nem fórmulas matemáticas e não cria dados
derivados. Não mantém nenhum ALI.

Exemplo: Funcionalidade solicitada pelo usuário que recupera as informações do cliente e as exibe na
tela.

Saída Externa (SE)


• Processo elementar que envia dados ou informações de controle para fora da fronteira da
aplicação.
• Apresentação de informações ao usuário por meio de lógica de processamento.
• A lógica de processamento deve conter pelo menos uma fórmula matemática ou cálculo, criar
dados derivados, manter um ou mais ALIs.

Exemplo: Funcionalidade solicitada pelo usuário para consultar dados de um pedido de cliente onde é
calculado e apresentado o valor total do pedido.

A principal diferença entre as Funções de Transação é a intenção primária, ou seja, o objetivo principal
de cada uma delas.

Intenção Primária (objetivo principal) dos Tipos de Transações:

Entrada Externa: Manter um e/ou mais ALIs ou alterar o comportamento do sistema.

Consulta Externa: Apresentar informação ao usuário através da recuperação de dados ou


informações de controle de um ALI ou AIE.

Saída Externa: Apresentar informação ao usuário, através de lógica de processamento, que não
seja somente a recuperação de dados ou informações de controle.

Visualize o Quadro de Resumo de Intenções Primárias

Função EE SE CE

Alterar o comportamento do sistema IP F N

Manter um ou mais ALIs IP F N

Apresentar informações para o usuário F IP IP

Legenda:
IP = Intenção primária da transação.
F = Pode ser função da transação, mas não sua intenção primária.
N = A função não pode ocorrer na transação.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 18
Agora que já conhecemos melhor os tipos de Funções de Transação, você poderá conferir as regras de
determinação e os exemplos:

Regras para Determinar Função e Processo de Entrada Externa (EEs)

Válidas para cada processo elementar com a intenção primária de manter um ou mais ALIs ou alterar o
comportamento do sistema.

Aplique as regras para determinar se a função pode ser classificada como Entrada Externa. Todas
essas regras devem ser verdadeiras.
1-Os dados ou informações de controle são recebidos de fora da fronteira da aplicação;
2-Pelo menos um ALI é mantido, se os dados que cruzam a fronteira não são informações de controle que
alteram o comportamento do sistema.

Para a identificação do processo, uma das seguintes regras deve ser aplicada:
1-A lógica de processamento é única em comparação com a lógica executada pelas demais EEs do
sistema;
2-O grupo de elementos de dados identificado é diferente dos grupos das demais EEs do sistema;
3-Os ALIs ou AIEs referenciados são diferentes dos arquivos referenciados pelas demais EEs do sistema.

Exemplos de EEs:
• Transações que recebem dados externos utilizados na manutenção de ALIs;
• Funções que envolvam armazenamento de dados de uma transação do negócio, tais como: venda,
compra, agendamento de compromisso, transferências, contratação etc;
• Funções de manutenção (inclusão, alteração e exclusão) de ALIs (dados do negócio ou
parâmetros). A manutenção, neste caso, se desmembra em três processos elementares: inclusão,
alteração e exclusão;
• Processamento em lotes de atualização de bases cadastrais, a partir da arquivos de movimento.

Não-Exemplos de EEs:
• Telas de filtro de relatórios e consultas;
• Menus (estáticos ou dinâmicos) ;
• Telas de login;
• Mensagens de confirmação de uma transação;
• Recebimento de dados por um componente físico do sistema, que não cruza a fronteira da
aplicação (aplicações multicamadas).

Obs: é a complexidade de uma EE que define sua contribuição para a contagem dos Pontos de Função
Não-Ajustados.

Regras para determinar função e Processo de Saída Externa (SEs):

Válidas para o processo elementar com a intenção primária de apresentar informações ao usuário, através
da lógica de processamento, que não seja apenas a recuperação de dados ou informações de controle.

Aplique as regras para determinar se a Função pode ser classificadas como Saída Externa.

Todas devem ser verdadeiras:


1. A função envia dados ou informações de controle para fora da fronteira de aplicação;
2. Pelo menos uma das seguintes lógicas de processamento deve estar presente na transação:
Fórmula matemática ou cálculo, criação de dados derivados, manutenção de ALI ou alteração do
comportamento do sistema.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 19
Para a identificação do Processo uma das seguintes regras deve ser aplicada:
1. A lógica de processamento é única em comparação com a lógica executada pelas demais SEs do
sistema;
2. O grupo de elementos de dados identificado é diferente dos grupos das demais SEs do sistema;
3. Os ALIs ou AIEs referenciados são diferentes dos arquivos referenciados pelas demais SEs do sistema.

Exemplos de SEs:

• Relatório com totalização de dados;


• Relatórios que atualizam arquivos;
• Consultas com a apresentação de dados derivados ou cálculos;
• Arquivo de movimento gerado para outra aplicação com dados gerados a partir de fórmulas,
cálculos ou derivação;
• Informações em formato gráfico, desde que requeiram cálculo;
• Respostas calculadas retornadas por telefone;
• Telas de logon com segurança e tratamento de dados criptografados (com dados derivados ou
cálculos).

Não-Exemplos de SEs:
• Telas de help;
• Drop-down;
• Consultas e relatórios sem nenhum totalizador, que não atualizam arquivos, não têm dados
derivados e não modificam o comportamento do sistema;

Regras para determinar Função e Processo de Consulta Externa (CEs):

Válidas para cada processo elementar, com a intenção primária de apresentar informações ao usuário,
através da simples recuperação desses dados ou por informações de controle.

Aplique as regras para determinar se a Função pode ser classificada como CE.

Todas essas regras devem ser verdadeiras:


1. A função envia dados ou informações de controle para fora da fronteira de aplicação;
2. A lógica de processamento recupera dados ou informações de controle para fora da fronteira de
aplicação;
3. A lógica de processamento não contém fórmula matemática ou cálculo;
4. A lógica de processamento não cria dados derivados;
5. A lógica de processamento não mantém ALI;
6. A lógica de processamento não altera o comportamento do sistema.

Para a identificação do Processo, uma das seguintes regras deve ser aplicada:

1. A lógica de processamento é única em comparação com a lógica executadas pelas demais CEs do
sistema;
2. O grupo de elementos de dados identificado é diferente dos grupos das demais CEs do sistema;
3. Os ALIs ou AIEs referenciados são diferentes dos arquivos referenciados pelas demais CEs do sistema;

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 20
Exemplos de CEs:

• Telas de help.
• Arquivo de movimento gerado para outra aplicação, sem uso de fórmulas, cálculos ou derivação.
• Informações em formato gráfico, desde que não requeiram cálculos, Drop-downs, desde que
recuperem dados de um arquivo lógico.
• Telas de logon com controle de segurança.
• Menus gerados dinamicamente.
• Consultas implícitas (exibição de todos os dados antes de uma alteração ou exclusão) que
correspondam a processos elementares que possam ocorrem em separado.
• Respostas retornadas por telefone, que não requeiram cálculo.

Não-Exemplos de SEs:

• Menus estáticos.
• Drop-down que não acessa ALI ou AIE.
• Relatórios e consultas que contenham cálculo ou gerem dados derivados.
• Telas de mensagens (de erro e confirmação), acionados durante a transação.
• Telas de logon que não envolvem segurança/controle.

Lógicas de Processamento: são os requisitos do usuário, necessários para completar um processo


elementar.

Exemplos de Lógicas de Processamento

ƒ Validação
Quando adicionamos um novo empregado à organização, existe uma lógica de processamento que
valida a informação sendo inserida.

ƒ Fórmula Matemática e Cálculo


Um relatório de todos os empregados de uma organização calcula o número total de empregados
horistas e mensalistas e ainda o total geral.

ƒ Conversão de Valores Equivalentes


Um processo elementar faz conversão de valores em dólares para outras moedas, através da consulta
dos valores correspondentes nas tabelas, não precisando realizar cálculos.

ƒ Dados são Filtrados e Selecionados através de critérios para comparação de conjuntos de dados
Para gerar uma lista de empregados de um departamento, o processo elementar compara o
departamento fornecido para selecionar e listar somente os empregados deste departamento.

ƒ Análise de Condições para determinar qual se aplica


O processamento lógico executado ao adicionar um empregado vai depender de como o empregado
será pago: como mensalista ou como horista.

ƒ Um ou Mais ALIs são atualizados


Quando se adiciona um empregado o processo elementar atualiza o arquivo empregado para manter
seus dados.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 21
ƒ Um ou Mais ALIs ou AIEs são referenciados
Quando um empregado é cadastrado, o AIE de moedas é referenciado para que seja aplicado o valor
de conversão adequado ao determinar o valor da hora do empregado.

ƒ Dados ou Informações de Controle são Recuperados


Para exibir a lista de grade de pagamentos, as informações das grades de pagamentos são
recuperadas.

ƒ Criação de Dados Derivados


Para gerar o número de registro do paciente, os seguintes dados são concatenados:
- as primeiras três letras do último nome do paciente;
- as primeiras duas letras do primeiro nome do paciente;
- um número único seqüencial de dois dígitos.

ƒ Alteração no Comportamento do Sistema


É feita uma alteração na parametrização da data de pagamento dos funcionários, que deverá passar a
acontecer semanalmente (cada sexta-feira) ao invés de quinzenalmente (dia 15 e último dia do mês).

ƒ Preparar e Apresentar Dados para Fora da Fronteira da Aplicação


A lista de empregados é exibida para o usuário.

ƒ Capacidade de Aceitar Dados ou Informações de Controle que Entram na Fronteira da Aplicação


O usuário entra com várias partes de informação para adicionar um pedido para o cliente.

ƒ Reordenação ou Reagrupamento de Dados


O usuário solicita a lista de empregados em ordem alfabética.
Esta lógica de processamento não impacta na identificação da unicidade do processo elementar, mas
uma alteração na ordenação de dados é considerada na contagem do projeto de melhoria.
Vale lembrar que um único processo elementar pode incluir múltiplas alternativas ou ocorrências
destas lógicas de processamento.
Exemplos: validações, filtro, ordenação etc.

Você já conseguiu realizar as principais etapas da contagem: Identificar o tipo de contagem, o escopo da
contagem, a fronteira da aplicação, as funções de dados e as funções de transação.

Resumindo, vamos ver quais foram as funções identificadas no sistema do Sr. Tomé:

FUNÇÃO TIPO DA FUNÇÃO


Cliente ALI
Agência AIE
Incluir Cliente EE
Alterar Cliente EE
Excluir Cliente EE
Consultar Cliente CE

Agora, como pontuar estas funções em Pontos de Função?

No próximo módulo você aprenderá a fazer isso.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 22
MÓDULO 8 – DETERMINAR A CONTAGEM DE PONTOS DE FUNÇÃO NÃO AJUSTADOS

Neste módulo vamos aprender como pontuar as funções de dados e de transação, identificadas nos
módulos anteriores.

Após identificar as funções de dados e de transação você deverá:

1º - Classificar o grau de complexidade de cada função;


2º - Identificar a contribuição em Pontos de Função, correspondente;
3º - Somar a contribuição de todas as funções.

Cada ALI, AIE, EE, CE e SE identificada durante o processo de contagem deve ser classificada com
relação à sua complexidade funcional (baixa, média ou alta). Existem três tabelas que são utilizadas para
obtermos as complexidades de cada tipo de função.

A primeira se refere aos ALIs e AIEs com base na quantidade de RETs e DETs.

RET – Tipo de Registro Elementar


É um subgrupo de dados, reconhecido pelo usuário, dentro de um ALI
ou AIE.

DET – Tipo de Dado Elementar


É um campo único, reconhecido pelo usuário e não repetido.

Exemplo: Um ALI contendo 30 DETs (campos) e 1 RET (registro lógico) possui complexidade Baixa.

A tabela abaixo refere-se às EEs com base na quantidade de FTRs e DETs.

FTR – Tipo de Arquivo Referenciado


É um Arquivo Lógico Interno, lido ou mantido por uma função de
transação ou um Arquivo de Interface Externa lido por uma função
de transação.

DET – Tipo de Dado Elementar


É um campo único, reconhecido pelo usuário e não repetido.

Exemplo: Uma EE com 10 DETs (campos) e 2 FTRs (arquivos referenciados) possui complexidade
Média.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 23
E por último esta que se refere às SEs e CEs com base na quantidade de DETs e FTRs.

FTR – Tipo de Arquivo Referenciado


É um Arquivo Lógico Interno, lido ou mantido por uma função de
transação ou
um Arquivo de Interface Externa lido por uma função de transação.

DET – Tipo de Dado Elementar


É um campo único, reconhecido pelo usuário e não repetido.

Exemplo:
- Uma SE com 10 DETs (campos) e 2 FTRs (arquivos referenciados) possui complexidade Média.
- Uma CE com 25 DETs (campos) e 4 FTRs (arquivos referenciados) possui complexidade Alta.

Após a determinação da complexidade de cada tipo de função, é necessário calcular sua contribuição.
Para isso devemos utilizar a tabela abaixo.

Exemplo: Uma SE com 10 DETs (campos) e 2 FTRs (arquivos referenciados) possui complexidade Média
e contribui com 5 pontos de função.

Você acabou de aprender que para contar os pontos de função é necessário classificar as funções de
dados e de transação em baixa, média e alta complexidade, não é? Para classificarmos a complexidade
de cada função precisamos contar seus DETs, RETs e FTRs.

Vamos continuar o desafio, contando os pontos de função não ajustados do sistema do Sr. Tomé!

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 24
Primeiro vamos identificar quantos DETs e RETs temos nas funções de dados.

Vamos relembrar os requisitos...

Contagem dos DETs


De acordo com os requisitos, o ALI CLIENTE deverá conter as seguintes informações:

Vamos fazer o mesmo para o AIE Agência.

Contagem dos DETs

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 25
Primeiro identificamos as informações necessárias...

Agora que já identificamos os DET’s e RET’s das funções de dados, o próximo passo é identificar a
complexidade.

A tabela a seguir demonstra como identificamos a complexidade das funções de dados:

O próximo passo é identificar quantos pontos de função não-ajustados cada função de dados
identificada possui.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 26
Vamos acompanhar como atribuímos os pontos de função a partir das complexidades das
funções.

Detalhamos a contagem dos pontos de função não-ajustados das funções de dados do projeto do Sr.
Tomé. Agora vamos fazer o mesmo para as funções de transação.

Vamos identificar quantos DETs e FTRs temos em nossas funções de transação:

Neste caso, devemos contar como DET das funções de transação todos os campos necessários para
completar o processo elementar (EE/CE/SE).
A possibilidade de enviar mensagens e a ação que efetiva o processo, também devem ser consideradas
como DETs.

Acompanhe a contagem dos DET’s de cada função de transação.

• Incluir Cliente = 14 • Alterar Cliente = 14

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 27
• Excluir Cliente = 3 • Consultar Cliente = 14

Vamos ver quantos DETs e FTRs foram identificados para as funções de transação.

Os FTRs identificados são CLIENTE (ALI) e AGÊNCIA (AIE).

Nota: Na função Excluir Cliente só contamos os DET’s necessários para completar o processo de
exclusão, ou seja, o campo chave para pesquisa, o botão de ação e a mensagem.
Esta função não referencia o AIE Agência.

O próximo passo é identificar a complexidade das funções de transação.

Acompanhe a simulação.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 28
A próxima etapa é identificar quantos pontos de função não ajustados cada função de transação
possui.

Acompanhe como identificar os pontos de função a partir da complexidade das funções de


transação.

Detalhamos a contagem dos pontos de função não-ajustados das funções de transação do projeto do Sr.
Tomé.

Agora vamos conhecer o total de pontos de função não ajustados para este projeto.

Para obtermos o total de Pontos de Função Não-Ajustados de um sistema, basta somar a


quantidade de pontos de todas as funções identificadas.

Chegamos ao final do módulo 8, onde conseguimos concluir mais uma etapa da contagem:
Contar Pontos de Função Não Ajustados.

Para efetuar a contagem, vimos que é necessário:

1º - Classificar o grau de complexidade de cada função.


2º - Identificar a contribuição em Pontos de Função, correspondente.
3º - Somar a contribuição de todas as funções.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 29
MÓDULO 9 – DETERMINAR O VALOR DO FATOR DE AJUSTE

Até o momento aprendemos que as funções de dados (ALI e AIE) refletem requisitos específicos de
armazenamento e as funções do tipo transação (EE, CE e SE) requisitos específicos de processamento.

No entanto, existem características que afetam a aplicação de maneira geral.

Neste módulo vamos aprender como identificar estas características conhecendo o conceito de Fator de
Ajuste.

Vamos conhecer alguns termos que irão auxiliar o entendimento na determinação do fator de
ajuste.

CGS – Características Gerais do Sistema: São 14 características que classificam as funcionalidades


gerais da aplicação sendo contada.

VAF - Value Adjustment Factor – Valor do Fator de Ajuste: Valor obtido através de fórmula específica
que, quando aplicado, transforma a contagem de pontos de função não-ajustados em ajustados.

DI – Degree of Influence: Nível de Influência aplicado a cada característica. Varia em uma escala de 0 a
5 que veremos nas próximas páginas.

TDI – Total Degree of Influence: Total do Nível de Influência - Somatório dos níveis de influência das
características Gerais

O fator de ajuste representa a influência de requisitos técnicos e de qualidade no tamanho do software.

O Valor do Fator de Ajuste (VAF) é baseado em 14 características gerais do sistema (CGS), as quais
classificam as funcionalidades gerais da aplicação que está sendo contada. Quando aplicado, o VAF
transforma a contagem de pontos de função não-ajustados em ajustados.

Conheceremos agora os procedimentos envolvidos na determinação do Valor do Fator de Ajuste.

Passos para determinar o Valor do Fator de Ajuste (VAF):

1 - Avalie cada uma das 14 características gerais do sistema (CGS) na escala de 0 a 5 para determinar o
Nível de Influência (DI);

2 - Some os níveis de influência das 14 características gerais do sistema (CGS) para calcular o Total do
Nível de Influência (TDI)

3 - Substitua o valor do TDI na seguinte fórmula, para produzir o valor do Fator de Ajuste (VAF)

VAF = (TDI x 0,01) + 0,65

Exemplo: se houver nível de influência para cada uma das 14 CGS (3x 14 = 42), o VAF será igual a:
VAF = (42 x 0,01) + 0,65
VAF = 1,07

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 30
Conheça as 14 Características Gerais da Aplicação

1. Comunicação de Dados
Níveis em que a aplicação se comunica diretamente com o processador.

2. Processamento de Dados Distribuídos


Níveis que a aplicação transfere dados entre os componentes físicos da aplicação.

3. Performance
Até que ponto o tempo de resposta e taxa de transações influenciam no desenvolvimento da aplicação.

4. Configuração de Carga de Máquina


Níveis nos quais as restrições de recurso do computador influenciam o desenvolvimento da aplicação.
Uma configuração operacional altamente utilizada, necessitando considerações especiais de projeto. Por
exemplo, o usuário deseja executar a aplicação em um equipamento existente ou comprado, que será
altamente utilizado.

5. Volume de Transações
Níveis, nos quais a taxa de transações de negócio influencia o desenvolvimento da aplicação. O volume
de transações é alto e influencia no projeto, desenvolvimento, instalação e suporte da aplicação.

6. Entrada de Dados On-line


Interface com o usuário on-line é fornecida pela aplicação na entrada de dados, funções de controle,
relatórios e consultas.

7. Eficiência do Usuário Final


As funções on-line fornecidas enfatizam um projeto para maior eficiência
ao usuário final. Exemplo de funções fornecidas: Auxílio na navegação, Menus, Ajuda/documentação on-
line, Movimentação automática do cursor, Paginação, Impressão remota (através de transações on-line),
Teclas de função pré-definidas (ex: limpeza de tela, solicitação de help, cópia de tela).

8. Atualização On-line
A aplicação fornece atualização on-line dos ALIs (Arquivos Lógicos Internos).

9. Processamento Complexo
Níveis em que a lógica de processamento é influenciada no desenvolvimento da aplicação. Exemplos:
Controle sensível (exemplo: processamento especial de auditoria) e/ou processamento de segurança
específico da aplicação, Processamento lógico extensivo, Processamento matemático extensivo.

10. Reusabilidade
Níveis em que a aplicação e seu código foram especificamente projetados, desenvolvidos e suportados
para serem utilizados em outras aplicações.

11. Facilidade de Instalação


Um plano de conversão e instalação e/ou ferramentas de conversão foram fornecidos e analisados
durante a fase de teste do sistema.

12. Facilidade de Operação


A aplicação minimiza a necessidade de atividades manuais, como montagem de fitas, manuseio de papel
e intervenção manual direta do operador.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 31
13. Múltiplos Locais
Descreve os níveis para os quais a aplicação foi desenvolvida para diferentes ambientes de hardware e
software.

14. Facilidade de Modificação


Descreve os níveis em que a aplicação foi desenvolvida para modificação facilitada da lógica de
processamento ou estrutura de dados.
Características que podem ser aplicadas:Facilidade de consultas/relatórios flexíveis, dados de controle do
negócio são guardados em tabelas que são mantidas pelo usuário através de processos on-line
interativos.

Níveis de Influência

Com base nos requisitos estabelecidos pelo usuário, cada característica (CGS) deve ser avaliada nos
termos dos seus níveis de influência (DI) conforme a escala abaixo:

Pontue como Influência no Sistema


0 Nenhuma influência
1 Mínima
2 Moderada
3 Média
4 Significativa
5 Forte influência

Você aprendeu neste módulo que existem fatores que podem influenciar o tamanho da aplicação.

No nosso desafio o Sr. Tomé mencionou um fator importante:

“O sistema deverá ter somente transações on-line.”

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 32
Vamos calcular o Fator de Ajuste da Aplicação do desafio proposto.

Identificamos pelos requisitos que o nível de influência para a Característica Atualização On-Line é 5.
Vamos supor que as demais características foram pontuadas conforme abaixo:

• Comunicação de Dados = 3
• Processamento de Dados Distribuídos = 4
• Performance = 4
• Configuração de Carga de Máquina = 2
• Volume de Transações = 3
• Entrada de Dados On-line = 5
• Eficiência do Usuário Final = 4
• Atualização On-line = 5
• Processamento Complexo = 2
• Reusabilidade = 3
• Facilidade de Instalação = 2
• Facilidade de Operação = 3
• Múltiplos Locais = 2
• Facilidade de Modificação = 3


Somando os valores dos níveis de influência das 14 características obtemos: TDI = 45

Agora é só aplicar a fórmula do fator de ajuste: VAF = (TDI x 0,01) + 0,65

VAF = ( 45 x 0,01) + 0,65

VAF = 1,10

O fator de ajuste do Sistema do Sr. Tomé é 1,10 !

Neste módulo 9 você conheceu:

1º - Como determinar o valor do fator de ajuste.


2º - Como identificar as características gerais da aplicação e os níveis de influência de cada
uma delas no cálculo do fator de ajuste.

Só falta ajustar os pontos de função que é o assunto do próximo módulo.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 33
MÓDULO 10 – CALCULAR OS PONTOS DE FUNÇÃO AJUSTADOS

Chegou o momento de aprendermos a calcular os Pontos de Função Ajustados, nosso último passo do
processo de contagem.

O cálculo de pontos de função ajustados consiste basicamente em multiplicar o fator de ajuste pelos
pontos de função não-ajustados.

Porém, cada tipo de contagem (projeto de desenvolvimento, projeto de melhoria e aplicação) utiliza uma
fórmula específica.

Neste módulo veremos as fórmulas utilizadas para os três tipos de contagem e também exemplos de um
projeto de desenvolvimento e outro de melhoria. Bom Estudo!

As fórmulas apresentadas neste módulo estão exatamente como descritas no manual de práticas de
contagem da APF (CPM – Counting Practices Manual). Nenhum nome de variável foi alterado ou traduzido.

Vamos começar pelo cálculo de Pontos de Função de um Projeto de Desenvolvimento utilizando a


seguinte fórmula:

DFP = (UFP + CFP) x VAF


DFP = Development Function Point
Número de pontos de função do Porjeto de Desenvolvimento.

UFP = Unajusted Function Point


Número de pontos de função não-ajustados das funções disponíveis após instalação.

CFP = Unajusted Conversion Function Point


Número de pontos de função não-ajustados das funções de conversão.

VAF = Value Adjustment Factor


Valor do fator de ajuste

Para auxiliar o entendimento, vejamos um exemplo de Contagem de Pontos de Função para um Projeto
de Desenvolvimento.

Um projeto de desenvolvimento, após a identificação e classificação de suas funcionalidades, possui 90


pontos de função não ajustados e fator de ajuste = 1,20. Vamos acompanhar o cálculo do valor da
contagem de pontos de função ajustados do projeto:

Substituindo os valores na Fórmula temos:

DFP = (UFP + CFP) x VAF


DFP = (90 + 0) x 1,20
DFP = 108

Concluímos que este projeto de desenvolvimento possui 108 pontos de função ajustados.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 34
Agora vamos conhecer a fórmula para um Projeto de Melhoria.

EFP = [(ADD + CHGA + CFP) x VAFA] + (DEL x VAFB)


EFP = Enhancement Project Function Point
Número de pontos de função do projeto de melhoria.

ADD = Unadjusted Function Point Added


Número de pontos de função não-ajustados das funções incluídas pelo projeto de melhoria.

CHGA = Unadjusted Function Point Changed – After


Número de pontos de função não ajustados das funções modificadas. Reflete as funções depois das
modificações.

CFP = Conversion Function Point


Número de pontos de função não ajustados adicionados pela conversão.

VAFA = Value Adjustment Factor – After


Valor do fator de ajuste da aplicação depois do projeto de melhoria.

DEL = Unadjusted Function Point Deleted


Número de pontos de função não-ajustados das funções excluídas pelo projeto de melhoria.

VAFB = Value Adjustment Factor – Before


Valor do fator de ajuste da aplicação antes do projeto de melhoria.

Vamos ver um exemplo de Contagem de Pontos de Função de um Projeto de Melhoria.

Uma aplicação passou por um projeto de melhoria conforme segue:


- O usuário não precisa mais de uma função de inclusão on-line, portanto essa função deve ser excluída
(essa função foi classificada como uma Entrada Externa de baixa complexidade, que corresponde a 3
Pontos de Função).
- O usuário solicitou um novo relatório (essa função foi classificada como uma Saída Externa de baixa
complexidade, que corresponde a 4 Pontos de Função).

O valor do fator de ajuste da aplicação era 1,05, antes do início do projeto.


O valor do fator de ajuste não sofreu alteração, portanto continua o mesmo depois do projeto terminado.

Substituindo os valores na Fórmula temos:

EFP = [(ADD + CHGA + CFP) x VAFA] + (DEL x VAFB)

EFP = [(4 + 0 + 0) x 1,05] + (3 x 1,05)


EFP = 7,35 PF Ajustados

Este projeto de melhoria possui 7,35 Pontos de Função Ajustados

Por último, trataremos da Contagem da Aplicação que possui duas fórmulas para calcular o número de
Pontos de Função Ajustados: uma para a primeira contagem e outra para recalcular seu tamanho, após
um projeto de melhoria.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 35
Esta é a Fórmula para Contagem Inicial da Aplicação (1ª instalação).

AFP = ADD x VAF

AFP = Aplication Function Point


Número de Pontos de Função Ajustados da Aplicação.

ADD = Unadjusted Function Point (added)


Pontos de Função não Ajustados das Funções Instaladas.

VAF = Value Adjustment Factor


Valor do Fator de Ajuste da Aplicação.

Confira um exemplo de Contagem Inicial da Aplicação.

Supondo que a quantidade de pontos de função não ajustados das funcionalidades instaladas da
aplicação seja de 115 pontos e o valor do fator de ajuste = 1,05.

Substituindo os valores na fórmula, temos:

AFP = ADD x VAF

AFP = 115 x 1,05


AFP = 120,75

Nota: Apenas o tamanho das funcionalidades instaladas da aplicação para o usuário são incluídas na
contagem inicial.

Quando um Projeto de Melhoria é concluído, o número de Pontos de Função da Aplicação deve ser
atualizado para refletir as modificações. E esta é a Fórmula que utilizamos:

AFP = [(UFPB + ADD + CHGA) – (CHGB + DEL)] x VAFA

AFP = Aplication Function Point


Número de pontos de função ajustados da aplicação.

UFPB = Unadjusted Function Point - Before


Pontos de função não ajustados da aplicação antes do projeto de melhoria.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 36
ADD = Unadjusted Function Point Added
Pontos de função não ajustados das funções incluídas.

CHGA = Unadjusted Function Point Changed – After


Pontos de função não-ajustados das funções alteradas pelo projeto de melhorias depois de seu término.

CHGB = Unadjusted Function Point Changed – Before


Pontos de função não-ajustados das funções alteradas pelo projeto de melhoria antes de seu término.

DEL = Unadjusted Function Point Deleted


Pontos de função não ajustados das funções excluídas.

VAFA = Value Adjustment Factor – After


Valor do fator de ajuste, depois do projeto de melhoria.

Confira um exemplo de Contagem de Pontos de Função de um Projeto da Aplicação(*) após a


melhoria.

*Conceito de Aplicação: Também chamada de baseline, é inicializada ao término do projeto de desenvolvimento e atualizada ao
término de cada projeto de melhoria.

Supondo que a aplicação tinha 115 Pontos de Função não ajustados antes da melhoria. Durante o projeto
de melhoria foram solicitados: 4 Pontos de Função referentes à inclusão de funcionalidades, 9 referentes à
alteração e 3 referentes à exclusão.

O valor do fator de ajuste é de 1,05.

AFP = [(UFPB + ADD + CHGA) – (CHGB + DEL)] x VAFA

Substituindo os valores na fórmula, temos:

AFP = [(115 + 4 + 9) – (9 + 3)] x 1,05


AFP = 121,8

Para finalizar a contagem do projeto do sistema do Sr. Tomé, precisamos calcular os Pontos de Função
Ajustados.

Calcularemos os Pontos de Função Ajustados do sistema do Sr. Tomé. Relembraremos agora a contagem
realizada nos módulos anteriores.

Observe como os valores são aplicados na fórmula, lembrando que foi identificado um total de 27 pontos
de função não ajustados e valor do fator de ajuste igual a 1,10. Sendo assim, o UFP é 27 PF, o VAF é
1,10 e não temos funções de conversão para esse projeto.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 37
Fórmula do projeto de desenvolvimento: DFP = (UFP + CFP) x VAF
DFP = (27 + 0) x 1,10
DFP = 29,70 PF

Agora você já conhece todas as etapas de contagem. A aplicação do Sr. Tomé tem 29,70 Pontos de
Função Ajustados.

Que tal chamarmos o usuário para apresentarmos a contagem para ele?

Metrix: Sr. Tomé gostaríamos de apresentar a contagem do projeto baseado nos requisitos fornecidos.

Sr. Tomé: Compreendi, foram identificadas todas as funções do sistema, cada função tem uma
complexidade e uma quantidade de pontos de função. Mas ainda tenho uma dúvida, como saber quanto
vai custar e quando vai ficar pronto?

Metrix: Boa pergunta Sr. Tomé! A técnica de análise de Pontos de Função fornece o tamanho da
aplicação em Pontos de Função. Fazendo um relacionamento com a construção civil, seria equivalente a
quantidade de m² de uma casa. O custo e o prazo dependerá da quantidade de profissionais envolvidos,
da experiência da equipe, do tipo de acabamento, etc. Da mesma forma, a aplicação. Vamos entender
melhor:

Supondo que a produtividade para desenvolver esta aplicação seja de 10 Horas/Pontos de Função,
temos:
Esforço = 29,70 PF x 10H/PF = 297 Horas

Para calcular o custo de desenvolvimento da aplicação basta multiplicar o total de horas de esforço pelo
custo da hora de desenvolvimento.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 38
Sr. Tomé: Ah, agora ficou mais fácil entender como o custo do projeto é calculado. O custo é proporcional
ao tamanho da aplicação.

Metrix: Conseguimos provar que a APF é uma poderosa técnica para estimar projetos?

Sr. Tomé: Sim, com certeza. Só gostaria de compreender mais uma coisa. Se eu solicitar, após a
implantação do projeto, mais dois novos relatórios, sendo um geral e um consolidado, como seria medido?

Metrix: Nesse caso devemos mensurar essas novas funcionalidades em um Projeto de Melhoria.

Sr. Tomé: Ok. Podemos fazer uma simulação contando este projeto? Gostaria de saber o impacto deste
pedido.

E então amigos, vamos conferir estas funções?

Detalhamento da contagem do Relatório Geral

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 39
Detalhamento da contagem do Relatório Consolidado

Total de Pontos de função não Ajustados 9

Agora vamos somar todas as funcionalidades para realizarmos um novo orçamento.

Aplicando a fórmula do projeto de melhoria:

EFP = [(ADD + CHGA + CFP) x VAFA] + (DEL x VAFB)


EFP = [( 9 + 0 + 0) x 1,10] + (0 x 1,10)

EFP = 9,9 PF Ajustados

Supondo a mesma produtividade (10h/PF) utilizada anteriormente, temos:


9,9 PF X 10h/PF = 99 horas

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 40
Sr. Tomé: Puxa... não imaginava que o desenvolvimento desses dois relatórios demandasse tanto
esforço.

Metrix: Sr. Tomé, estimamos a sua nova solicitação em 9,9 Pontos de Função Ajustados e 99 horas de
esforço.

Ao apresentar o resultado do cálculo para o usuário, ele poderá verificar a quantidade de horas de esforço
das implantações no sistema e desta maneira poderá avaliar melhor a real necessidade dessa
modificação e a relação custo X benefício.

Através do processo de contagem apresentado passo a passo, você aprendeu a mensurar o tamanho de
um projeto com a técnica de Análise de Pontos de Função!

No decorrer deste treinamento avaliamos o processo e as regras de utilização da Análise de Pontos de


Função como uma técnica capaz de determinar tamanho, estimar custos e recursos, permitindo gestão de
orçamento com maior assertividade.

Você pôde comprovar que a APF atende ao desafio de medir o tamanho de um software em termos
funcionais.

Nas próximas páginas veremos:

• Consolidação dos conceitos abordados;


• Algumas dicas relacionadas à contagem de pontos de função;
• Questões para praticar (com gabarito de respostas);
• Exemplo de caso prático (com gabarito de respostas).

Para ampliar os conhecimentos, recomendamos consultar o Glossário deste treinamento.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 41
Consolidação dos conceitos
Este curso fornece uma visão geral do processo de contagem e apresenta a relação existente entre o
processo de contagem e a devida identificação dos requisitos funcionais de um software.

Utilizamos o caso do Sr. Tomé para ilustrar os aspectos teóricos, de forma prática e objetiva.
A apostila fornece um módulo com exercícios extras, para possibilitar um maior entendimento dos
conceitos e aplicação da técnica.

A seguir iremos rever o diagrama contendo os passos do processo de contagem e vamos conhecer
algumas dicas e exercícios que irão auxiliá-lo no processo de contagem:

Diagrama de procedimentos (Macrovisão)

Contar
Funções de Determinar a
Dados Contagem
de Pontos de
Identificar Contar Função Não-
o Escopo Funções de Ajustados
da Transação Calcular
Determinar
Contagem Pontos de
o Tipo de
ea Função
Contagem
Fronteira Ajustados
da Determinar o
Aplicação Valor do
Fator de
Ajuste

Situações não passíveis de aplicação da Métrica APF

A relação abaixo indica alguns dos tipos de implementação física para os quais a APF não se aplica:

• Incorporação de banco;
• Inclusão de barra de rolagem em todas as telas do aplicativo;
• Alteração de literais, cabeçalhos, data/hora, logo em telas ou relatórios;
• Alteração no tamanho de campos em arquivos ou tabelas;
• Acerto de erros em programas;
• Alteração no posicionamento dos campos na tela;
• Geração de backup e log que não seja a pedido do usuário;
• Melhoria de performance;
• Confecção e/ou alteração de JCL;
• Levantamento de programas;
• Tratamento de Sort (classificação de registros);
• Conversão de sistemas de uma tecnologia para outra;
• Telas de menus que contenham somente navegação;
• Paginação.

Para os casos mencionados, solicitar orientação do Escritório de Métricas, pois serão analisadas as
características do projeto e indicada a métrica adequada para cada caso.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 42
Dicas

1 - Não parta “direto” para a contagem.


Procure ler os insumos disponíveis antes de iniciar a atividade de contagem. Não prossiga a contagem
se não compreender o que está contando ou se os insumos estiverem incompletos. Lembre-se: o
trabalho é contar e não “adivinhar”.

2 - Não trate mensuração de esforço e custo como objetivo principal da contagem de pontos de
função.
A contagem tem como objetivo primordial a definição do tamanho funcional. O esforço é a primeira
derivação conseqüente dessa atividade, bem como o custo. Nunca misture os conceitos e nem os
momentos de execução das atividades.

3 - Documente o propósito, a fronteira e o escopo da contagem.


Esta prática permite a preservação do histórico da atividade e sua repetição ou avaliação.

4 - Determine corretamente o tipo de contagem: Desenvolvimento, Melhoria ou Aplicação.


Esse é o primeiro procedimento do processo de contagem e se não estiver correto, toda a contagem
será contestada.

5 - Não considere correção de software como Projeto de Melhoria.


A Análise de Pontos de Função contempla o tamanho da funcionalidade entregue ao usuário, em
perfeitas condições de utilização, portanto, correção não é melhoria.

6 - Não considere a implementação de requisitos técnicos e padrões organizacionais como


funções de transação ou de dados.
Estes requisitos não são funcionais, portanto não justificam funcionalidades incluídas, alteradas ou
excluídas. O ideal é utilizar outra métrica. Alguns requisitos técnicos podem ser contemplados
ajustando as CGS (Características Gerais do Sistema), conforme o caso.

7 - Desativação de aplicações ou rotinas.


É muito comum medir a implementação ou alteração de funcionalidades e esquecer de tratar as
exclusões, principalmente quando se referem a implementações provisórias. Nestes casos as funções
excluídas deverão ser contadas como funções de transação.

8 - Não considere a criação ou manutenção de JCL como funcionalidade incluída ou alterada.


A montagem do JCL e outros conjuntos de instruções de processamento fazem parte da
funcionalidade a ser considerada, nunca sendo a própria funcionalidade.

9 - Não considere toda entidade externa como AIE.


Entidade externa nem sempre é grupo lógico de dados reconhecido pelo usuário.

10- Cuidado com a “multiplicação” dos ALI ou AIE.


Nem sempre tabelas físicas constituem um ALI e AIE. Existem regras específicas para identificação
dos mesmos.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 43
Contagem de lista Drop Down

Seleção de item através da exibição em uma lista.

Exemplo 1:
Selecione a cor: Azul
Amarela
Laranja
Roxo
Marrom
Verde

O que contar neste exemplo:

• Contar 1 DET na Entrada Externa(EE) para o campo(cor) a ser apresentado ao usuário.


• Contar uma função de transação do tipo Consulta Externa (CE) para o drop down, contando 2 DETs
na Consulta Externa(CE) sendo 1 para o campo apresentado e outro para ação de seleção

Função de transação: Lista Drop down - consultar cor


Tipo função: CE
Total de DETs: 2

Exemplo 2: No exemplo abaixo, há uma tabela de estados que popula o drop down.

Estado:
AC – Acre
AP – Amapá
AM – Amazonas
CE – Ceará
GO – Goiás

O que contar neste exemplo:

• Contar 1 DET na Entrada Externa(EE) para o campo(Estado) a ser apresentado ao usuário.


• Não contar a função de transação do tipo CE nem o arquivo referenciado, pois trata-se de Code Data.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 44
Contagem de Funções de Conversão

Dos três tipos de contagem de pontos de função (projeto de desenvolvimento, projeto de melhoria e
aplicação), em dois deles (projeto de desenvolvimento e melhoria) as funções de conversão devem ser
contadas. Estas funções cumprem o papel de trazer dados para a aplicação quando da sua instalação.
Normalmente estes dados são buscados de sistemas legados que a nova aplicação irá substituir ou de
versões anteriores da própria aplicação.

É muito comum as aplicações possuírem funções rotineiras para importação/exportação/conversão de


dados. Nesse sentido essas funções farão parte da própria aplicação, como todas as demais. Mesmo as
funções que serão desenvolvidas no projeto para serem usadas uma única vez (durante a instalação) e
depois descartadas, devem ser contadas no escopo do projeto. A forma de contar essas funções é a
mesma para todas as funções do projeto, sendo funções do tipo transação: Entrada Externa(EE), Consulta
Externa(CE) ou Saída Externa(SE).

Exemplo: um projeto de desenvolvimento irá entregar uma nova aplicação que irá substituir uma
aplicação legada. Para que esta nova aplicação seja instalada e esteja plenamente operacional alguns
dados da aplicação legada deverão ser importados. Como não necessariamente os dados nas duas
aplicações estarão estruturados iguais; algumas funções terão que ser desenvolvidas para validar, copiar
e/ou transformar estes dados.

Em geral, as funções de conversão de dados serão Entradas Externas(EE); pois a principal intenção
destes processos é receber dados de fora da fronteira da aplicação e atualizar suas tabelas (Arquivos
Lógicos Internos - ALI). A complexidade dessas entradas externas será dada pelo número de campos
recebidos e pela quantidade de arquivos lógicos acessados/gravados.

Outra consideração importante é que os dados dos sistemas legados que serão convertidos para a nova
aplicação não devem ser contados como ALI ou AIE pelo projeto, pois não representam requisitos de
armazenamento da nova aplicação.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 45
Questões Parte I

1- A visão do usuário:
a) Representa uma descrição formal das necessidades de negócio numa linguagem de sistemas.
b) Descreve a necessidade de negócio em qualquer linguagem utilizada.
c) Representa uma descrição formal das necessidades de negócio numa linguagem de usuário.
d) Nenhuma das opções anteriores está correta.

2 - A funcionalidade de projetos de desenvolvimento:


a) Deve ser analisada em termos do que é disponibilizada pelo projeto.
b) Deve ser analisada em termos da tecnologia que é disponibilizada.
c) Pode incluir requisitos de conversão, mas eles não serão contados na medição do projeto.
d) As Afirmativas A e C estão corretas.

3 - Qual das opções a seguir pode ser contada como DETs numa Saída Externa?
a) Literais de um relatório.
b) Cada mensagem distinta de erro exibida durante a Saída Externa.
c) Variáveis de paginação ou data/hora geradas pelo sistema, que aparecem no cabeçalho de um
relatório.
d) Nenhuma das afirmações está correta.

4 - O propósito da contagem de pontos de função:


a) É prover um resposta para um problema do negócio.
b) Não causa impacto no tipo de contagem realizada.
c) É determinado depois que a fronteira da aplicação é definida.
d) É Influenciado pelo escopo da contagem.

5 - A contagem de aplicações e a de projetos de desenvolvimento:


a) Diferem pelo fato de que a contagem de aplicações não mede as funções alteradas.
b) São diferentes, pois as contagens de aplicações medem as funções acrescentadas.
c) Diferem pelo fato de que as contagens de projetos de desenvolvimento medem as funções de
conversão.
d) As afirmações A e B estão corretas.

6 - Um Arquivo de Interface Externa pode ser:


a) Um grupo de dados logicamente relacionados, reconhecidos pelo usuário, referenciado pela
aplicação, mas mantido por outra aplicação.
b) Um grupo de informações de controle logicamente relacionadas, reconhecido pelo usuário e mantido
pela aplicação.
c) Um grupo de dados logicamente relacionadas, reconhecido pelo usuário e mantido pela aplicação,
mas referenciado em outra parte desta aplicação.
d) As afirmações A e C estão corretas.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 46
7 - Qual das seguintes opções poderia ser contada como uma Consulta Externa?
a) Texto de Help.
b) Tela de consulta que exibe dados de arquivo tipo Code Data.
c) Tela de menu que provê somente navegação.
d) Relatório com dados derivados.

8 - Quando classificamos um ALI, contamos como Itens de Dados:


a) Todos os itens de dados do arquivo.
b) Somente os Itens de Dados mantidos pela aplicação.
c) Somente os Itens de Dados referenciados pela aplicação.
d) Somente os Itens de Dados mantidos e/ou referenciados pela aplicação.

9 - São tipos de Code Data:


a) Dados usados para substituição, com estrutura 'código + descrição'.
b) Dados estáticos ou constantes, contendo uma única ocorrência dos atributos do arquivo, que devem
variar raramente.
c) Valores válidos.
d) Todas as respostas acima estão corretas.

10 - Uma Entrada Externa pode:


a) Exibir dados que são calculados pelo sistema.
b) Enviar dados para outra aplicação.
c) Exibir dados que são recuperados de AIEs.
d) Todas as opções estão corretas.

11 - São consideradas lógicas de processamento:


a) Seleção de dados segundo critérios de busca.
b) Análise de condições para determinar quais são aplicáveis.
c) Capacidade de aceitar edição de dados.
d) Todas as opções acima estão corretas.

12 - O escopo:
a) Identifica quais funções serão incluídas na contagem de pontos de função.
b) É determinado pelo tipo de contagem de pontos de função.
c) Determina o posicionamento da fronteira da aplicação.
d) Nenhuma das afirmações acima é verdadeira.

13 - Qual das opções não pode ser um ALI?


a) Dados da aplicação.
b) Mensagens de erros mantidas pelos usuários.
c) JCL.
d) Mensagens de help mantidas pelos usuários.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 47
14 - Um projeto de melhoria:
a) Está associado com a base instalada de uma aplicação.
b) Inclui funções de conversão.
c) Gera necessidade de atualizar a contagem de aplicação.
d) Todas as afirmações acima estão corretas.

15 - Devem ser contados como arquivos referenciados (FTR):


a) Cada Arquivo Lógico Interno mantido ou referenciado durante o processo de uma Entrada Externa.
b) Cada Arquivo Lógico Interno e Arquivo de Interface Externa mantido durante uma Saída Externa.
c) Cada Arquivo Lógico Interno referenciado ou mantido durante uma Saída Externa.
d) As opções A e C estão corretas.

16 - Um Arquivo Lógico Interno:


a) É lido somente dentro da fronteira da aplicação que está sendo contada.
b) É mantido somente dentro da fronteira da aplicação que está sendo contada.
c) Pode conter informações de controle.
d) As afirmativas B e C estão corretas.

17 - Um dos requisitos para que uma Entrada Externa seja considerada única é:
a) Que a intenção primária seja apresentar informações para fora da fronteira da aplicação.
b) Que a lógica de processamento seja única.
c) Que algum dos arquivos referenciados seja mantido durante o processo.
d) Nenhuma das opções anteriores está correta.

18 - Qual das opções pode equivaler a um ou mais ALIs?


a) Arquivos de trabalho.
b) Dados de edição.
c) Arquivos de sort.
d) Todas as opções estão corretas.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 48
Questões Parte II

01 - Uma Entrada Externa pode ser acionada através de uma PF (Função Programada) específica, de
um botão específico, ou a partir de seleção da função na barra de menu. Quantos DETs na Entrada
Externa devemos contar para estas três opções de comandar a ação?
a) Zero.
b) 1 DET.
c) 2 DETs.
d) 3 DETs.

02 - A complexidade funcional de uma Consulta Externa é determinada através:


a) Da quantidade de DETs e FTRs.
b) Da quantidade de FTRs e RETs.
c) Da quantidade de DETs e RETs.
d) Nenhuma das opções está correta.

03 - O valor não ajustado de pontos de função para um projeto que inclui 3 Entradas Externas de
complexidade baixa, 1 Consulta Externa baixa, 1 Consulta Externa média e 1 Arquivo Lógico Interno
baixo é:
a) 23.
b) 24.
c) 25.
d) 27.

04 - Um novo projeto de desenvolvimento contém 4 Entradas Externas de baixa complexidade, 2


Entradas Externas médias, 2 Entradas Externas altas, 3 Arquivos de Interface Externa baixos, 2 Arquivos
Lógicos Internos baixos, 1 Arquivo Lógico Interno Médio. Alem disso o usuário solicitou 4 Consultas
Externas baixas, 2 Consultas Externas médias, 2 Saídas Externas médias, e 2 funções de transação
para conversão de dados de baixa complexidade. A quantidade não ajustada do projeto de
desenvolvimento é:
a) 101.
b) 107.
c) 109.
d) Nenhuma das opções anteriores está correta.

05 - Na questão anterior, a contagem do projeto de desenvolvimento será igual a quantos pontos de


função ajustados se o fator de ajuste for igual a 1,10?
a) 111,1.
b) 117,7.
c) 119,9.
d) Nenhuma das opções anteriores está correta.

06 - Se um ALI é atualizado por três aplicações separadamente (A, B e C):


a) Ele será contado sempre da mesma forma nas três aplicações.
b) Ele será contado na aplicação em que é mais utilizado.
c) Ele será contado nas três aplicações.
d) Ele será contado na aplicação onde tiver mais dados mantidos.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 49
07 - Uma Entrada Externa é alterada para que ela calcule um dado derivado que antes não era
calculado. Este campo é armazenado num dos ALIs que já era gravado pela Entrada Externa, mas não é
exibido. A entrada antes da alteração tinha 2 FTRs e 4 DETs. Quantos Pontos de Função contamos para
a Entrada Externa no projeto de melhoria?
a) 3.
b) 4.
c) 6.
d) Nenhum, pois este campo não será contado como DET.

08 - Um Arquivo Lógico Interno contém 250 DETs da seguinte forma: 5 RETs com 20, 110, 60, 50 e 10
DETs respectivamente. O arquivo deverá ser contado como:
a) Um ALI de alta complexidade.
b) Dois ALIs de alta complexidade e três ALIs de baixa complexidade.
c) Dois ALIs de média complexidade e três ALIs de baixa complexidade.
d) Três ALIs de média complexidade e dois ALIs de baixa complexidade.

09 - Um ALI com 19 itens de dados e 5 tipos de registro:


a) Tem o valor de pontos de função não ajustados equivalente a 5.
b) Tem o valor de pontos de função não ajustados equivalente a 7.
c) Tem o valor de pontos de função não ajustados equivalente a 10.
d) Tem o valor de pontos de função não ajustados equivalente a 15.

10 - O total de pontos de função não ajustados de uma aplicação vale 1.000. A aplicação possui o nível
total das 14 características(CGS) igual a 34. A quantidade de pontos de função ajustada vale:
a) 990.
b) 1340.
c) 999.
d) Nenhuma das opções está correta.

11 - A Gravadora Sons oferece aos seus clientes especiais um encarte anunciando os novos
lançamentos. Uma aplicação é usada para produzir mala direta para os clientes selecionados. Na mala
direta são apresentados dados do Cliente como nome, endereço e preferências pessoais. Quando a
mala direta é enviada o arquivo de cliente é marcado como 'envio de lançamentos realizado'. Como a
emissão da mala direta deverá ser contada?
a) Saída Externa ou Consulta Externa.
b) Consulta Externa.
c) Saída Externa.
d) Entrada Externa e Saída Externa.

12 - Calcule o valor não ajustado de Pontos de Função para uma aplicação sabendo que ela possui:
Uma Entrada Externa com 15 itens de dados e 3 tipos de arquivos referenciados, uma com 4 itens de
dados e 3 tipos de arquivos referenciados, duas com 2 arquivos referenciados e 4 itens de dados, uma
Saída Externa com 16 itens de dados e 1 tipo de arquivo referenciado e uma Consulta Externa com 5
itens de dados e 2 tipos de arquivos referenciados. No desenvolvimento foram geradas 3 Entradas
Externas de baixa complexidade para conversão de dados.
a) 23.
b) 25.
c) 32.
d) Nenhuma das respostas anteriores está correta.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 50
13 - Qual é o TDI das seguintes características gerais do sistema? Comunicação de Dados - 3;
Processamento Distribuído - 3; Performance - 4; Configuração Pesadamente Usada - 3; Taxas de
Transações - 5; Entrada de Dados On-line - 5; Eficiência para o Usuário final - 4; Atualização On-line - 4;
Processamento Complexo - 2; Reusabilidade - 1; Facilidade de Instalação - 2; Facilidade Operacional -
4; Sites Múltiplos - 1; Facilita mudanças – 3?
a) 109.
b) 1,09.
c) 44.
d) Nenhuma das opções anteriores está correta.

14 - Um grupo de dados contém 30 itens de dados que são não repetitivos e reconhecidos pelo usuário.
As aplicações A e B mantém este grupo de dados. A aplicação A mantém 20 itens de dados. A aplicação
B mantém e referencia 12 itens de dados e somente referencia 4 campos diferentes dos 12 mantidos e
referenciados. Quantos itens de dados são contados para determinas a complexidade deste grupo de
dados?
a) 30 campos para ambas as aplicações A e B.
b) 20 campos para A e 12 para B.
c) 20 campos para A e 16 para B.
d) 20 campos para A e nenhuma para a aplicação B.

15 - Um Arquivo de Interface Externa deverá sofrer uma alteração para incluir mais um RET. Antes da
alteração o arquivo possuía 2 RETs e 35 DETs. Após a alteração ele terá 3 RETs e 42 DETs. Três
Consultas Externas que apresentavam 18 dados do Arquivo de Interface Externa e mais três de um outro
Arquivo Lógico Interno passarão a exibir mais os novos sete dados. O fator de ajuste irá permanecer
1,20. Contamos quantos pontos de função não ajustados referente a esta melhoria?
a) 18.
b) 25.
c) 30.
d) Nenhuma das opções está correta.

16 - Uma Entrada Externa provê 5 mensagens de erro, uma para cada validação dos cinco campos de
dados da tela. Alem destas mensagens o sistema envia duas mensagens de erro adicionais caso a
validação final dos dados acuse alguma inconsistência. Contamos estas mensagens como:
a) 7 Saídas Externas.
b) 7 Itens de dados na Entrada Externa.
c) 6 Itens de dados na Entrada Externa.
d) 1 Item de dado na Entrada Externa.

17 - Uma Entrada Externa recebe 5 itens de dados do usuário. Após a digitação o usuário seleciona o
botão gravar para incluir estes dados no banco de dados. A Entrada Externa valida os dados e
apresenta uma mensagem de erro. Caso todos os dados estejam corretos, ela calcula um total com base
nas informações digitadas para armazená-lo no ALI, juntamente com os 5 itens de dados informados.
Quantos DETs contamos para esta Entrada Externa?
a) 5.
b) 6.
c) 7.
d) 8.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 51
18 - Um sistema de controle de produção de peças calcula diariamente o percentual de peças
produzidas com defeitos em relação ao total produzido naquele dia. Este total é calculado e apresentado
num relatório automaticamente para o usuário, juntamente com mais dez itens de dados que são
recuperados de uma ALI do sistema. Contamos neste caso:
a) Uma Saída Externa.
b) Uma Consulta Externa.
c) Uma Saída Externa pelo cálculo dos dados e uma Consulta Externa pela função de apresentação
automática dos dados.
d) Nenhuma das questões anteriores está correta.

19 - O sistema de Contas Bancárias permite que o próprio usuário imprima seus cheques. Para
isso, ele pressiona o botão imprimir cheques, informa o número da conta corrente, a senha de
correntista e a quantidade de cheques que deseja imprimir. O sistema valida a conta corrente e a senha
enviando uma mensagem de erro caso a conta seja inexistente ou a senha inválida. Caso a conta e a
senha estejam corretas, o sistema verifica a qual correntista pertence a conta e busca no arquivo de
correntista, o nome do correntista e o número do ultimo cheque emitido. O cheque é impresso
apresentando o nome do correntista, o número da conta corrente, a agência da conta, número do
cheque e uma mensagem "cliente deste xx/xx/xxxx". No processo de impressão, o ALI de correntista é
atualizado com o número do último cheque emitido. Para identificar a quantidade de DETs, contamos:

a) 1 DET para ação de imprimir cheques, o número da conta corrente, a senha do correntista, um campo
para a mensagem de erro, nome do correntista, número do cheque, numero da agência, data da
abertura da conta do cliente.
b) A capacidade de tomar a ação de imprimir cheques, o número da conta corrente, a senha do
correntista, a quantidade de cheques a imprimir, um campo para a mensagem, nome do correntista,
número do cheque, número da agência, data da abertura da conta do cliente.
c) O número da conta corrente, a senha do correntista, a quantidade de cheques a imprimir, um campo
para a mensagem de erro, nome do correntista, número do cheque, número da agência, data da
abertura da conta do cliente, a ação de imprimir os cheques, um campo para mensagem.
d) Nenhuma das opções anteriores está correta.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 52
Caso Prático

Instruções:

- Utilize o formulário de resposta do estudo de caso.


- Liste todas as funções de dado e transação incluindo: nome, quantidade de DETs, quantidade de RETs,
quantidade de arquivos referenciados (FTRs), tipo da função (EE, CE, SE, ALI e AIE), complexidade
(baixa, média, alta) e valor de contribuição (PF). Para identificar a complexidade e contribuição utilize as
respectivas tabelas.
- Assuma que o valor do fator de ajuste (VAF) é 1,29.
- Calcule os pontos de função ajustados do projeto de desenvolvimento e forneça também sua fórmula.

Visão geral:

O usuário solicitou um sistema para emissão de cartão de débito para os clientes das agências. O sistema
deverá apresentar as funções: Incluir, alterar, excluir e consultar as solicitação de cartão de débito e emitir
um relatório com o total de solicitações por agência.

Para a inclusão de solicitação, o cliente informa sua agência, conta, tipo da conta e a senha que deseja
gravar no cartão e pressionar a tecla enter. O sistema recebe essas informações, busca o nome do cliente
no cadastro de clientes e exibe o nome na tela, além de capturar a data atual da solicitação para
preencher o campo data do pedido. Ao término do processamento, o sistema grava a solicitação do cartão
e exibe uma mensagem contendo: agência, conta e tipo do cliente, além do texto “Solicitação efetuada
com sucesso!” em caso de sucesso na gravação ou “Solicitação não efetuada!” em caso de erro.

Para a alteração da solicitação o cliente deve informar sua agência, conta, tipo da conta e pressionar a
tecla enter. O sistema pesquisa na base de solicitações o pedido do cliente e exibe os seguintes dados na
tela: agência, conta, tipo da conta, nome e senha, porém somente os campos nome e senha serão
passíveis de alteração. Ao término do processamento, o sistema atualiza a solicitação do cartão e exibe
uma mensagem na tela contendo o texto “Solicitação atualizada com sucesso!” em caso de sucesso na
gravação ou “Solicitação não atualizada!” em caso de erro.

Para a exclusão da solicitação o cliente deve informar sua agência, conta, tipo da conta e pressiona a
tecla enter. O sistema efetua a exclusão e exibe a mensagem ”Solicitação excluída com sucesso!” ou
“Erro na exclusão da solicitação!”, caso haja problemas no processamento.

Para a consulta o cliente deve informar sua agência, conta, tipo da conta e pressionar a tecla enter. O
sistema pesquisa a solicitação do cliente na base de solicitações e exibe as seguintes informações:
agência, conta, tipo da conta, nome e senha. Caso não encontre nenhum registro exibirá uma mensagem
com o texto “Solicitação não encontrada!”.

O usuário solicitou a emissão de um relatório com as seguintes informações: agência, nome da agência,
nome do estado, conta, tipo de conta, nome do cliente, data do pedido e o total de solicitações.
Este relatório deverá ter quebra por agência (vide modelo anexo).

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 53
________________________________________________________________________

Relatório de Solicitações Atendidas por Agência

Agência: 99999
Nome da Agência: xxxxxxxxxxxxxxxxxxxxxxx Estado: xxxxxxxxxxxxxxxxxxxx

Conta Tipo conta Nome do cliente Data do pedido


9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999
9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999
9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999
9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999

Total de solicitações da agência: 999999

Agência: 99999
Nome da Agência: xxxxxxxxxxxxxxxxxxxxxxx Estado: xxxxxxxxxxxxxxxxxxxx

Conta Tipo conta Nome do cliente Data do pedido


9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999
9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999
9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999
9999999-9 99 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99/99/9999

Total de solicitações da agência: 999999

Total geral de solicitações: 999999999

Data de impressão: 99/99/9999 – hh:mm:ss Pág. 99


________________________________________________________________________

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 54
DFD do Sistema de solicitação de cartão de débito

Solicitar cartão Cadastro de cliente


1.1

Excluir solicitação
1.3

Alterar solicitação
1.2
Solicitação de cartão

Emitir relatório
de solicitações
2.0
Consultar solicitação
1.4

Agência Estado

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 55
Contagem de pontos de função de desenvolvimento

Formulário de Respostas

Nome da Função RET Tipo Complexidade


DET / Pontos
FTR ALI AIE EE SE CE Baixa Média Alta
Ex.: Solicitar cartão de débito (1.1) 7 2 X X 4

Pontos de função de desenvolvimento: PF não ajustados

Fórmula utilizada:

Contagem ajustada do projeto de desenvolvimento: PF

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 56
Gabarito das questões práticas – Parte I
QUESTÃO /
JUSTIFICATIVA
OPÇÃO
Errada. O usuário que descreve as necessidades de negócio não possui um conhecimento
A
técnico que o permita descrever o sistema numa linguagem de sistemas.
Errada. Qualquer linguagem é muito abrangente. Pode incluir linguagem de sistema, o que
B
torna a resposta incorreta.
1
Correta. Quando o usuário descreve o sistema para atender uma necessidade de negócio, ele
C
descreve numa linguagem que lhe seja comum.

D Errada. Há pelo menos uma resposta correta.

Correta. Quando avaliamos o que é disponibilizado, estamos analisando as funcionalidades que


A
são disponibilizadas ao usuário.
Errada. APF não considera tecnologia, somente funções independentemente da tecnologia
B
utilizada.
2 Errada. Num projeto de desenvolvimento de um novo sistema, podemos ter as funções que
C convertem os dados do antigo sistema para o novo sistema. Estas funções devem ser
consideradas
D Errada. Embora a alternativa A esteja correta, a alternativa C está errada.

Errada. Literais não atravessam a fronteira da SE, portanto não pode ser considerada como
A
DET

B Errada. Pela definição de DET, ele deve ser único e não repetido.
3
Errada. Estes dados são requisitos técnicos e, portanto não devem ser considerados como
C
DETs

D Correta. Todas as afirmações acima estão incorretas

A Correta. Esta afirmação esta condizente com a definição do CPM

B Errada. O tipo de contagem é determinado pelo propósito da contagem


4
C Errada. Segundo o CPM, o propósito da contagem influencia no posicionamento da fronteira
Errada. É ao contrário, o propósito da contagem é quem influencia o escopo da contagem
D
Errada. Numa contagem de aplicação, se uma função sofreu alteração anterior à contagem de
A aplicação, esta deve ser considerada, pois trata-se de uma funcionalidade do sistema
que está instalado

5 B Errada. As funções acrescentadas são medidas no projeto de manutenção

Correta. Uma função de conversão não faz parte das funcionalidades de uma aplicação, mas
C
devem ser consideradas no projeto de desenvolvimento
D Errada. Ambas as alternativas estão incorretas
A Correta. Esta é a definição de AIE dada pelo CPM
Errada. Por definição, um AIE não pode ser mantido pela aplicação que está sendo contada, se
B
isso acontecer, teremos um ALI
6 Errada. Se o arquivo é mantido dentro da fronteira da aplicação, não importa que ele é
C
referenciado em outra parte da aplicação, ele será um ALI

D Errada. Embora a alternativa A esteja correta, a alternativa C não está

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 57
Correta. Esta alternativa está incompleta, mas dentre as quatro, é a que oferece mais
A possibilidades, supondo que o usuário digite o que ele quer que apareça na tela de
help, e que estas informações sejam armazenadas num ALI
Errada. Por definição, uma CE deve referenciar pelo menos um ALI ou AIE, e como arquivos do
B
7 tipo code data não são considerados como ALI ou AIE, esta tela não pode ser uma CE
Errada. Este tipo de situação é considerado nas características gerais da aplicação, e não na
C
mensuração do tamanho funcional
Errada. Não é característica de uma CE a derivação de dados. Se a função o fizesse, seria uma
D
Saída Externa
Errada. No caso de um ALI compartilhado, ele pode ter vários itens de dados que não são
A utilizados pela aplicação mas que são utilizados por outras aplicações, neste caso não
devemos contar itens de dados não utilizados
Errada. Alguns itens de dados podem somente ser referenciados por processos, portanto são
B
utilizados pela aplicação e devem ser considerados no processo de mensuração
8 Errada. Por ser um ALI, itens de dados devem ser mantidos por um ou mais processos
C elementares dentro da fronteira da aplicação, e estes itens de dados devem ser
considerados na mensuração deste arquivo
Correta. Podemos ter um ALI que mantemos somente alguns campos e referenciamos outros.
D Desta forma contamos como itens de dados somente os campos mantidos ou
referenciados.
A Errada. Embora a afirmação esteja correta, há outra afirmação que também está correta

B Errada. Embora a afirmação esteja correta, há outra afirmação que também está correta
9
C Errada. Embora a afirmação esteja correta, há outra afirmação que também está correta

D Correta. Todas as afirmativas acima estão corretas

A Errada. Embora esta afirmação esteja correta, há outras alternativas que também estão corretas

B Errada. Embora esta afirmação esteja correta, há outras alternativas que também estão corretas
10
C Errada. Embora esta afirmação esteja correta, há outras alternativas que também estão corretas

D Correta. Todas as afirmações acima estão corretas

A Errada. Embora esta afirmação esteja correta, há outras alternativas que também estão corretas

B Errada. Embora esta afirmação esteja correta, há outras alternativas que também estão corretas
11
C Errada. Embora esta afirmação esteja correta, há outras alternativas que também estão corretas

D Correta. Todas as afirmações acima estão corretas

Correta. No escopo da contagem temos, ou pelo menos devemos, ter todas as funcionalidades
A
que serão consideradas no processo de contagem de pontos de função
Errado. O escopo é determinado pelo propósito da contagem e não tem nada a ver com o tipo
B
de contagem
12
Errada. O que pode influenciar no posicionamento da fronteira é o propósito da contagem, que
C
também define o escopo

D Errada. Há pelo menos uma alternativa que está correta

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 58
Errada. Dados da aplicação (business data) devem ser mantidos num ALI da aplicação que esta
A
sendo contada
Errada. Se temos algum grupo de dados que são mantidos pelos usuários, este grupo de dados
B
deve ser um ALI
13
Correta. JCL não é considerado em APF pois ele é uma forma de implementação de funções de
C
transação
Errada. Assim como a alternativa B, se um grupo de dados é mantido pelo usuário, este grupo
D
deve ser um ALI

A Errada. Embora esta afirmação esteja correta, há outras que também estão corretas

B Errada. Embora esta afirmação esteja correta, há outras que também estão corretas
14
C Errada. Embora esta afirmação esteja correta, há outras que também estão corretas

D Correta. Todas as afirmativas acima estão corretas

A Errada. Embora esta afirmação esteja correta, há outra que também está correta
Errada. Um AIE não pode ser mantido por um processo elementar, ele deve ser somente
B referenciado. Se o processo elementar mantiver o AIE, ele deve ser considerado como
15 um ALI
C Errada. Embora esta afirmação esteja correta, há outra que também está correta

D Correta. Ambas as alternativas A e C estão corretas

Errada. O arquivo também pode ser lido por outras fronteiras de aplicações, sendo considerado
A
um AIE

B Errada. Embora esta afirmação esteja correta, há outra que também está correta
16
C Errada. Embora esta afirmação esteja correta, há outra que também está correta

D Correta. Ambas as alternativas B e C estão corretas

Errada. Esta intenção primária caracteriza uma SE ou CE e não uma EE, independentemente
A
se ela seja única ou não
Correta. A lógica de processamento deve ser única, além dos dados e os arquivos
B
referenciados.
17
Errada. Arquivos que são somente referenciados não podem ser mantidos por um processo
C
elementar

D Errada. Há pelo menos uma alternativa correta

Errada. Arquivos de trabalho são arquivos auxiliares para armazenamento de informações


A
temporárias.
Correta. Dados de edição podem ser alterados pelo usuário e também podem ser mantidos por
B um ou mais processos elementares
18
Errada. Embora o arquivo esteja ordenado numa ordem diferente, para o negócio, o arquivo
C
continua tendo os mesmos dados, portanto não é considerado um ALI a parte

D Errada. Há somente uma alternativa correta

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 59
Gabarito das questões práticas – Parte II

QUESTAO /
OPÇÃO JUSTIFICATIVA

A Errada. Em uma EE, devemos contar um DET para a capacidade de tomar uma ação.

B Correta. Segundo o CPM contamos um único DET para a capacidade de tomarmos uma ação.
1
C Errada. Em uma EE, devemos contar um DET para a capacidade de tomar uma ação.

D Errada. Em uma EE, devemos contar um DET para a capacidade de tomar uma ação.

Correta. Para determinarmos a complexidade de CE contamos os DETs e FTRs e consultamos


A
a tabela fornecida no CPM.
Errada. A quantidade de RETs e DETs é utilizada para determinar a complexidade de ALIs e
B AIEs. Não há nenhum processo que utilize FTRs e RETs para determinação de
2 complexidade.
Errada. A quantidade de RETs e DETs é utilizada para determinar a complexidade de ALIs e
C
AIEs.

D Errada. Há pelo menos uma alternativa correta.

Correta. 3 EE baixa = 9 (3 pontos para cada EE); 1 CE baixa = 3; 1 CE média = 4 e 1 ALI baixo =
A
7, somatória = 23.
Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não
B
teremos esta resposta.
3
Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não
C
teremos esta resposta.
Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não
D
teremos esta resposta.
Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não
A
teremos esta resposta.
Correta. 4 EE baixa = 12 (3 pontos para cada EE); 2 EE média = 8 (4 pontos para cada EE); 2
EE alta = 12 (6 pontos para cada EE); 3 AIE baixa = 15 (5 pontos para cada AIE baixa);
2 ALI baixa = 14 (7 pontos para cada ALI); 1 ALI média = 10; 4 CE baixa = 12 (3 pontos
B
para cada CE); 2 CE média = 8 (4 pontos para cada CE); 2 SE média = 10 (5 potnos
4 para cada SE); 2 EE baixa = 6 (3 pontos para cada função de conversão, a qual é
considerada como EE), somatória = 107.
Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não
C
teremos esta resposta.
Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não
D
teremos esta resposta.

A Errada. Ao aplicar a fórmula não teremos esta resposta.


Correta. Basta aplicar a fórmula do projeto de desenvolvimento DFP = (UFP + CFP) X VAF,
B considerando também os pontos de função referentes às funções de conversão.
5 Demonstrando: DFP = 107 X 1,10 = 117,7.
C Errada. Ao aplicar a fórmula não teremos esta resposta.

D Errada. Ao aplicar a fórmula não teremos esta resposta.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 60
Errada. Ele não será contado sempre da mesma forma, pois cada aplicação pode utilizar
A diferentes quantidades de DETs assim a classificação de sua contribuição pode variar
(baixa, média, alta).
B Errada. Ele será contado nas três aplicações, pois as três aplicações o atualizam.
6
C Correta. As três aplicações atualizam o ALI, então esse será contado nas três aplicações.

D Errada. Ele será contado nas três aplicações, pois as três aplicações o atualizam.

Correta. Nesse caso houve alteração da lógica de processamento, sendo assim, deve contar a
A
função alterada, EE Baixa, 3 PF.
Errada. O campo calculado e armazenado não é exibido, assim não atravessa a fronteira da
B aplicação, sendo assim, não pode ser contado como DET. A complexidade da EE é
Baixa, 3 PF.
7
Errada. O campo calculado e armazenado não é exibido, assim não atravessa a fronteira da
C aplicação, sendo assim, não pode ser contado como DET. A complexidade da EE é
Baixa, 3 PF.
Errada. Mesmo que este campo não seja contado como DET, a lógica de processamento da
D
função está sendo alterada.
Correta. Não importa a distribuição dos DETs dentro dos RETs, mas sim o número de DETs e
A RETs. Com essa quantidade, verificando a tabela de complexidade, podemos afirmar
que esta alternativa é verdadeira.
Errada. Não importa a distribuição dos DETs dentro dos RETs, temos 5 RETs dentro de um
B
8 único ALI.
Errada. Não importa a distribuição dos DETs dentro dos RETs, temos 5 RETs dentro de um
C
único ALI.
Errada. Não importa a distribuição dos DETs dentro dos RETs, temos 5 RETs dentro de um
D
único ALI.
A Errada. Este valor refere-se à um AIE de complexidade baixa.
Correto. Segundo as tabelas de complexidade e contribuição, um ALI que tem de 2 a 5 RET e
B
menos de 20 DETs, possui complexidade baixa, ou seja, 7 pontos de função.
9
C Errada. Este valor refere-se à um ALI de complexidade média (vide tabela de contribuição).

D Errada. Este valor refere-se à um ALI de complexidade alta (vide tabela de contribuição).

Correta. No valor do fator de ajuste é de 0,99, multiplicando-se o fator de ajuste por 1.000, temos
A
esta resposta.
Errada. O valor 34 é a soma das 14 características gerais da aplicação e não deve ser usado
B
como fator de ajuste, para isso calculamos o fator de ajuste utilizando o 34.
10
Errada. Se calcularmos o fator de ajusta, temos um fator = 0,99, e para termos esta resposta,
C
deveríamos ter um fator = 0,999.

D Errada. Pelo menos uma resposta acima está correta.

Errada. Durante este processo há a atualização de um ALI, portanto este processo não pode
A
ser uma CE.

B Errada. Uma CE não pode atualizar um ALI durante seu processamento.


11
Correta. Além de disponibilizar informações para fora da fronteira (intenção primária), um ALI é
C
atualizado (função que pode ser executada).
Errada. Neste caso não temos duas funções, pois o processo de marcação do ALI cliente não
D
pode ser feito em outro momento de forma isolada, portanto temos somente a SE.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 61
Correta. Para calcularmos o tamanho funcional da aplicação não devemos considerar as
A
funções de conversão.
Errada. Se somarmos todas as funções (incluindo ou não as funções de conversão) jamais
B
12 chegaremos a este resultado.
Errada. Para a contagem do tamanho funcional da aplicação não devemos considerar as
C
funcionalidades de conversão.
D Errada. Há pelo menos uma alternativa correta.
Errada. Este é a porcentagem, em relação aos pontos de função não ajustados, de variação do
A tamanho funcional em pontos de função ajustados seguindo a tabela de influências do
enunciado.
Errada. Este valor é o fator de ajuste e não o TDI (soma das influencias das características
B
13 gerais).
Correta. O TDI é a soma do grau de influência de cada uma das 14 características gerais da
C
aplicação.

D Errada. Há pelo menos uma alternativa correta.

Errada. Para dimensionarmos AL, contamos os DET mantidos e/ou referenciados pela
A
aplicação.
Errada. Não estamos contando os DET referenciados pela aplicação B. Eles devem ser
B
contados.
14
C Correta. Contamos um DET para cada campo mantido e/ou referenciado para cada aplicação.

D Errada. A aplicação B utiliza alguns dos DETs do arquivo, portanto eles deverão ser contados

Errada. Atribuindo-se o peso de cada transação para suas quantidades e somarmos, não
A
teremos essa resposta.
Correta. 1 AIE Médio = 7 PFs e 3 CEs Alta = 18 PFs (6 PF para cada CE), somando 7 + 18
B
teremos 25 PFs.
15
Errada. Atribuindo-se o peso de cada transação para suas quantidades e somarmos, não
C
teremos essa resposta.

D Errada. Há pelo menos uma alternativa correta.

A Errada. Mensagens diferentes são contadas como um único DET e não como múltiplas funções
B Errada. Contamos um único DET para a possibilidade de retorno de mensagens de erro
16 C Errada. Contamos um único DET para a possibilidade de retorno de mensagens de erro
Correto. Devemos contar um DET para capacidade de envio de mensagem como resposta do
D
sistema para fora da fronteira da aplicação
Errada. Somando os 5 itens de dados, a ação e a mensagem, não chegaremos a essa
A resposta. O total que é calculado com base nas informações não é contado, pois não
atravessa a fronteira da aplicação, ou seja, não é visualizado pelo usuário.
Errada. Somando os 5 itens de dados, a ação e a mensagem, não chegaremos a essa
B resposta. O total que é calculado com base nas informações não é contado, pois não
atravessa a fronteira da aplicação, ou seja, não é visualizado pelo usuário.
17
Correta. Serão 7 DETs: 5 itens de dados, a ação e a mensagem. O total que é calculado com
C base nas informações não é contado, pois não atravessa a fronteira da aplicação, ou
seja, não é visualizado pelo usuário.
Errada. Somando os 5 itens de dados, a ação e a mensagem, não chegaremos a essa
D resposta. O total que é calculado com base nas informações não é contado, pois não
atravessa a fronteira da aplicação, ou seja, não é visualizado pelo usuário.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 62
Correta. Como a intenção do relatório é disponibilizar informações para fora da fronteira da
A
aplicação e ainda possuí cálculos matemáticos no processo, então temos uma SE.
18 B Errada. Uma CE não pode realizar cálculos matemáticos
C Errada. No processo de emissão do relatório, temos apenas uma função de transação.
D Errada. Pelo menos uma das alternativas está correta
A Errada. Está faltando o DET de quantidade de cheques a ser impresso.
B Correta. Na alternativa estão descritos todos os DETs dessa função.
19
C Errada. Foi contado um DET a mais para a exibição de mensagens.
D Errada. Há pelo menos uma alternativa correta.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 63
Caso Prático: Sistema de solicitação de cartão de débito (Gabarito)

Funções de Transação:

1.1 - Solicitar cartão (2 FTRs – Solicitação de cartão e Cadastro de cliente): EE Média – 4 PF


1 – Agência
2 – Conta
3 – Tipo de conta
4 – Senha
5 – Nome do cliente
6 – Mensagem
7 – Ação

1.2 - Alterar solicitação de cartão (1FTR – Solicitação de cartão): EE Baixa – 3 PF


1 – Agência
2 – Conta
3 – Tipo de conta
4 – Senha
5 – Nome do cliente
6 – Mensagem
7 – Ação

Obs.: Embora apenas a senha e o nome possam ser alterados, os demais DETs atravessam a fronteira
da aplicação.

1.3 - Consultar solicitação de cartão (1 FTR – Solicitação de cartão): CE Baixa – 3 PF


1 – Agência
2 – Conta
3 – Tipo de conta
4 – Senha
5 – Nome do cliente
6 – Mensagem
7 – Ação

1.4 - Excluir solicitação de cartão (1 FTR – Solicitação de cartão): EE Baixa – 3 PF


1 – Agência
2 – Conta
3 – Tipo de conta
4 – Mensagem
5 – Ação

2.0 - Emitir relatório de solicitações por agência(2 FTRs - Solicitação de cartão e Agência) SE Média 5 PF
1 – Agência
2 – Nome da Agência
3 – Nome do Estado
4 – Conta
5 – Tipo de conta
6 – Nome do cliente
7 – Data do pedido
8 – Total por agência
9 – Total geral de solicitações
10 – Ação

Obs.: São contados apenas 2 FTRs devido a tabela de ‘Estado’ tratar-se de Code Data.

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 64
Funções de Dados:

1- Solicitação de cartão (ALI – 1 RET): Médio – 7 PF


1 – Agência
2 – Conta
3 – Tipo de conta
4 – Nome do cliente
5 – Senha
6 – Data do pedido

2- Agência (AIE – 1 RET): Baixo – 5 PF


1 – Junção da agência
2 – Nome da agência
3 – Sigla do estado

3- Cadastro de cliente (AIE – 1 RET): Baixa – 5 PF


1 – Agência
2 – Conta
3 – Tipo de conta
4 – Nome do cliente

4- Estado (Code Data): Não conta, pois se trata de Code Data.


1 – Sigla do estado
2 – Nome do estado

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 65
Contagem de pontos de função de desenvolvimento

Formulário de Respostas (Gabarito)

Nome da Função RET Tipo Complexidade


DET / Pontos
FTR ALI AIE EE SE CE Baixa Média Alta

Solicitar cartão de débito (1.1) 7 2 X X 4

Alterar solicitação de cartão (1.2) 7 1 X X 3

Consultar solicitação de cartão (1.3) 7 1 X X 3

Excluir solicitação de cartão (1.4) 5 1 X X 3

Emitir relatório solicitações por agência(2.0) 10 2 X X 5

Solicitação de cartão de débito 6 1 X X 7

Agência 3 1 X X 5

Cadastro de cliente 4 1 X X 5

Estado – CODE DATA – NÃO CONTAR

Pontos de função de desenvolvimento: 35 PF não ajustados

Fórmula utilizada: DFP = ( UFP + CFP ) X VAF

Demonstração do Cálculo:
Contagem ajustada do projeto de desenvolvimento: 45,15 PF DFP = ( UFP + CFP ) X VAF
DFP = ( 35 + 0) X 1,29
DFP = 45,15

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 66
Apostila atualizada em 02.03.2007

Especificações de Publicação

a. Documento: Apostila do Curso APF Básico - Análise de Pontos de Função


b. Válido até: Indeterminado
c. Responsabilidade: 4253-6 Departamento de Desenvolvimento de Sistemas
4636-1 Departamento de Treinamento
d. Seção/ramal do responsável:
Seção 494/GP94 – Métodos e Processos do DDS / Escritório de Métricas
Fone: 4197-2486

Seção 023 - DEP./LIGADAS/TREIN. A DISTANCIA


Fone: 3684-3846 - Lúcia Jaqueline Vilela
e. Restrições de reprodução:
Restrito aos participantes do Curso APF Análise de Pontos de Função

f. Público alvo: Departamento de Desenvolvimento de Sistemas e usuários da ferramenta em


outros Departamentos da Organização (requisitantes).
Agências
Departamentos
x Usuários específicos
Todos os usuários

g. Classificação:
Confidencial
x Uso interno
Uso público

Criado no MS Word 97 e convertido em PDF

Depto. Desenv. de Sistemas – Apostila Treinet Análise de Pontos de Função vrs. 1.1 Pág. 67

Das könnte Ihnen auch gefallen