ApostilaAPF

67
TreiNet APF Análise de Pontos de Função

Transcript of ApostilaAPF

Page 1: ApostilaAPF

TreiNet APF Análise de Pontos de Função

Page 2: ApostilaAPF

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

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.

Page 3: ApostilaAPF

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

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.

Page 4: ApostilaAPF

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

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.

Page 5: ApostilaAPF

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

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 – 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

1

2 3

4

5

6 7

8

9

10

Page 6: ApostilaAPF

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

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.

Page 7: ApostilaAPF

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

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.

Page 8: ApostilaAPF

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

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.

Page 9: ApostilaAPF

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

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.

Page 10: ApostilaAPF

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

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.

Page 11: ApostilaAPF

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

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.

Page 12: ApostilaAPF

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

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:

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.

Fundo de Garantia

Fundo de Garantia)

Page 13: ApostilaAPF

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

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.

Page 14: ApostilaAPF

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

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.

Page 15: ApostilaAPF

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

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.

Page 16: ApostilaAPF

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

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.

Page 17: ApostilaAPF

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

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.

Page 18: ApostilaAPF

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

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.

Page 19: ApostilaAPF

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

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.

Page 20: ApostilaAPF

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

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;

Page 21: ApostilaAPF

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

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.

Page 22: ApostilaAPF

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

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 Agência Incluir Cliente Alterar Cliente Excluir Cliente Consultar Cliente

ALI AIE EE EE EE CE

Agora, como pontuar estas funções em Pontos de Função? No próximo módulo você aprenderá a fazer isso.

Page 23: ApostilaAPF

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

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.

Page 24: ApostilaAPF

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

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é!

Page 25: ApostilaAPF

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

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

Page 26: ApostilaAPF

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

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.

Page 27: ApostilaAPF

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

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

Page 28: ApostilaAPF

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

• 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.

Page 29: ApostilaAPF

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

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.

Page 30: ApostilaAPF

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

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

Page 31: ApostilaAPF

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

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.

Page 32: ApostilaAPF

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

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 1 2 3 4 5

Nenhuma influência Mínima

Moderada Média

Significativa 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.”

Page 33: ApostilaAPF

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

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.

Page 34: ApostilaAPF

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

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.

Page 35: ApostilaAPF

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

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.

Page 36: ApostilaAPF

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

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.

Page 37: ApostilaAPF

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

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.

Page 38: ApostilaAPF

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

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.

Page 39: ApostilaAPF

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

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

Page 40: ApostilaAPF

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

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

Page 41: ApostilaAPF

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

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.

Page 42: ApostilaAPF

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

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)

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.

Determinaro Tipo deContagem

Identificaro Escopo

daContagem

e aFronteira

daAplicação

ContarFunções deTransação

ContarFunções de

DadosDeterminar a

Contagemde Pontos deFunção Não-

Ajustados

Determinar oValor doFator deAjuste

CalcularPontos de

FunçãoAjustados

Page 43: ApostilaAPF

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

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.

Page 44: ApostilaAPF

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

Contagem de lista Drop Down Seleção de item através da exibição em uma lista. Exemplo 1: 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. 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.

Selecione a cor:

Azul Amarela Laranja Roxo Verde Marrom

Estado:

AC – AcreAP – Amapá AM – Amazonas CE – Ceará

GO – Goiás

Page 45: ApostilaAPF

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

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.

Page 46: ApostilaAPF

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

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.

Page 47: ApostilaAPF

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

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.

Page 48: ApostilaAPF

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

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.

Page 49: ApostilaAPF

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

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.

Page 50: ApostilaAPF

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

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.

Page 51: ApostilaAPF

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

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.

Page 52: ApostilaAPF

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

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.

Page 53: ApostilaAPF

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

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).

Page 54: ApostilaAPF

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

________________________________________________________________________

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

________________________________________________________________________

Page 55: ApostilaAPF

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

DFD do Sistema de solicitação de cartão de débito

Solicitar cartão 1.1

Alterar solicitação 1.2

Consultar solicitação 1.4

Excluir solicitação 1.3

Emitir relatório de solicitações

2.0

Solicitação de cartão

Agência

Cadastro de cliente

Estado

Page 56: ApostilaAPF

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

Contagem de pontos de função de desenvolvimento

Formulário de Respostas

Tipo

Complexidade

Nome da Função

DET

RET

/ FTR

ALI

AIE

EE

SE

CE

Baixa

Média

Alta

Pontos

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

Page 57: ApostilaAPF

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

Gabarito das questões práticas – Parte I QUESTÃO / OPÇÃO JUSTIFICATIVA

A Errada. O usuário que descreve as necessidades de negócio não possui um conhecimento técnico que o permita descrever o sistema numa linguagem de sistemas.

B Errada. Qualquer linguagem é muito abrangente. Pode incluir linguagem de sistema, o que torna a resposta incorreta.

C Correta. Quando o usuário descreve o sistema para atender uma necessidade de negócio, ele descreve numa linguagem que lhe seja comum.

1

D Errada. Há pelo menos uma resposta correta.

A Correta. Quando avaliamos o que é disponibilizado, estamos analisando as funcionalidades que são disponibilizadas ao usuário.

B Errada. APF não considera tecnologia, somente funções independentemente da tecnologia utilizada.

C Errada. Num projeto de desenvolvimento de um novo sistema, podemos ter as funções que

convertem os dados do antigo sistema para o novo sistema. Estas funções devem ser consideradas

2

D Errada. Embora a alternativa A esteja correta, a alternativa C está errada.

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

B Errada. Pela definição de DET, ele deve ser único e não repetido.

C Errada. Estes dados são requisitos técnicos e, portanto não devem ser considerados como DETs

3

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

C Errada. Segundo o CPM, o propósito da contagem influencia no posicionamento da fronteira 4

D Errada. É ao contrário, o propósito da contagem é quem influencia o escopo da contagem

A Errada. Numa contagem de aplicação, se uma função sofreu alteração anterior à contagem de

aplicação, esta deve ser considerada, pois trata-se de uma funcionalidade do sistema que está instalado

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

C Correta. Uma função de conversão não faz parte das funcionalidades de uma aplicação, mas devem ser consideradas no projeto de desenvolvimento

5

D Errada. Ambas as alternativas estão incorretas

A Correta. Esta é a definição de AIE dada pelo CPM

B Errada. Por definição, um AIE não pode ser mantido pela aplicação que está sendo contada, se isso acontecer, teremos um ALI

C Errada. Se o arquivo é mantido dentro da fronteira da aplicação, não importa que ele é referenciado em outra parte da aplicação, ele será um ALI

6

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

Page 58: ApostilaAPF

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

A Correta. Esta alternativa está incompleta, mas dentre as quatro, é a que oferece mais

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

B Errada. Por definição, uma CE deve referenciar pelo menos um ALI ou AIE, e como arquivos do tipo code data não são considerados como ALI ou AIE, esta tela não pode ser uma CE

C Errada. Este tipo de situação é considerado nas características gerais da aplicação, e não na mensuração do tamanho funcional

7

D Errada. Não é característica de uma CE a derivação de dados. Se a função o fizesse, seria uma Saída Externa

A Errada. No caso de um ALI compartilhado, ele pode ter vários itens de dados que não são

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

B Errada. Alguns itens de dados podem somente ser referenciados por processos, portanto são utilizados pela aplicação e devem ser considerados no processo de mensuração

C Errada. Por ser um ALI, itens de dados devem ser mantidos por um ou mais processos

elementares dentro da fronteira da aplicação, e estes itens de dados devem ser considerados na mensuração deste arquivo

8

D Correta. Podemos ter um ALI que mantemos somente alguns campos e referenciamos outros.

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

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

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

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

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

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

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

A Correta. No escopo da contagem temos, ou pelo menos devemos, ter todas as funcionalidades que serão consideradas no processo de contagem de pontos de função

B Errado. O escopo é determinado pelo propósito da contagem e não tem nada a ver com o tipo de contagem

C Errada. O que pode influenciar no posicionamento da fronteira é o propósito da contagem, que também define o escopo

12

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

Page 59: ApostilaAPF

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

A Errada. Dados da aplicação (business data) devem ser mantidos num ALI da aplicação que esta sendo contada

B Errada. Se temos algum grupo de dados que são mantidos pelos usuários, este grupo de dados deve ser um ALI

C Correta. JCL não é considerado em APF pois ele é uma forma de implementação de funções de transação

13

D Errada. Assim como a alternativa B, se um grupo de dados é mantido pelo usuário, este grupo 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

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

D Correta. Todas as afirmativas acima estão corretas

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

B Errada. Um AIE não pode ser mantido por um processo elementar, ele deve ser somente

referenciado. Se o processo elementar mantiver o AIE, ele deve ser considerado como um ALI

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

15

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

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

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

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

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

A Errada. Esta intenção primária caracteriza uma SE ou CE e não uma EE, independentemente se ela seja única ou não

B Correta. A lógica de processamento deve ser única, além dos dados e os arquivos referenciados.

C Errada. Arquivos que são somente referenciados não podem ser mantidos por um processo elementar

17

D Errada. Há pelo menos uma alternativa correta

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

B Correta. Dados de edição podem ser alterados pelo usuário e também podem ser mantidos por

um ou mais processos elementares

C Errada. Embora o arquivo esteja ordenado numa ordem diferente, para o negócio, o arquivo continua tendo os mesmos dados, portanto não é considerado um ALI a parte

18

D Errada. Há somente uma alternativa correta

Page 60: ApostilaAPF

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

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.

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

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

A Correta. Para determinarmos a complexidade de CE contamos os DETs e FTRs e consultamos a tabela fornecida no CPM.

B Errada. A quantidade de RETs e DETs é utilizada para determinar a complexidade de ALIs e

AIEs. Não há nenhum processo que utilize FTRs e RETs para determinação de complexidade.

C Errada. A quantidade de RETs e DETs é utilizada para determinar a complexidade de ALIs e AIEs.

2

D Errada. Há pelo menos uma alternativa correta.

A Correta. 3 EE baixa = 9 (3 pontos para cada EE); 1 CE baixa = 3; 1 CE média = 4 e 1 ALI baixo = 7, somatória = 23.

B Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não teremos esta resposta.

C Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não teremos esta resposta.

3

D Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não teremos esta resposta.

A Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não teremos esta resposta.

B

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 para cada CE); 2 CE média = 8 (4 pontos para cada CE); 2 SE média = 10 (5 potnos para cada SE); 2 EE baixa = 6 (3 pontos para cada função de conversão, a qual é considerada como EE), somatória = 107.

C Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não teremos esta resposta.

4

D Errada. Atribuindo-se o peso de cada transação para a sua quantidade e somarmos, não teremos esta resposta.

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

B Correta. Basta aplicar a fórmula do projeto de desenvolvimento DFP = (UFP + CFP) X VAF,

considerando também os pontos de função referentes às funções de conversão. Demonstrando: DFP = 107 X 1,10 = 117,7.

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

5

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

Page 61: ApostilaAPF

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

A Errada. Ele não será contado sempre da mesma forma, pois cada aplicação pode utilizar

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.

C Correta. As três aplicações atualizam o ALI, então esse será contado nas três aplicações.

6

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

A Correta. Nesse caso houve alteração da lógica de processamento, sendo assim, deve contar a função alterada, EE Baixa, 3 PF.

B Errada. O campo calculado e armazenado não é exibido, assim não atravessa a fronteira da

aplicação, sendo assim, não pode ser contado como DET. A complexidade da EE é Baixa, 3 PF.

C Errada. O campo calculado e armazenado não é exibido, assim não atravessa a fronteira da

aplicação, sendo assim, não pode ser contado como DET. A complexidade da EE é Baixa, 3 PF.

7

D Errada. Mesmo que este campo não seja contado como DET, a lógica de processamento da função está sendo alterada.

A Correta. Não importa a distribuição dos DETs dentro dos RETs, mas sim o número de DETs e

RETs. Com essa quantidade, verificando a tabela de complexidade, podemos afirmar que esta alternativa é verdadeira.

B Errada. Não importa a distribuição dos DETs dentro dos RETs, temos 5 RETs dentro de um único ALI.

C Errada. Não importa a distribuição dos DETs dentro dos RETs, temos 5 RETs dentro de um único ALI.

8

D Errada. Não importa a distribuição dos DETs dentro dos RETs, temos 5 RETs dentro de um único ALI.

A Errada. Este valor refere-se à um AIE de complexidade baixa.

B Correto. Segundo as tabelas de complexidade e contribuição, um ALI que tem de 2 a 5 RET e menos de 20 DETs, possui complexidade baixa, ou seja, 7 pontos de função.

C Errada. Este valor refere-se à um ALI de complexidade média (vide tabela de contribuição). 9

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

A Correta. No valor do fator de ajuste é de 0,99, multiplicando-se o fator de ajuste por 1.000, temos esta resposta.

B Errada. O valor 34 é a soma das 14 características gerais da aplicação e não deve ser usado como fator de ajuste, para isso calculamos o fator de ajuste utilizando o 34.

C Errada. Se calcularmos o fator de ajusta, temos um fator = 0,99, e para termos esta resposta, deveríamos ter um fator = 0,999.

10

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

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

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

C Correta. Além de disponibilizar informações para fora da fronteira (intenção primária), um ALI é atualizado (função que pode ser executada).

11

D Errada. Neste caso não temos duas funções, pois o processo de marcação do ALI cliente não pode ser feito em outro momento de forma isolada, portanto temos somente a SE.

Page 62: ApostilaAPF

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

A Correta. Para calcularmos o tamanho funcional da aplicação não devemos considerar as funções de conversão.

B Errada. Se somarmos todas as funções (incluindo ou não as funções de conversão) jamais chegaremos a este resultado.

C Errada. Para a contagem do tamanho funcional da aplicação não devemos considerar as funcionalidades de conversão.

12

D Errada. Há pelo menos uma alternativa correta.

A Errada. Este é a porcentagem, em relação aos pontos de função não ajustados, de variação do

tamanho funcional em pontos de função ajustados seguindo a tabela de influências do enunciado.

B Errada. Este valor é o fator de ajuste e não o TDI (soma das influencias das características gerais).

C Correta. O TDI é a soma do grau de influência de cada uma das 14 características gerais da aplicação.

13

D Errada. Há pelo menos uma alternativa correta.

A Errada. Para dimensionarmos AL, contamos os DET mantidos e/ou referenciados pela aplicação.

B Errada. Não estamos contando os DET referenciados pela aplicação B. Eles devem ser contados.

C Correta. Contamos um DET para cada campo mantido e/ou referenciado para cada aplicação. 14

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

A Errada. Atribuindo-se o peso de cada transação para suas quantidades e somarmos, não teremos essa resposta.

B Correta. 1 AIE Médio = 7 PFs e 3 CEs Alta = 18 PFs (6 PF para cada CE), somando 7 + 18 teremos 25 PFs.

C Errada. Atribuindo-se o peso de cada transação para suas quantidades e somarmos, não teremos essa resposta.

15

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 C Errada. Contamos um único DET para a possibilidade de retorno de mensagens de erro 16

D Correto. Devemos contar um DET para capacidade de envio de mensagem como resposta do sistema para fora da fronteira da aplicação

A Errada. Somando os 5 itens de dados, a ação e a mensagem, não chegaremos a essa

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.

B Errada. Somando os 5 itens de dados, a ação e a mensagem, não chegaremos a essa

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.

C Correta. Serão 7 DETs: 5 itens de dados, a ação e a mensagem. 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

D Errada. Somando os 5 itens de dados, a ação e a mensagem, não chegaremos a essa

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.

Page 63: ApostilaAPF

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

A Correta. Como a intenção do relatório é disponibilizar informações para fora da fronteira da

aplicação e ainda possuí cálculos matemáticos no processo, então temos uma SE. 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.

18

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.

C Errada. Foi contado um DET a mais para a exibição de mensagens. 19

D Errada. Há pelo menos uma alternativa correta.

Page 64: ApostilaAPF

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

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.

Page 65: ApostilaAPF

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

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

Page 66: ApostilaAPF

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

Contagem de pontos de função de desenvolvimento

Formulário de Respostas (Gabarito)

Tipo

Complexidade

Nome da Função

DET

RET

/ FTR

ALI

AIE

EE

SE

CE

Baixa

Média

Alta

Pontos

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

Contagem ajustada do projeto de desenvolvimento:

45,15 PF

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

Page 67: ApostilaAPF

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

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