Curso de APF - Apostila

111
APOSTILA DE APF Métricas Informática Ltda

Transcript of Curso de APF - Apostila

Page 1: Curso de APF - Apostila

APOSTILA DE APF

Métricas Informática Ltda

Page 2: Curso de APF - Apostila

1 Introdução à Análise de Pontos de Função...................................................6

1.1 Definição..........................................................................................................................61.2 Histórico...........................................................................................................................61.3 Outros Métodos de Medição Funcional.............................................................................71.4 Objetivos..........................................................................................................................81.5 Benefícios.........................................................................................................................91.6 Visão do Usuário.............................................................................................................111.7 A Visão do Usuário..........................................................................................................111.8 Definição de Contagem..................................................................................................121.9 Resumo..........................................................................................................................13

2 Iniciando o processo de contagem..............................................14

2.1 Propósito da Contagem..................................................................................................142.2 Primeiro passo: Determinar o Tipo de Contagem...........................................................152.3 Escopo da Contagem......................................................................................................162.4 Fronteira da Aplicação....................................................................................................172.5 Resumo..........................................................................................................................19

3 Funções de Dados.....................................................................20

3.1 Introdução......................................................................................................................203.2 Regras de identificação..................................................................................................203.3 Informações de Controle................................................................................................213.4 Processo Elementar........................................................................................................213.5 Tipos de Funções de dados............................................................................................213.6 ALI – Arquivo Lógico Interno...........................................................................................223.7 AIE – Arquivo Interface Externa......................................................................................233.8 Classificando Arquivos Lógicos.......................................................................................233.9 RLR – Registro Lógico Referenciado...............................................................................243.10Regras de contagem de RLR.........................................................................................243.11DER – Dado Elementar Relacionado...............................................................................243.12Regras de contagem de DER..........................................................................................253.13Identificação de Complexidade e Cálculo de Pontuação.................................................253.14Resumo..........................................................................................................................27

4 Funções de Transação...............................................................28

4.1 Introdução......................................................................................................................284.2 Lógica de Processamento...............................................................................................284.3 Tipos de função transacional..........................................................................................304.4 Entradas Externas..........................................................................................................304.5 Regras de identificação de EEs.......................................................................................314.6 CE - Consulta Externa....................................................................................................314.7 Regras de identificação de CEs......................................................................................314.8 SE - Saída Externa.........................................................................................................324.9 Regras de identificação de SEs.......................................................................................324.10Classificando Funções transacionais...............................................................................344.11Identificação de complexidade e cálculo de pontuação..................................................354.12Regras para determinação de processo elementar único...............................................364.13Funções transacionais X lógicas de processamento.......................................................364.14Resumo..........................................................................................................................37

5 Fator de Ajuste.........................................................................39

5.1 Determinação do Fator de Ajuste...................................................................................395.2 Comunicação de Dados..................................................................................................405.3 Funções distribuídas.......................................................................................................425.4 Performance...................................................................................................................445.5 Configuração do equipamento........................................................................................455.6 Volume de transações....................................................................................................47

Apostila para Participante Página 2 de 80

Page 3: Curso de APF - Apostila

5.7 Entrada de dados on-line................................................................................................485.8 Interface com o usuário..................................................................................................495.9 Atualização on-line.........................................................................................................515.10Processamento complexo...............................................................................................525.11Reusabilidade.................................................................................................................535.12Facilidade de implantação..............................................................................................545.13Facilidade operacional....................................................................................................555.14Múltiplos locais...............................................................................................................575.15Facilidade de mudanças (flexibilidade)...........................................................................585.16Calculando o Fator de Ajuste..........................................................................................605.17Resumo..........................................................................................................................61

6 Calculando Pontos de Função.....................................................62

6.1 Calcular número de pontos de Função Ajustados...........................................................626.2 Projeto de Desenvolvimento...........................................................................................626.3 Projeto de Manutenção...................................................................................................636.4 Contagem de Aplicações em Produção...........................................................................666.5 Estimativa do esforço de trabalho..................................................................................676.6 Interação da Metodologia desenvolvimento de sistemas com o Processo de Estimativa686.7 Resumo..........................................................................................................................70

7 Práticas de Contagem................................................................71

7.1 Dados de negócios (Business data)................................................................................717.2 Dados de Referência (reference data)............................................................................727.3 Dados de código (Code data).........................................................................................737.4 Determinação de RLRs e Arquivos lógicos via dependência entre tabelas.....................757.5 Resumo..........................................................................................................................76

Apostila para Participante Página 3 de 80

Page 4: Curso de APF - Apostila

LISTA DE SIGLAS

Sigla Significado

AIE Arquivo de Interface Externa

ALI Arquivo Lógico Interno

ALR Arquivo Lógico Referenciado

APF Análise de Pontos de Função

BFPUG Brazilian Function Point Users Group

CE Consulta Externa

CFPS Certified Function Point Specialist

CPM Counting Practices Manual

DER Dado Elementar Referenciado

DET Data Element Type

DI Degree of Influence

EE Entrada Externa

EFPA Enhacement Function Point – NESMA

EI External Input

EIF External Interface File

EO External Output

EQ External Inquiry

FFP Full Function Point

FPA Function Point Analysis

FTR File Type Referenced

GSC General System Characteristics

IFPUG Internacional Function Point Users Group

ILF Internal Logical File

MKII Function Point Analyst

NESMA Netherlands Software Metrics Users Association

RET Record Element Type

Apostila para Participante Página 4 de 80

Page 5: Curso de APF - Apostila

LISTA DE SIGLAS

Sigla Significado

RLR Registro Lógico Referenciado

SE Saída Externa

TDI Total Degree of Influence

UCP Use Case Point

Apostila para Participante Página 5 de 80

Citação

IFPUG não é o único filho do FPA, sendo que existem outros (E.G. MARKII, COSMIC –FFP)

Page 6: Curso de APF - Apostila

1 INTRODUÇÃO À ANÁLISE DE PONTOS DE FUNÇÃO

1.1 Definição

Análise de Pontos de Função é uma técnica para medir o tamanho funcional de um software do ponto de vista do usuário.

1.2 Histórico

- 1979 – Allan Albrecht (IBM)

No final dos anos 70, Allan J. Albrecht (na época trabalhando na IBM), começou procurando analisar sistemas, buscando identificar os fatores críticos que determinassem o tamanho de um sistema e conseqüentemente uma estimativa do esforço gasto para desenvolvê-lo. Após analisar centenas de programas, traçou os fundamentos da técnica de APF – Análise de Pontos de Função.

- 1986 – IFPUG

No início de 1986, um grupo de 12 pessoas reuniu-se em Toronto para discutir experiências sobre o uso de FPA; nascia o IFPUG. Seis meses depois, no final de 1986, ocorria a segunda reunião em Chicago com a participação de 45 profissionais de 25 empresas.Com a disseminação do uso da técnica começaram a surgir outras aplicações. Verificou-se que a técnica de APF, poderia ser usada para medir produtividade de desenvolvimento, a qualidade de sistemas através do acompanhamento de índice de erros por pontos de função etc.O IFPUG realiza no Brasil, semestralmente, a prova de Certificação em Análise de Pontos de Função.

Apostila para Participante Página 6 de 80

IMPORTANTE: Esta técnica é independente de aspectos de implementação tecnológica.

DICA: Para fazer o exame de certificação - CFPS, você deverá ser filiado ao IFPUG, individualmente ou através de filiação coorporativa.

Page 7: Curso de APF - Apostila

- Padronização da APF

O IFPUG criou um grupo específico para cuidar da padronização da APF e controlar sua evolução. Assim sendo, em 1990 foi aprovada a versão 3.0 do Manual de Contagem (CPM), em 1994, a versão 4.0, sendo atualmente 4.2.

- 1998 – BFPUG

O BFPUG é o chapter do IFPUG no Brasil. Esse grupo é a evolução de um grupo de

usuários do Rio de Janeiro. Foi constituído em 1998 e possui centenas deassociados.

1.3 Outros Métodos de Medição Funcional

- UCP – Use Case PointA técnica de estimativa por Pontos de Caso de Uso (PCU) foi proposta em 1993 por Gustav Karner, da Objectory (hoje, Rational Software). Ela baseia-se em dois métodos bastante utilizados - o mecanismo de Pontos de Função e uma metodologia conhecida como Mk II. Não existe um grupo de usuários ou organização responsável pela padronização ou evolução do método PCU e a bibliografia sobre o assunto é escassa.

- EFPA – Enhacement Function Point – NESMA

A NESMA - Netherlands Software Metrics users Association – associação de métricas da Holanda, foi fundada em Maio de 1989. Suas ações e objetivos são bem próximos aos do IFPUG, inclusive com uma colaboração muito próxima entre as duas organizações. Entretanto, a NESMA mantém seu próprio manual de contagem, atualmente na versão 2.0, cuja primeira versão em 1990 foi baseada no manual do IFPUG. Ambos manuais utilizam a mesma filosofia, conceitos, termos e regras, com algumas diretrizes diferentes, o que permite uma contagem de pontos de função de um projeto de desenvolvimento ou de uma aplicação com resultados bem próximos. Entretanto, ambas organizações possuem abordagens distintas para a aplicação da análise de pontos de função em projetos de melhoria.

Apostila para Participante Página 7 de 80

SAIBA MAIS: Você sabia, que o BFPUG, através de sua página na Internet, fornece diversos recursos como agenda de eventos, artigos, links interessantes, informações sobre certificação (CFPS) e um forum de discusão? Acesse Já www.bfpug.com.br

Page 8: Curso de APF - Apostila

- FFP – Full Function Points – COSMIC

Em 1997, um grupo de pesquisadores (Denis St-Pierre, Marcela Maya, Alain Abran, Jean Marc Desharnais e Pierra Bourque), desenvolveu um novo método de medição funcional para sistemas de tempo real, denominado FFP Full Function Points. Em 1998, foi feito um refinamento do FFP, denominado COSMIC – Common Software Measurement International Consortium. Apesar de pouco disseminada, quanto ao do IFPUG, observa-se que muita pesquisa com esse método esta sendo realizada.

- MKII – Function Point Analysis – UKSMA

Mark II ou MKII, foi desenvolvida inspirada na proposta de Albrecht, sendo que sua utilização, continua restrita ao Reino Unido.

1.4 Objetivos

A técnica tem como objetivos primários:

- Medir o software através da quantificação das funcionalidades providas para o usuário tendo como base primária sua visão lógica sobre o negócio;

- Medir a funcionalidade que o usuário solicita e recebe;

- Medir o desenvolvimento e manutenção de software, independentemente da tecnologia utilizada para sua implementação.

Além desses objetivos, o processo de contagem de pontos de função deve ser:

- Simples o suficiente para minimizar o trabalho adicional envolvido no processo de medição;

- Uma medida consistente entre vários projetos e organizações.

Apostila para Participante Página 8 de 80

SAIBA MAIS: No Brasil, foi desenvolvido o PFI – Ponto de Função de Implementação, que tem como objetivo capturar o tamanho da aplicação a partir do ponto de vista do implementador.

Page 9: Curso de APF - Apostila

1.5 Benefícios

Como vantagens pode-se citar: a estimativa é feita em função da visão do usuário; facilidade de aprendizagem e aplicação técnica, independência de tecnologia, apoiar e acompanhar a avaliação de produtividade e qualidade de projetos de software, possibilitar a coleta de dados para obtenção de diversos indicadores de acompanhamento, aplicabilidade nas diversas fases de desenvolvimento, facilidade de cálculo para medição de manutenções, poder estimar uma aplicação antes de a construirmos, criar um índice de medição de aplicações para comparar o previsto com o realizado.

Segue mais alguns benefícios de se utilizar Análise de Pontos de Função, sendo:

- Estimar casos de teste

Muitas tentativas têm sido feitas para estabelecer uma relação entre pontos de função e o esforço associado ao desenvolvimento de software. Grande parte da dificuldade no estabelecimento entre os pontos de função e o ciclo de vida inteiro do software.

- Entender as faixas de Produtividade Amplas

Taxas de produtividade inconsistentes entre diferentes projetos podem ser uma indicação de que não está sendo seguido um processo padrão. A produtividade é definida como a razão entradas / saídas. No caso de software, a produtividade é definida como a quantidade requerida para entregar um certo conjunto de funcionalidades (medidas em pontos de função).Muitas organizações sofrem de taxas de produtividade variando em mais ou menos 100 por cento. Isto é verdade mesmo quando essas organizações contam os pontos de função corretamente e registram consistentemente os tempos gastos. As organizações reclamam freqüentemente que análise de produtividade não oferece retorno. Na maioria das organizações, o software é criado de muitas formas diferentes, com a utilização de diversos processos (e, em muitos casos nenhum processo). Se o software for desenvolvido de maneira inconsistente, as taxas de produtividade também serão inconsistentes. O mesmo serve para qualquer processo produtivo. Grandes variações de produtividade entre diferentes projetos indicam que não está sendo seguido um processo padrão. À medida que as equipes de desenvolvimento se alinham com um processo padronizado, as faixas de produtividade deverão se estabilizar e tornarem-se mais consistentes.

Apostila para Participante Página 9 de 80

DICA: Para se medir produtividade, vários fatores devem ser levados em conta, sendo: Metodologia, Ferramentas, linguagens de programação, Plataforma tecnológica, Experiência dos desenvolvedores, Expectativa de qualidade, Nacionalidade, Complexidade e inovação para resolução do problema, dentre outros.

Page 10: Curso de APF - Apostila

- Entender o aumento de escopo

A Análise de Pontos de Função provê um mecanismo para acompanhar e monitorar o aumento do escopo (“scope creep”) de um projeto. As contagens de Pontos de Função ao fim do levantamento de requisitos, análise, projetos e implementação podem ser comparadas. Se o número de pontos de função tiver aumentado, pode-se assumir que o projeto tornou-se mais bem definido, ou realmente cresceu de tamanho. A quantidade acrescida é um indicador da qualidade do levantamento de requisitos e/ou comunicação à equipe do projeto.

- Ajudar a calcular o custo real do software

A maioria das organizações calcula o custo do software sendo menor que o real, por larga margem. O verdadeiro custo do software é a soma de todos os custos durante a vida do projeto, incluindo-se ai todos os custos esperados de melhoria e manutenção. De fato, o cálculo real seria o valor presente de todos os desenvolvimentos, melhorias e manutenções no decorrer da vida do projeto. Este tipo de análise demonstra a recompensa de se investir na fase inicial da análise e projeto. Quanto mais se investir nas fases iniciais, mais será economizado na redução de custos de manutenção e melhoria. É importante ser capaz de calcular o custo unitário, a fim de avaliar o investimento inicial e compará-lo aos gastos futuros. O custo unitário pode ser em horas / PF ou $ / PF.

- Ajudar a estimar o custo, cronograma e esforço

O sucesso nas estimativas com a utilização de pontos de função baseia-se em diversas técnicas de estimativa: De cima para baixo (“top Down”), Analogia e opinião de especialista.A estimativa de cima para baixo, entre elas é uma técnica que estima o cronograma inteiro, assim como o custo e o esforço, utilizando parâmetros de uso genérico, baseados em dados históricos de benchmark, com a utilização de técnicas de analogia.Opinião de especialistas pode ser obtida através de especialistas com experiência em projetos semelhantes ou na utilização de pontos de função.

- Ajudar em negociações contratuais

Os gerentes de contratos podem utilizar seu conhecimento de pontos de função para criar e gerenciar projetos com base no preço por ponto de função.Podem ser utilizados para ajudar a especificar os principais produtos a serem recebidos por um fornecedor, assegurar a entrega dos níveis

Apostila para Participante Página 10 de 80

Page 11: Curso de APF - Apostila

adequados de funcionalidade e desenvolver medidas objetivas de eficácia em custo e qualidade.

Resumindo, a análise de pontos de função provê o melhor método para avaliação do tamanho de um projeto de software e para seu gerenciamento durante o desenvolvimento. É, por dois motivos, o melhor método para gerenciar riscos: Primeiro o cliente (usuário / especificador) pode aceitar mais facilmente o risco para um dado tamanho de projeto de software, Segundo o desenvolvedor pode aceitar mais facilmente o risco para o custo de produção.Adesão a uma forma consistente de contagem de pontos de função, otimiza este relacionamento e facilita desenvolvimento dentro do prazo e orçamento estabelecidos.

1.6 Visão do Usuário

Representa uma descrição formal das necessidades de negócio do usuário na linguagem do mesmo. Os desenvolvedores traduzem a informação do usuário para uma linguagem tecnológica, com objetivo de prover uma solução.

1.7 A Visão do Usuário

- É uma descrição das funções de negócio;

- É aprovada pelo usuário;

- Pode ser usada para contar pontos de função;

- Pode variar de forma física:

Catálogo de transações; Propostas; Documentação de requisitos; Especificações externas; Especificações detalhadas; Manual do usuário

Apostila para Participante Página 11 de 80

Page 12: Curso de APF - Apostila

1.8 Definição de Contagem

- Indicativa

A contagem indicativa de pontos de função padronizada pela NESMA, é um método utilizado para gerar a estimativa inicial do tamanho funcional do projeto, no qual são identificados os grupos lógicos de dados relativos a natureza do negócio, segundo a perspectiva do usuário.

- Estimada

A contagem estimada de pontos de função, padronizada pela NESMA, é um método utilizado para gerar estimativa inicial do tamanho funcional do projeto, no qual são identificados os grupos lógicos de dados e transações relativos á natureza do negócio, segundo a perspectiva do usuário.

- Detalhada

A contagem detalhada de pontos de função, padronizada pelo IFPUG, é um método utilizado para calcular o tamanho funcional do projeto, desde que existam dados detalhados do modelo de dados e das especificações funcionais, no qual são identificados os grupamentos de dados e funções relativos à natureza do negócio, segundo a perspectiva do usuário.

Apostila para Participante Página 12 de 80

ATENÇÃO: Alguns pesquisadores apontam para uma variação de +- 65%, para Contagem Indicativa e de +- 35%, para Contagem Estimada e de +- 10%, para Contagem Detalhada.

Page 13: Curso de APF - Apostila

1.9 Resumo

Análise de pontos de função – Técnica para medir o tamanho funcional de um software do ponto de vista do usuário.

Objetivos:- Medir o software através da quantificação das funcionalidades

providas para o usuário tendo com base primária sua visão lógica sobre o negócio;

- Medir a funcionalidade que o usuário solicita e recebe;- Medir o desenvolvimento e manutenção de software,

independentemente da tecnologia utilizada para sua implementação.

Visão do usuário – Representa a descrição formal das necessidades de negócio do usuário na linguagem do mesmo. É uma descrição das funções de negócio, é aprovada por ele, pode ser utilizada para contar pontos de função e pode variar de forma física.

Contagem indicativa – É um método utilizado para gerar uma estimativa inicial do tamanho funcional do projeto, no qual são identificados os grupamentos de dados relativos a natureza do negócio.

Contagem estimada – É um método utilizado para gerar estimativa inicial do tamanho funcional do projeto, na qual são identificados tanto os grupos lógicos de dados como transações relativas á natureza do negócio.

Contagem detalhada – É um método utilizado para calcular o tamanho funcional do projeto, desde que existam dados detalhados do modelo de dados e das especificações funcionais, no qual são identificados os grupos lógicos de dados e funções relativos a natureza do negócio, segundo a perspectiva do usuário.

Apostila para Participante Página 13 de 80

Page 14: Curso de APF - Apostila

2 INICIANDO O PROCESSO DE CONTAGEM

2.1 Propósito da Contagem

Definição:

- O propósito da contagem de pontos de função é fornecer uma resposta a um problema de negócio.

O propósito da contagem:

- Determina algumas premissas para o processo de contagem;

- Determina o tipo de contagem: projeto de desenvolvimento, projeto de melhoria ou aplicação;

- Determina o escopo da contagem, a fim de que se obtenha a resposta para o problema de negócio em análise;

- Afeta o posicionamento da fronteira da aplicação;

Apostila para Participante Página 14 de 80

IMPORTANTE: Caso a contagem, possa no futuro sofrer algum tipo de auditoria, é necessário que cada etapa do processo de contagem seja bem documentada para facilitar a tarefa.

Page 15: Curso de APF - Apostila

2.2 Primeiro passo: Determinar o Tipo de Contagem

Processo de Contagem

Tipos de Contagem:

- Projeto de Desenvolvimento

Esta contagem mede as funções providas ao usuário por um projeto de desenvolvimento do software, ao final do projeto.

- Projeto de Manutenção (Melhoria)

Esta contagem mede as modificações de uma aplicação existente que adicionam, alteram ou excluem as funções originalmente disponibilizadas.

- Projeto de Aplicação (baseline)

Esta contagem mede as funções atualmente providas ao usuário pela aplicação. A quantidade de pontos de função é inicializada, quando o projeto de desenvolvimento é concluído. Este valor atualizado sempre que a conclusão de um projeto de manutenção altera as funções da aplicação.

Apostila para Participante Página 15 de 80

DICA: Um projeto de manutenção ou melhoria, pode ou não alterar o tamanho da aplicação.

Determinar Tipo de Contagem

IdentificarEscopo da Contagem e Fronteira Aplicação

Determinar Contagem de Pontos de Função Não Ajustados

Contar Funções Tipo Dado

Calcular número de pontos de Função Ajustados

Determinar Fator de Ajuste

Contar Funções Tipo Transação

Page 16: Curso de APF - Apostila

2.3 Escopo da Contagem

Processo de Contagem

O escopo da contagem define as funções que serão incluídas em uma determinada contagem de pontos de função.

O escopo pode abranger:

- Todas as funcionalidades;

- Apenas as funcionalidades efetivamente utilizadas pelo usuário;

- Apenas algumas funcionalidades específicas (relatórios, transações cadastrais, etc.);

- Pode incluir mais de uma aplicação.

Apostila para Participante Página 16 de 80

LEMBRETE: O escopo é determinado pelo propósito da contagem, afim de que se obtenha uma resposta para o problema de negócio em análise.

Determinar Tipo de Contagem

IdentificarEscopo da Contagem e Fronteira Aplicação

Determinar Contagem de Pontos de Função Não Ajustados

Contar Funções Tipo Dado

Calcular número de pontos de Função Ajustados

Determinar Fator de Ajuste

Contar Funções Tipo Transação

Page 17: Curso de APF - Apostila

2.4 Fronteira da Aplicação

A fronteira da aplicação é a interface conceitual que delimita o software que será medido e o mundo exterior (Usuários);

O IFPUG especifica as seguintes regras para determinação da fronteira:

- Deve ser feita com base no ponto de vista do usuário. O foco deve estar no que ele pode entender ou descrever;

- A fronteira entre aplicações deve ser baseada na separação das funções conforme estabelecido pelos processos do negócio, não em considerações tecnológicas;

- Em projetos de melhoria, a fronteira estabelecida no início do projeto deve estar de acordo com a fronteira já estabelecida para aplicação sendo modificada.

As seguintes dicas ajudam a identificar a fronteira da aplicação:

- Usar as especificações externas para obter um fluxo do sistema e desenhar a fronteira ao redor dele para salientar quais são as partes internas e quais são externas à aplicação;

- Observar como os grupos de dados são mantidos;

- Identificar áreas funcionais pela atribuição de propriedade de certos objetos de análise, como entidades e processos;

Apostila para Participante Página 17 de 80

IMPORTANTE: O termo usuário é qualquer pessoa que especifica requisitos funcionais, ou qualquer pessoa ou objeto que se comunica ou interage com o software a qualquer tempo.

DICA: Neste caso em particular, Diagramas de Contexto são úteis.

Page 18: Curso de APF - Apostila

Continuação de dicas para identificar fronteira:

- Comparar os critérios utilizados em outras métricas como esforço, duração, custo e defeitos. As fronteiras para efeito de análise de pontos de função devem ser as mesmas;

- Verificar como a aplicação é gerenciada; se for desenvolvida ou mantida na sua totalidade por uma equipe distinta.

Exemplo A:

Exemplo B:

Apostila para Participante Página 18 de 80

IMPORTANTE: O posicionamento da Fronteira é um passo crítico e importante, causando impacto em toda a análise.

Sistema defolha de

pagamento

Sistema de recursos humanos

Módulo de folha de pagamento

Módulo de recrutamento de seleção

Módulo de plano de saúde

SISTEMA DE GESTÃO DE RECURSOS

Page 19: Curso de APF - Apostila

2.5 Resumo

Propósito da contagem – Fornece uma resposta para um problema do negócio. Determina o tipo de contagem e escopo. Influencia o posicionamento da fronteira entre o software sendo contado e os outros softwares ao redor.

Projeto de Desenvolvimento – Esta contagem mede as funções providas ao usuário com a primeira instalação do software, ao final do projeto.

Projeto de Manutenção (Melhoria) – Esta contagem mede as modificações de uma aplicação existente que adicionam, alteram ou excluem as funções originalmente disponibilizadas.

Projeto de Aplicação (Baseline)– Esta contagem mede as funções atualmente providas ao usuário pela aplicação. A quantidade de pontos de função é inicializada, quando o projeto de desenvolvimento é concluído. Este valor atualizado sempre que a conclusão de um projeto de manutenção altera as funções da aplicação.

Escopo – Define as funções que serão incluídas em uma determinada contagem de pontos de funções.

Fronteira da Aplicação – É uma interface conceitual que delimita o software que será medido e o mundo exterior.

Apostila para Participante Página 19 de 80

Page 20: Curso de APF - Apostila

3 FUNÇÕES DE DADOS

3.1 Introdução

As funções de dados representam a funcionalidade fornecida ao usuário para atender suas necessidades de armazenagem de dados internos e externos à aplicação.

Processo de Contagem

3.2 Regras de identificação

- Grupo de dados ou informações de controle, que atende requisitos do usuário, sendo por ele identificável;

- Grupo de dados referenciado pela aplicação sendo contada;

Apostila para Participante Página 20 de 80

IMPORTANTE: Identificável pelo usuáriorefere-se aos requisitos definidos pelos processos ou grupo de dados que são consentidos (vistos, enxergados) pelos usuários e entendidos por usuários e desenvolvedores

Determinar Tipo de Contagem

IdentificarEscopo da Contagem e Fronteira Aplicação

Determinar Contagem de Pontos de Função Não Ajustados

Contar Funções Tipo Dado

Calcular número de pontos de Função Ajustados

Determinar Fator de Ajuste

Contar Funções Tipo Transação

Page 21: Curso de APF - Apostila

3.3 Informações de Controle

É um dado que influencia um processo elementar da aplicação que está sendo contada. Ele especifica o que, quando ou como um dado deve ser processado. No caso das funções do tipo dado, esses parâmetros são armazenados e mantidos em conjunto com a aplicação.

3.4 Processo Elementar

É a menor unidade de atividade significativa para o usuário. Um processo elementar deve ser auto contido (ou auto suficiente) e deixar a aplicação em um estado consistente.

3.5 Tipos de Funções de dados

Existem dois tipos de funções de dados, sendo:

- ALI – Arquivo Lógico Interno;

- AIE – Arquivo de Interface Externa.

Apostila para Participante Página 21 de 80

DICA: O termo arquivo não significa arquivo no sentido tradicional em processamento de dados, sendo neste caso, refere-se a um grupo de dados e não à implementação física deste grupo de dados.

Page 22: Curso de APF - Apostila

3.6 ALI – Arquivo Lógico Interno

Agrupamento lógico de dados ou informações de controle relacionado, mantido dentro da fronteira da aplicação. A intenção principal de um ALI é armazenar dados mantidos por um ou mais processos elementares da aplicação sendo contada.

Regras de identificação de ALI:

- O Grupo de dados ou informações de controle é logicamente relacionado e identificável pelo usuário;

- O Grupo de dados é mantido pela aplicação sendo contada.

Casos típicos de ALI:

- Tabelas do usuário – dados das transações do negócio (arquivos da folha de pagamento, contabilidade, vendas, etc...);

- Arquivos de ajuda on-line (Help), quando mantidos pelo usuário;

- Arquivos de controle / parâmetros, quando mantidos pelo usuário.

Não considerar ALI:

- Arquivos temporários ou de trabalho, de modo geral;

- Cópias do mesmo arquivo classificadas em ordem diferentes;

- Arquivos criados em função da tecnologia( JCL, BAT, índices de banco de dados);

- Arquivo de backup/restore;

-

Apostila para Participante Página 22 de 80

IMPORTANTE: Mantido é a habilidade em modificar dados através de um processo elementar, isto é: adicionar, excluir, alterar, popular, revisar, associar ou criar dados.

DICA: Três condições para que um ALI seja satisfeito:É um grupo de dados reconhecido pelo usuário?Arquivo é mantido por algum processo elementar?É mantido pela aplicação que está sendo contada?

Citação

AIE agrupamento lógico de dados ou informações de controle relacionado, referenciado pela aplicação, porém mantido dentro da fronTeira de outra

aplicação

Page 23: Curso de APF - Apostila

3.7 AIE – Arquivo Interface Externa

Agrupamento lógico de dados ou informações de controle relacionado, referenciado pela aplicação, porém mantido dentro da fronteira de outra aplicação. A intenção principal de um AIE é armazenar dados referenciados por um ou mais processos elementares da aplicação sendo contada. Um AIE é obrigatoriamente um ALI em outra aplicação.

Regra de identificação de AIE:

- O grupo de dados ou informações de controle é logicamente relacionado e identificável pelo usuário;

- O grupo de dados é referenciado pela aplicação sendo contada, porém é externo a ela;

- O grupo de dados não é mantido pela aplicação sendo contada;

- O grupo de dados é mantido por outra aplicação.

Casos típicos de AIE:

- Tabelas do usuário – dados das transações do negócio (arquivos da folha de pagamento, contabilidade, vendas, etc...);

- Arquivos de ajuda on-line (Help), quando mantidos pelo usuário;

3.8 Classificando Arquivos Lógicos

A complexidade funcional de cada arquivo identificado determina a contribuição das funções do tipo dados ao número de pontos de função não ajustados.

Para cada arquivo lógico (interno ou externo), deve ser atribuída uma complexidade funcional com base:

- Número de RLR – Registro Lógico Referenciado;

- Número de DER – Dado Elementar Referenciado.

Apostila para Participante Página 23 de 80

ATENÇÃO: Não necessariamente um AIE pode ser apenas parte de um ALI em outra fronteira

Page 24: Curso de APF - Apostila

3.9 RLR – Registro Lógico Referenciado

RLR é um subgrupo de tipos de dados, reconhecido pelo usuário, componente de um Arquivo Lógico Interno ou Arquivo de Interface Externa.

Existem dois tipos de subgrupo:

- Opcionais: são aqueles em que o usuário tem a opção de não informar no processo elementar que cria ou adiciona dados ao arquivo. Tem característica de multiplicidade.

- Mandatórios: são aqueles que o usuário requer que sejam sempre utilizados pelo processo elementar que cria ou adiciona dados do arquivo. Tem característica de subtipo.

3.10 Regras de contagem de RLR

As seguintes regras devem ser utilizadas para determinar o número de RLR de um ALI ou AIE, sendo:

- Conte um RLR para cada subgrupo, opcional ou mandatório, de um ALI ou AIE

Ou

- Se não houver nenhum subgrupo, contar um RLR para cada ALI ou AIE.

3.11 DER – Dado Elementar Relacionado

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

Apostila para Participante Página 24 de 80

ATENÇÃO: No módulo 9 desta apostila, você verá com mais detalhes como determinar, Registros Lógicos, analisando relacionamento entre as tabelas no modelo de dados

Page 25: Curso de APF - Apostila

3.12 Regras de contagem de DER

Em ALIs:

- Contar um DER para cada campo único, não repetitivo, reconhecido pelo usuário e mantido em um ALI, ou recuperado de um ALI, através de um processo elementar;

- Quando duas ou mais aplicações mantêm ou referenciam o mesmo ALI, mas cada uma delas mantém ou referenciam DERs separados, contar somente os DERs usados por cada aplicação, independentemente do tamanho do ALI;

- Contar um DER para cada pedaço de dado requerido pelo usuário para estabelecer um relacionamento com um outro ALI, isto é: uma chave estrangeira ou uma associação entre classes de objetos.

Em AIEs:

- Contar um DER para cada campo único, não repetitivo, reconhecido pelo usuário e referenciado em um AIE através de um processo elementar;

- Quando duas ou mais aplicações referenciam o mesmo AIE, mas cada uma delas referenciam DERs separados, contar somente os DERs sendo usados por cada aplicação para dimensionar o AIE;

- Contar um DER para cada pedaço de dado requerido pelo usuário para estabelecer um relacionamento com um outro ALI, isto é: uma chave estrangeira ou uma associação entre classes de objetos.

3.13 Identificação de Complexidade e Cálculo de Pontuação

Complexidades e pontuações de ALIs:

RLR DER DER DER1 – 19 20 – 50 51 ou +

1 Baixa Baixa Média2 a 5 Baixa Média Alta

6 ou + Média Alta Alta

Grau de complexidade

Contribuição em Pontos por função

Baixa 7Média 10Alta 15

Apostila para Participante Página 25 de 80

Page 26: Curso de APF - Apostila

Complexidades e pontuações de AIEs:

RLR DER DER DER1 – 19 20 – 50 51 ou +

1 Baixa Baixa Média2-5 Baixa Média Alta

6 ou + Média Alta Alta

Grau de complexidade

Contribuição em Pontos por função

Baixa 5Média 7Alta 10

EXEMPLO:

Sistema de Vendas:

Arquivo Lógico

Tipo Qtde RLR Qtde DER Complexidade

Pontuação

Cliente ALI 3 51 Alta 15Fornecedor ALI 1 50 Baixa 7Notas Fiscais ALI 2 20 Média 10CEP AIE 1 5 Baixa 5

Apostila para Participante Página 26 de 80

Page 27: Curso de APF - Apostila

3.14 Resumo

Funções de Dados – Representam a funcionalidade fornecida ao usuário para atender suas necessidades de armazenagem de dados internos e externos á aplicação.

Informações de Controle – É um dado que influencia um processo elementar da aplicação que está sendo contada. Ele especifica o que, quando ou como um dado deve ser processado.

Processo Elementar – É a menor unidade de atividade significativa para o usuário.

ALI – Agrupamento lógico de dados ou informações de controle relacionado, mantido dentro da fronteira da aplicação. A intenção principal de um ALI é armazenar dados mantidos por um ou mais processos elementares da aplicação sendo contada.

AIE – Agrupamento lógico de dados ou informações de controle relacionado, referenciado pela aplicação, porém mantido dentro da fronteira de outra aplicação.

RLR – Registro lógico referenciado, é um subgrupo de dados reconhecido pelo usuário, componente de um arquivo lógico Interno ou arquivo interface externa.

DER – Dado elementar relacionado, é um campo único, não repetitivo, reconhecido pelo usuário.

Apostila para Participante Página 27 de 80

Page 28: Curso de APF - Apostila

4 FUNÇÕES DE TRANSAÇÃO

4.1 Introdução

As funções de transação representam a funcionalidade fornecida pelo sistema ao usuário.

Processo de Contagem

4.2 Lógica de Processamento

Lógica de Processamento é definida como qualquer dos seguintes requisitos especificamente solicitados pelo usuário para completar um processo elementar:

- Realização de validações

Exemplo: Ao adicionar um novo cliente, a lógica de processamento valida se as informações de CNPJ ou CPF estão corretas.

- Realização de cálculos e fórmulas matemáticas

Exemplo: Ao listar todos os funcionários, a lógica de processamento calcula o número total de funcionários casados, solteiros e o total geral.

Apostila para Participante Página 28 de 80

Determinar Tipo de Contagem

IdentificarEscopo da Contagem e Fronteira Aplicação

Determinar Contagem de Pontos de Função Não Ajustados

Contar Funções Tipo Dado

Calcular número de pontos de Função Ajustados

Determinar Fator de Ajuste

Contar Funções Tipo Transação

ATENÇÃO: Todas as funções transacionais são processos elementares, mas nem todo processo elementar é uma função transacional

Page 29: Curso de APF - Apostila

- Conversão de equivalência entre montantes

Exemplo: Um processo elementar referencia taxas de conversão de reais em outras moedas

- Dados são filtrados e selecionados utilizando determinados critérios para comparar múltiplos conjuntos de dados

Exemplo: para gerar uma lista de clientes com parcelas vencendo no próximo mês, um processo elementar compara as datas de vencimento das parcelas com o final do mês para selecionar e listar as parcelas apropriadas.

- Condições são analisadas para determinação de qual se aplica

Exemplo: é a lógica de processamento executa por um processo elementar quando um agendamento de recebimento é realizado e o processamento pode variar em função de ele ser parcelado ou não.

- Um ou mais ALI são atualizados

Exemplo: Ao adicionar um cliente, o processo elementar atualiza o ALI de clientes para manter os seus dados

- Um ou mais ALI ou AIE são referenciados

Exemplo: Ao incluir um cliente, o AIE de CEPs é referenciado para validar se o CEP informado está correto

- Dados ou informações de controle são recuperados

Exemplo: Para poder visualizar uma lista de clientes, as informações de clientes são recuperadas do sistema

- Dados derivados são criados pela transformação dos dados existentes em novos dados

Exemplo: Após a inclusão de um usuário, a identificação de login é gerada automaticamente pelo sistema por meio da concatenação de algumas letras do seu nome e sobrenome

- O comportamento do sistema é alterado

Exemplo: O comportamento do processo de consolidação de despesas e receitas é alterado quando sua emissão automática passa a ser semanal em vez de mensal.

- Preparar e apresentar informação para fora da fronteira

Exemplo: Uma lista de clientes é apresentada ao usuário

Apostila para Participante Página 29 de 80

Page 30: Curso de APF - Apostila

Apostila para Participante Página 30 de 80

CITAÇÃO

FUNÇÕES DE TRANSAÇÃO REPRESENTAM A FUNCIONALIDADE FORNECIDA PELO SISTEMA AO USUÁRIO.

Page 31: Curso de APF - Apostila

- Capacidade de aceitar dados ou informações de controle que entra na fronteira da aplicação

Exemplo: O usuário entra com várias informações para incluir um agendamento de recebimento no sistema

- Dados são ordenados ou organizados

Exemplo: O usuário solicita uma lista de clientes ordenados alfabeticamente pelo sobrenome

4.3 Tipos de função transacional

- EE - Entrada Externa

- CE – Consulta Externa

- SE – Saída Externa

4.4 Entradas Externas

São fluxos de dados, ou informações de controle, provenientes de fora da fronteira do objeto. A intenção primária destes dados que cruzam a fronteira é de manter um ou mais ALIs ou de alterar o comportamento do objeto.

Apostila para Participante Página 31 de 80

DICA: O que diferencia uma função transacional da outra é a intenção primária de cada uma

Page 32: Curso de APF - Apostila

Exemplos de EE:

- Transações que recebem dados externos utilizados na manutenção de Arquivos Lógicos Internos;

- Janela que permite incluir, excluir e alterar dados em arquivos

- Processamento em lotes que atualizam bases cadastrais.

Não são exemplos de EE:

- Relatórios e consultas;

- Menus;

- Login.

4.5 Regras de identificação de EEs

Todas as regras abaixo devem ser satisfeitas:

- Os dados ou as informações de controle são recebidos de fora da fronteira da aplicação;

- No mínimo um ALI é mantido se os dados entrando pela fronteira não são informações de controles que alteram o comportamento do sistema;

4.6 CE - Consulta Externa

São fluxos de dados, ou informações de controle, que cruzam a fronteira do sistema. O objetivo primário de uma CE é apresentar informações aos usuários por meio da recuperação de dados (de ALIs ou AIEs), ou de informações de controle. A lógica de processamento das CEs não possue cálculos matemáticos e não cria dados derivados. Além disso, tais funcionalidades não podem efetuar manutenções em ALIs ao serem executadas, nem tão pouco alterar o comportamento do sistema.

4.7 Regras de identificação de CEs

Todas as regras abaixo devem ser satisfeitas:

Apostila para Participante Página 32 de 80

DICA: No exemplo acima se deve contar três entradas externas

Page 33: Curso de APF - Apostila

- O processo deve enviar dados ou informações de controle para fora da fronteira do sistema;

- O processo não possue cálculos matemáticos, não cria dados derivados, não mantêm ALI e não alteram o comportamento do sistema.

Exemplo de CE:

- Telas de Help;

- Informações em formato gráfico;

- Drop-downs, desde que recupere dados em um arquivo

Não são exemplos de CE:

- Menus estáticos;

- Relatórios ou consultas que contenham cálculos ou gerem dados derivados.

4.8 SE - Saída Externa

São fluxos de dados, ou informações de controle, que cruzam a fronteira do sistema. O objetivo primário de uma SE é apresentar informações aos usuários por meio da recuperação de dados (de ALIs ou AIEs), ou de informações de controle assim como de processamento sobre os dados armazenados. As lógicas de processamento de uma SE devem conter pelo menos: ou um cálculo matemático, ou a geração de um dado derivado. Além disso, tais funcionalidades podem efetuar manutenções em ALIs ao serem executadas.

4.9 Regras de identificação de SEs

Todas as regras abaixo devem ser satisfeitas:

- Processo envia dados ou informações de controle para fora da fronteira do sistema;

- Para a identificação do processo, pelo menos um dos seguintes argumentos devem ser satisfeitos:

o A lógica de processamento do processo elementar contém no mínimo uma fórmula matemática ou cálculos;

o A lógica de processamento do processo elementar cria dados derivados;

Apostila para Participante Página 33 de 80

DICA: No exemplo acima, os drop-downs estáticos, com valores codificados no programa-fonte, não são contados

Page 34: Curso de APF - Apostila

o A lógica de processamento do processo elementar mantém ao menos um ALI;

o A lógica de processamento do processo elementar altera o comportamento do sistema;

Exemplos de SE:

- Relatórios e consultas com totalização de dados;

- Relatórios que atualizam ALIs;

- Consultas com apresentação de dados derivados ou cálculos;

- Arquivo de movimento para outra aplicação;

- Informações em formato gráfico.

Não são exemplos de SE:

- Telas de Help;

- Drop-downs;

- Consultas e relatórios sem nenhum totalizador, que não atualizam arquivos, não tem dados derivados ou modificam o comportamento do sistema.

Apostila para Participante Página 34 de 80

DICA: No exemplo acima, só pode ser considerado se contém cálculo no processo ELEMENTAR

Page 35: Curso de APF - Apostila

4.10 Classificando Funções transacionais

Depois de identificados, as funções transacionais são classificadas segundo suas complexidades. A classificação de complexidade determina quantos pontos por função vale cada elemento identificado. Para isto, devem ser identificados os ALR e DER de cada uma das funções transacionais.

ALR – Arquivo Lógico Referenciado

- Conte um arquivo lógico referenciado para cada ALI mantido;

- Conte apenas um arquivo lógico referenciado para cada ALI, que seja tanto mantido ou quanto lido;

- Conte um arquivo lógico referenciado para cada ALI ou AIE lido durante o processamento.

DER – Dado Elementar Relacionado

- Conte um DER para cada campo reconhecido pelo usuário e não repetitivo, que entra ou sai da fronteira da aplicação e é necessário à conclusão do processo;

- Conte um DER pela capacidade da aplicação em enviar uma mensagem de resposta para fora da fronteira da aplicação indicando um erro ocorrido durante o processamento ou confirmando que o processo foi completado ou informando que o processo deve continuar;

- Conte um DER pela habilidade da aplicação em especificar que uma ação a ser feita, mesmo que existam múltiplos métodos de invocar a mesmo processo lógico;

Apostila para Participante Página 35 de 80

IMPORTANTE: Os arquivos lógicos referenciados são ALIs ou AIEs da aplicação sendo contada.

DICA: Se um campo tanto entra, quanto sai da aplicação, deve ser contado apenas uma única vez

Page 36: Curso de APF - Apostila

- Não contar como DER literais, paginação, variáveis ou sinalizações geradas pelo sistema.

4.11 Identificação de complexidade e cálculo de pontuação

Complexidade de EE – Entrada Externa

ALR DER DER DER1 – 4 5 - 15 16 ou +

0 – 1 Baixa Baixa Média2 Baixa Média Alta

3 ou + Média Alta Alta

Grau de complexidade

Contribuição em Pontos por função

Baixa 3Média 4Alta 6

Complexidade de CE – Consulta Externa

ALR DER DER DER1 – 5 6 - 19 20 ou +

1 Baixa Baixa Média2 –3 Baixa Média Alta

4 ou + Média Alta Alta

Grau de complexidade

Contribuição em Pontos por função

Baixa 3Média 4Alta 6

Complexidade de SEs

ALR DER DER DER1 – 5 6 - 19 20 ou +

0 - 1 Baixa Baixa Média2 -3 Baixa Média Alta

4 ou + Média Alta Alta

Grau de complexidade

Contribuição em Pontos por função

Baixa 4MÉDIA 5Alta 7

Apostila para Participante Página 36 de 80

Page 37: Curso de APF - Apostila

4.12 Regras para determinação de processo elementar único

Em todas as funções do tipo transação, para determinar se devemos contar um ou mais processos, uma ou mais três proposições devem ser obrigatoriamente ser verdadeiras:

- O conjunto de tipos de dados identificado é diferente do identificado para outros processos elementares;

- Os ALI e AIE são diferentes dos arquivos referenciados por outros processos elementares da aplicação;

- A lógica de processamento é diferente da executada por outros processos elementares da aplicação. A exceção é quando a ordenação, ou seja, dois relatórios, cuja diferença seja apenas a ordenação dos dados, constituem um único processo elementar.

4.13 Funções transacionais X lógicas de processamento

A tabela a seguir sumariza quais formas de processamento lógico pode ser realizado por EEs, CEs e SEs.

Função Tipo de funçãotransacional

EE SE CEEXECUTAR VALIDAÇÕES P P P

EXECUTAR CÁLCULOS E FÓRMULAS MATEMÁTICAS P D* NCONVERTER VALORES EQUIVALENTES P P P

FILTRAR E SELECIONAR DADOS POR MEIO DO USO DE CRITÉRIOS ESPECÍFICOS PARA COMPARAR MÚLTIPLOS

CONJUNTOS DE DADOS

P P P

ANALISAR CONDIÇÕES PARA DETERMINAR QUAIS SÃO APLICÁVEIS

P P P

NO MÍNIMO UM ALI ATUALIZADO D* D* NNO MÍNIMO UM ALI OU AIE REFERENCIADO P P D

RECUPERAR DADOS OU INFORMAÇÕES DE CONTROLE P P DCRIAR DADOS DERIVADOS P D* N

ALTERAR O COMPORTAMENTO DO SISTEMA D* D* NPREPARAR E APRESENTAR INFORMAÇÕES FORA DA

FRONTEIRA

P D P

ACEITAR INFORMAÇÕES ENTRANDO POR MEIO DA FRONTEIRA

D P P

CLASSIFICAR DADOS P P P

- P – Pode executar, ou não.

- D – Deve executar (sempre).

- D* - Deve executar pelo menos uma das funções com asterisco.

Apostila para Participante Página 37 de 80

Page 38: Curso de APF - Apostila

- N – Não pode executar (nunca).

Apostila para Participante Página 38 de 80

Page 39: Curso de APF - Apostila

4.14 Resumo

Função Transacional - representam a funcionalidade fornecida pelo sistema ao usuário.

Lógica de Processamento – é definida como qualquer dos requisitos especificamente solicitados pelo usuário para completar um processo elementar, sendo:

- Realização de validações- Realização de cálculos e fórmulas matemáticas- Conversão de equivalência entre montantes- Dados são filtrados e selecionados utilizando determinados critérios

para comparar múltiplos conjuntos de dados- Condições são analisadas para determinação de qual se aplica- Um ou mais ALI são atualizados- Um ou mais ALI ou AIE são referenciados- Dados ou informações de controles são recuperados- Dados derivados são criados pela transformação dos dados existentes

em novos dados- O comportamento do sistema é alterado- Preparar e apresentar informação para fora da fronteira- Capacidade de aceitar dados ou informações de controle que entra na

fronteira da aplicação- Dados São ordenados ou organizados

EE – Entradas Externas – são fluxos de dados ou informações de controle, provenientes de fora da fronteira do objeto. A intenção primária destes dados que cruzam a fronteira é de manter um ou mais ALIs ou alterar o comportamento do objeto.

Consulta Externa - são fluxos de dados, ou informações de controle, que cruzam a fronteira do sistema. O objetivo primário de uma CE é apresentar informações aos usuários por meio da recuperação de dados (de ALIs ou AIEs), ou de informações de controle.

Saída Externa – são fluxos de dados, ou informações de controle, que cruzam a fronteira do sistema. O objetivo primário de uma SE é apresentar informações aos usuários por meio da recuperação de dados (de ALIs ou AIEs), ou de informações de controle assim como de processamento sobre os dados armazenados. As lógicas de processamento de uma SE devem conter pelo menos: ou um cálculo matemático, ou a geração de um dado derivado. Além disso, tais funcionalidades podem efetuar manutenções em ALIs ao serem executadas.

Apostila para Participante Página 39 de 80

Page 40: Curso de APF - Apostila

Processo Elementar Único – Em todas as funções do tipo transação, para determinar se devemos contar um ou mais processos, uma ou mais três proposições devem ser obrigatoriamente ser verdadeiras:

- O conjunto de tipos de dados identificado é diferente do identificado para outros processos elementares;

- Os ALI e AIE são diferentes dos arquivos referenciados por outros processos elementares da aplicação;

- A lógica de processamento é diferente da executada por outros processos elementares da aplicação. A exceção é quando a ordenação, ou seja, dois relatórios, cuja diferença seja apenas a ordenação dos dados, constituem um único processo elementar.

Apostila para Participante Página 40 de 80

Page 41: Curso de APF - Apostila

5 FATOR DE AJUSTE

5.1 Determinação do Fator de Ajuste

Processo de Contagem

O cálculo do Fator de Ajuste serve para determinar as características do sistema. Na contagem dos pontos de função não ajustados são estabelecidas apenas às funcionalidades dos sistemas e suas complexidades. Desta forma, no cálculo dos pontos de função brutos, não foram levados em conta fatores tecnológicos que podem ser relevantes como requisitos do sistema (requisitos não funcionais tais como: performance, amigabilidade da interface e complexidade de processamento, dentre outros). Tais considerações podem ser pontuadas através da análise dos níveis de influências das características gerais da aplicação. Com os resultados desta pontuação será possível calcular o valor do fator de ajuste para o sistema ou aplicação em contagem.

Com base nos requisitos dos usuários, cada característica geral do sistema (GSC – General System Characteristic) deve ser avaliada em termos dos seus respectivos graus de influências (DI – Degree of Influence) em uma escala ordinal de 0 a 5. Cada nível é genericamente definido como:

Pontuar Para influência da característica no sistema0 Não presente ou nenhuma influência1 Influência incidental2 Influência moderada3 Influência média4 Influência significante5 Influência forte por todo o sistema

Apostila para Participante Página 41 de 80

Determinar Tipo de Contagem

IdentificarEscopo da Contagem e Fronteira Aplicação

Determinar Contagem de Pontos de Função Não Ajustados

Contar Funções Tipo Dado

Calcular número de pontos de Função Ajustados

Determinar Fator de Ajuste

Contar Funções Tipo Transação

Page 42: Curso de APF - Apostila

5.2 Comunicação de Dados

Descreve o grau no qual a aplicação se comunica diretamente com o processador. Os dados ou informações de controle usados na aplicação são enviados ou recebidos com a utilização de facilidades de comunicações. Dispositivos conectados localmente à unidade de controle são considerados para utilizar facilidades de comunicação. Protocolo é um conjunto de convenções que permite a transferência ou permita de informações entre dois sistemas ou dispositivos. Toas às comunicações de dados requerem algum tipo de protocolo.

Grau Descrição

0 Aplicação Batch ou funcionamento Stand alone

1 Aplicação Batch, mas utiliza entrada de dados ou impressão remota

2 Aplicação Batch, mas utiliza entrada de dados e impressão remota3 Aplicação com entrada de dados on-line para alimentar

processamento batch ou sistema de consulta4 Aplicação com entrada de dados on-line, mas suporta apenas um

tipo de protocolo de comunicação5 Aplicação com entrada de dados on-line e suporta mais de um tipo

de protocolo de comunicação

Definições adicionais (Hints):

Exemplos de protocolos incluem FTP, Dial-up, Token Ring, Ethernet, SNA, TCP/IP, IPX/SPX, http, XML, WAP, NTP e Netbeui. Esta lista não deve ser considerada como exaurindo todas as possibilidades existentes.

Dicas para os níveis de influência 1 e 2:

- Dispositivos remotos podem incluir terminais 3270 conectados a computadores Mainframe que permitem somente simples edições (números e alfanuméricos), ou impressoras;

- A entrada de dados não envolve a leitura ou gravação diretamente em um ALI. Dados são inseridos on line, mas as transações são armazenadas em arquivos temporários para atualizações batch dos ALIs, posteriormente;

- A entrada de dados não envolve leitura ou gravação diretamente em um ALI.

Apostila para Participante Página 42 de 80

Page 43: Curso de APF - Apostila

Dicas para o nível de influência 3:

- Regras de negócios simples e edições mínimas (por exemplo, caracteres alfa numéricos, verificação de faixas, dados requeridos, etc) podem ser realizadas. Quando este dado é eventualmente processado pela aplicação, edições adicionais são realizadas;

- A entrada de dados não envolve leitura e gravação diretamente em um ALI. Dados são inseridos on line, mas as transações são armazenadas em arquivos temporários para processamento batch posterior para atualização do ALI.

Dicas para o nível de influência 4:

- Dados para a aplicação são coletados e podem atualizar diretamente ALIs ou serem armazenados para processamento futuro, utilizando um dispositivo de entrada, o qual realiza edições com base em regras de negócios;

- Somente um protocolo de comunicação é utilizado. Tipicamente, quando este dado é processado pela aplicação, nenhuma edição adicional é requerida;

- A entrada de dados envolve a leitura ou gravação de um ALI;

- Por exemplo, entrada de dados do tipo cliente-servidor ou via Internet, mas não ambos.

Dicas para o nível de influência 5:

- Idênticas às do nível 4, mas a coleta de dados é realizada utilizando múltiplos protocolos de comunicação;

- Por exemplo, entrada de dados cliente-servidor e Internet, na mesma transação.

Apostila para Participante Página 43 de 80

DICA: Tipicamente: Aplicações batch recebem pontuação entre 0 e 3;Aplicações On-line recebem pontuação 4;Aplicações baseadas na WEB recebem pontuação entre 4 e 5;Aplicações do tipo Real-Time, Telecomunicações ou Sistemas de controle de processos recebem pontuações entre 4 e 5

Page 44: Curso de APF - Apostila

5.3 Funções distribuídas

Mede o grau no qual a aplicação transfere dados entre seus componentes físicos. Dados distribuídos ou funções de processamento são características da aplicação dentro da sua fronteira.

Grau Descrição0 Aplicação não auxilia na transferência de dados ou funções entre

os processadores da empresa1 Aplicação prepara dados para o usuário final utilizar em outro

processador (do usuário final), tal como planilha em PC2 Aplicação prepara dados para transferência, transfere-os para

serem processados em outro equipamento da empresa (não pelo usuário final)

3 Processamento é distribuído e a transferência de dados é on-line em uma direção

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

5 As funções de processamento são dinamicamente executadas no equipamento (CPU) mais apropriado

Definições adicionais (Hints):

Processamento distribuído de dados por definição não é uma aplicação contida no processador central, que manda dados para outras aplicações. Em um ambiente distribuído, a aplicação é vista com requerendo múltiplos componentes (hardware) nos quais residem certos processamentos de dados. Usuários com algum conhecimento usualmente reconhecem esta configuração.

Dicas para o nível de influência 0:

- Componentes de apresentação, processamento e I/O estão todos no mesmo lugar (por exemplo: aplicações do tipo stand-alone).

Dicas para o nível de influência 1:

- A aplicação importa dados para a máquina do usuário cliente de forma que ele pode usá-los juntamente com Excel ou outras ferramentas de relatórios, preparando gráficos ou outras análises.

- Processo que transfere dados do mainframe para um componente externo para serem utilizados pelo usuário em processamentos. Esta transferência é realizada utilizando um protocolo simples, tal como FTP.

Dicas para o nível de influência 2:

- Processos que transferem dados do Mainframe para camadas intermediárias. Por exemplo: processamento com SAS-PC;

Apostila para Participante Página 44 de 80

Page 45: Curso de APF - Apostila

- A aplicação envia dados para a parte cliente ou servidora. Estes dados são então processados ou usados para produzir relatórios. Nenhum dado ou confirmação é retornado para a parte cliente ou servidora;

- Transferido para um componente para processamento. Dicas para o nível de influência 3:

- Dados são enviados entre parte cliente e servidora em apenas uma direção. Tais dados são então processados ou utilizados para produzirem relatórios, etc, pela aplicação receptora. Estes dados tipicamente incluem transações que atualizam ALIS na parte servidora ou cliente;

- Por exemplo: aplicações cliente-servidor ou habilitadas para WEB (“WEB enabled”)

Dicas para o nível de influência 4:

- Dados são enviados entre parte cliente e servidora em ambas as direções. Tais dados são então processados ou utilizados para produzirem relatórios, etc, pela aplicação receptora. Estes dados tipicamente incluem transações que atualizam ALIS na parte servidora ou cliente;

- Por exemplo: aplicações cliente-servidor ou habilitadas para WEB (“WEB enabled”);

- A aplicação é executada sob um sistema operacional que automaticamente manuseia a alocação entre componentes, mas no entanto, o uso do sistema operacional não influencia o projeto e implementação da aplicação.

Dicas para o nível de influência 5:

- O desenvolvedor deve considerar aplicação especial de software que verifica múltiplos processadores e executa a aplicação em um processador específico. Esta atividade é invisível para o usuário;

- A aplicação é executada sob um sistema operacional que automaticamente manuseia a alocação dinâmica entre componentes, e o uso especificamente do sistema operacional influencia o projeto e a implementação da aplicação.

Apostila para Participante Página 45 de 80

Page 46: Curso de APF - Apostila

5.4 Performance

Descreve o grau no qual a resposta no tempo e o desempenho solicitado influenciam o desenvolvimento da aplicação. Os objetivos de performance da aplicação, explicitados ou aprovados (ou implícitos) pelo usuário em ambos os focos: performance e tempo de resposta , influenciam (ou vão influenciar) o projeto, desenvolvimento, instalação e suporte da aplicação.

Grau Descrição0 Nenhum requerimento especial de performance foi solicitado pelo

usuário1 Requerimentos de performance foram estabelecidos e revistos, mas

nenhuma ação especial foi requerida2 Tempo de resposta e volume de processamento são itens críticos

durante horários de pico de processamento. Nenhuma determinação especial para a utilização do processador foi estabelecida. A data limita para a disponibilidade de processamento é sempre o próximo dia útil

3 Tempo de resposta e volume de processamento são itens críticos durante todo o horário comercial. Nenhuma determinação especial para a utilização do processador foi estabelecida. A data limite necessária para a comunicação com outros sistemas é limitante

4 Os requerimentos de performance estabelecidos requerem tarefas de análise de performance na fase de planejamento e análise da aplicação

5 Além do descrito no item anterior, ferramentas de análise de performance foram usadas nas fases de planejamento estabelecidos pelos usuários

Definições adicionais (Hints):

Apostila para Participante Página 46 de 80

DICA: Tipicamente:A maioria das aplicações, incluindo sistemas legados, recebem o nível 0 de pontuação;Aplicações primitivamente distribuídas incluindo aplicações batch, nas quais dados não são transferidos de forma on-line, recebem pontuação 1 ou 2;Aplicações cliente-servidor ou WEB recebem pontuação entre 3 e 4;A pontuação 5 é bastante incomumDevem existir múltiplos servidores ou processadores, cada um deles selecionado dinamicamente com base na sua respectiva disponibilidade real (medida em tempo real), para ser pontuada como nível 5.

Page 47: Curso de APF - Apostila

- As características gerais 3, 4 e 5 são relacionadas de alguma forema. Para esta característica deve-se pensar em termos de “Quão rápida nós devemos tornar a aplicação e isto vai impactar no projeto, desenvolvimento e implementação da aplicação”;

- O usuário pode requerer tempo real de acesso aos seus dados, demonstrando ou implicando em padrões de tempo de resposta ou de capacidade de performance (throughput);

- Tempo de resposta tipicamente se relaciona a processamento interativo e throughput se relaciona a processamento batch.

5.5 Configuração do equipamento

Descreve o grau no qual restrições de recursos de processamento influenciam o desenvolvimento da aplicação.Uma configuração fortemente pesada pode requerer considerações especiais durante o projeto da aplicação. Por exemplo: o usuário quer executar a aplicação em equipamentos comprometidos que serão fortemente (pesadamente) solicitados (used).

Grau Descrição0 Nenhuma restrição operacional explícita ou mesmo implícita foi

incluída1 Existem restrições operacionais leves. Não é necessário esforço

especial para atender às restrições2 Algumas considerações de ajuste de performance e segurança são

necessárias3 São necessárias especificações especiais de processador para um

módulo específico da aplicação4 Restrições operacionais requerem cuidados especiais no

Apostila para Participante Página 47 de 80

DICA: Tipicamente:Aplicações batch podem receber pontuações entre 0 e 4On-line (incluindo aplicações interativas do tipo cliente-servidor ou WEB), recebem pontuações entre 0 e 4Aplicações baseadas na WEB recebem pontuações entre 4 e 5A maioria das aplicações “MIS – Management Information Systems” recebem pontuações de nível 2;Aplicações em tempo real (Real-Time), Telecomunicações ou sistemas de controle de processos recebem pontuações entre 0 e 5. Pontuação de nível 5 requer o uso de ferramentas de análise de performance.

Page 48: Curso de APF - Apostila

processador central ou no processador dedicado para executar a aplicação

5 Além das características do item anterior, há considerações especiais que exigem utilização de ferramentas de análise de performance, para a distribuição do sistema e seus componentes, nas unidades processadoras

Definições adicionais (Hints):

- As características 3, 4 e 5 são relacionadas de alguma forma;

- Em termos desta característica deve-se pensar em “Quanto à infra-estrutura existente influencia no projeto da aplicação?”.

Exemplos: (Incluem os abaixo, mas não se restringe a eles)- Esta questão diz respeito a aplicações que podem ser solicitadas a serem

executadas em equipamentos sub-dimensionados que não podem manusear adequadamente as novas funcionalidades (ou as funcionalidades modificadas) e que, de certa maneira, exigiu que os desenvolvedores submeteram-se a desenvolver a aplicação de forma diferente para satisfazer esta restrição;

- Mais do que uma aplicação acessando os mesmos dados podem criar restrições operacionais;

- Aplicações competindo pelo mesmo recurso e tecnologia, com potenciais riscos de deadlock, devem gerar ajustes e restrições para evitar a degradação de performance.

Apostila para Participante Página 48 de 80

DICA: Tipicamente: A maioria das aplicações recebem pontuação de nível 2;Aplicações cliente-servidor, baseadas na WEB, real-time, Telecomunicações ou sistemas de controle de processos recebem score entre 3 e 5, mas somente quando necessitarem processadores processando a mesma transação e procurando pela mais eficiente forma de processamento.

Page 49: Curso de APF - Apostila

5.6 Volume de transações

Descreve o grau no qual a taxa de transações de negócios influenciam o desenvolvimento da aplicação.O volume de transações é alto e influencia o projeto, desenvolvimento, instalação e suporte da aplicação. Os usuários podem requerer por tempos normais de resposta mesmo durante horários de picos de volumes de transação.

Grau Descrição0 Não estão previstos períodos de picos de volume de transação1 Estão previstos picos de transações mensal, trimestral, anual ou em

certo período do ano2 São previstos picos semanais3 São previstos picos diários4 Alto volume de transações foi estabelecido pelo usuário, ou o

tempo de resposta necessário atinge nível alto requerendo análise de performance na fase de projeto

5 Além do descrito no item anterior, é necessário utilizar ferramentas de análise de performance nas fases de projeto, desenvolvimento e/ou implantação

Definições adicionais (Hints):

- As características 3, 4 e 5 são relacionadas de alguma forma. Para esta característica deve-se pensar em termos de “Quantas transações podem ser processadas pela aplicação em um dado período de tempo?”;

- Geralmente a pontuação é a mesmo da obtida pela características número 3 porque as taxas de transação geralmente influenciam os requisitos de performance.

Apostila para Participante Página 49 de 80

DICA: Tipicamente: Aplicações batch recebem pontuações entre 0 e 3;Aplicações on-line (incluindo aplicações interativas do tipo cliente-servidor ou baseadas na WEB) recebem pontuações entre 0 e 4Aplicações Real-time, telecomunicações ou sistemas de controle de processos recebem pontuações entre 0 e 5Nível 5 de pontuação requer o uso de ferramentas de análise de performance.

Page 50: Curso de APF - Apostila

5.7 Entrada de dados on-line

Descreve o grau no qual os dados são inseridos ou recuperados através de transações interativas.Interfaces on-line para entrada de dados, funções de controle, relatórios e consultas são providas pela aplicação.

Grau Descrição0 Todas as transações são processadas em modo batch1 De 1% a 7% das transações são entradas de dados on-line2 De 8% a 15% das transações são entradas de dados on-line3 De 16% a 23% das transações são entradas de dados on-line4 De 24% a 30% das transações são entradas de dados on-line5 Mais de 30% das transações são entradas de dados on-line

Definições adicionais (Hints):

- Esta característica refere-se aos tipos de transação e não ao volume

- Por exemplo: se uma aplicação tem 45 EEs, SEs e CEs, qual o percentual delas são realizadas por meio de transações on-line?

Apostila para Participante Página 50 de 80

DICA: Tipicamente: Aplicações batch recebem pontuações entre 0 e 1;Aplicações on-line, real-0time, telecomunicações ou sistemas de controle de processos recebem pontuação nível 5;A maioria das aplicações on-line contemporâneas (incluindo aplicações interativas do tipo cliente-servidor ou baseadas na WEB) recebem pontuação nível 5Sistemas batchs com funcionalidades on-line podem ter muitas transações batch, mas devem ser (no mínimo) 71 % batch para receber uma pontuação menor que 5.

Page 51: Curso de APF - Apostila

5.8 Interface com o usuário

Descreve o grau de consideração para fatores humanos e facilidade de uso para os usuários da aplicação sendo medida. AS funcionalidades on-line providas enfatizam fatores humanos de eficiência e amigabilidade, utilizando os seguintes recursos:

- Auxílio à Navegação (teclas de função, acesso direto e menus dinâmicos);- Menus;- Documentação e help on-line;- Movimentação automática do cursor;- Movimentação horizontal e vertical de tela;- Impressão remota (via transação on-line);- Teclas de função preestabelecidas;- Processos batch submetidos a partir de transações on-line;- Utilização intensa de campos com vídeo reverso, intensificado, sublinhado,

colorido e outros indicadores;- Impressão da documentação das transações on-line por meio de hard copy;- Utilização de mouse;- Menus Pop-Up;- Menor número possível de telas para executar as funções de negócio;- Suporte bilíngüe (Contar como 4 itens);- Suporte multilingüe (contar como 6 itens).

Grau Descrição0 Nenhum dos itens descritos1 De um a três itens descritos2 De quatro a cinco itens descritos3 Mais de cinco dos itens descritos, mas não há requerimento

específico do usuário quanto a amigabilidade do sistema4 Mais de cinco dos itens descritos, e foram estabelecidos

requerimentos quanto a amigabilidade para gerarem atividades específicas envolvendo fatores, tais como minimização da digitação, para mostrar inicialmente os valores utilizados com mais freqüência

5 Mais de cinco dos itens descritos, e foram estabelecidos requerimentos quanto a amigabilidade o suficiente para requerer ferramentas e processos especiais para demonstrar antecipadamente que os objetivos foram alcançados

Apostila para Participante Página 51 de 80

Page 52: Curso de APF - Apostila

Definições adicionais (Hints):

- Utilizar a convenção de pontuar com nível 4 sempre que a aplicação for distribuída em uma interface do tipo GUI;

- Usualmente somente ambientes de software preparados para mercados de massa ou usuários não técnicos são pontuadas com nível 5, e somente se elas tiverem estudos especializados em ergonometria da aplicação como parte do seu processo.

Apostila para Participante Página 52 de 80

DICA: Tipicamente: Aplicações puramente batch são pontuadas com nível 0;Interface de caractereres recebem pontuação 1 ou possivelmente 2;Interfaces GUI utilizadas em pequenos volumes de transação recebem pontuação nível 3;Interfaces GUI utilizadas em altos volumes de transações e a maioria das aplicações WEB (intranet) recebem pontuações de nível 4 (requer tarefas de projetos para fatores humanos);Interfaces padrão WEB (Intranet) recebem pontuação nível 5 (quando requerem ferramentas especiais e processos que demonstrem que objetivos de fatores humanos traçados foram alcançados).

Page 53: Curso de APF - Apostila

5.9 Atualização on-line

Descreve o grau no qual os ALIs da aplicação são atualizados de forma on-lineA aplicação provê formas on-line de atualização de ALIs.

Grau Descrição0 Nenhuma1 Atualização on-line de um a três arquivos lógicos internos. O

volume de atualização é baixo e a recuperação de dados é simples2 Atualização on-line de mais de três arquivos lógicos internos. O

volume de atualização é baixo e a recuperação dos dados é simples

3 Atualização on-line da maioria dos arquivos lógicos internos4 Em adição ao item anterior, é necessário proteção contra perdas

de dados que foi projetada e programada no sistema.5 Além do item anterior, altos volumes trazem considerações de

custo no processo de recuperação. Processos para automatizar a recuperação foram incluídos minimizando a intervenção do operador

Definições adicionais (Hints):

- Requerem usualmente bancos de dados ou arquivos com chaves;- Recuperação automática provida pelo sistema operacional conta se causar

impacto à aplicação.

Apostila para Participante Página 53 de 80

DICA: TIPICAMENTE:Aplicações puramente batch são pontuadas com nível 0;Atualizações de arquivos de forma on-line, que modificam a forma de processar ou validar dados pela aplicação, recebem pontuações de nível 1 ou 2;Atualizações on-line de dados persistentes do usuário recebem pontuação de nível 3;“MIS – Management Information System” recebem pontuações de nível 3 ou menores;A maioria das aplicações com interfaces GUI recebem pontuações de nível 3 ou superior;Aplicações que utilizam recursos programados de “recovery” (SQL – RollBack e Commit, por exemplo), recebem pontuação nível 4. Rotinas operacionais de backup não são consideradas como proteção contra perda de dados. Aplicações solicitadas a recuperar dados, reinicializarem (reboot) ou realizarem outras funções no sentido de prever contra erros do sistema recebem pontuação de nível 5. Atividades de recuperação de dados podem requerer humanos pressionando <enter> ou realizando alguma outra função mínima para iniciar o processo.

Page 54: Curso de APF - Apostila

5.10 Processamento complexo

Descreve o grau no qual o processamento lógico influencia o desenvolvimento da aplicação. Os seguintes componentes de complexidade são previstos:

- Processamento especial de auditoria e/ou processamento especial de segurança foram considerados na aplicação;

- Processamento lógico extensivo;

- Processamento matemático extensivo;

- Processamento gerando muitas exceções, resultando em transações incompletas que devem ser processadas novamente. Exemplo: transações de auto-atendimento bancário interrompidas por problemas de comunicação ou com dados incompletos;

- Processamento complexo para manusear múltiplas possibilidades de entrada/saída. Ex: multimídia.

Grau Descrição0 Nenhum dos itens descritos1 Apenas um dos itens descritos2 Dois dos itens descritos3 Três dos itens descritos4 Quatro dos itens descritos5 Todos os cinco itens descritos

Definições adicionais (Hints):

- Controles sensitivos ou processos de segurança (por exemplo: usuários individuais possuirão autoridades de acesso individualizadas a telas onde eles podem ver ou modificar dados) podem incluir processamentos de auditorias especiais (auditoria de dados podem ser capturados sempre que os dados forem visualizados e/ou modificados ou apresentados em relatórios);

- Processamento específico de segurança da aplicação pode incluir desenvolvimentos internos ou a utilização de pacotes especiais de segurança;

- Processamento Lógico extensivo compreende lógicas booleanas (uso de “and”, “or”) maior do que a média de dificuldade de, no mínimo, 4 condições (IFs, CASEs). Processamento lógico extensivo não ocorrem na maioria das aplicações MIS – Management Information Systems;

- Processamento matemático extensivo é compreendido por aritmética mais complexa do que as 4 operações de cálculo (+ , - , / , *). Isto usualmente não está presente em aplicações MIS. No entanto, aplicações de engenharia podem estar qualificadas;

Apostila para Participante Página 54 de 80

Page 55: Curso de APF - Apostila

- Processamento de exceção incluindo transações ATM incompletas causadas por interrupções de TP, valores de dados perdidos, falhas de validações ou verificações (checks) de redundância cíclica que podem ser utilizadas para a (re) criação de pedaços de dados perdidos;

- Múltiplas possibilidades de entrada / saída incluindo multimídia, dispositivos independentes, voz, leitura de OCR, códigos de barra, escaneamento de retinas e breathalyser analisador (bafômetro).

5.11 Reusabilidade

Descreve o grau no qual a aplicação e seu código foram especificados, projetados, desenvolvidos e suportados para serem utilizados em OUTRAS aplicações.

Grau Descrição0 Nenhuma preocupação com reutilização de código1 Código reutilizado foi usado somente dentro da aplicação2 Menos de 10% da aplicação foi projetada prevendo utilização

posterior de código por outra aplicação3 10% ou mais da aplicação foi projetada prevendo utilização

posterior do código por outra aplicação4 A aplicação foi especificamente projetada e/ou documentada para

ter seu código reutilizado por outra aplicação e a aplicação é customizada pelo usuário em nível de código fonte

5 A aplicação foi especificamente projetada e/ou documentada para ter seu código facilmente reutilizado por outra aplicação e a aplicação é customizada para uso por meio de parâmetros que podem ser alterados pelo usuário

Definições adicionais (Hints):

Para nível 1:

- Nível 1 é outorgado para quando não existir a preocupação com reuso;

- O código foi desenvolvido especificamente para reuso dentro da aplicação e usado mais de uma vez dentro dela. Também quando o código for recuperado de uma biblioteca central e disponibilizado para uso genérico.

Para nível 2:

- Pontuações de nível 2 ou superiores exigem que o código tenha sido desenvolvido para ser utilizado em mais de uma aplicação, armazenados e

Apostila para Participante Página 55 de 80

DICA: Tipicamente: A pontuação não depende da plataforma.

Page 56: Curso de APF - Apostila

gerenciados em uma biblioteca central e disponível para uso geral. Código de uma aplicação que é cortado e colado em outra aplicação não é considerado como “reuso”;

- O código reutilizável deve ser suportado por documentações que habilitam

a facilidade seu reuso.

Para nível 5:

- Exemplos de aplicações customizadas através do uso de parâmetros são: PeopleSoft, SAP. Geralmente estes tipos de aplicação receberão pontuação de nível 5;

- O código reutilizado pode ser levemente modificado de acordo com a aplicação;

- Exemplos de reuso incluem: objetos, ou outros códigos estáticos em uma biblioteca de objetos/códigos.

5.12 Facilidade de implantação

Descreve o grau no qual conversões de ambientes prévios influenciam o desenvolvimento da aplicação.Facilidade de instalação (implantação) e conversão são características da aplicação. Considerar se planos de conversão / instalação e ferramentas associadas foram providas e testadas durante a fase de teste.

Grau Descrição0 Nenhuma consideração foi estabelecida pelo usuário, nem

procedimento especial é requerido na implantação1 Idem anterior mas setup é exigido para instalação.2 Requerimentos de conversão e implantação foram estabelecidos

pelo usuário e roteiro de conversão e implantação foram providos e testados. O impacto da conversão no projeto não é considerado importante

3 Requerimentos de conversão e implantação foram estabelecidos pelo usuário e roteiro de conversão e implantação foram providos e testados. O impacto da conversão no projeto é considerado importante

4 Além do item 2, conversão automática e ferramentas de implantação foram providas e testadas

5 Além do item 3, conversão automática e ferramentas de implantação foram providas e testadas

Definições adicionais (Hints):

Apostila para Participante Página 56 de 80

DICA: Tipicamente: A pontuação não depende da plataforma.

Page 57: Curso de APF - Apostila

- Conversão e instalação incluem converter dados pré-existentes em novos arquivos de dados, carregar arquivos com dados atuais, ou desenvolver softwares especiais de instalação;

- Software comprado ou desenvolvido deve ser utilizado de forma a ter este crédito para instalação ou conversão.

Para nível 1:

- A maioria das aplicações de negócios requer algum setup especial para serem instaladas e recebem a pontuação de nível 1.

Para nível 2:- Se a aplicação teve requisitos de instalação / conversão, além de prover

guias e isto não estava no caminho crítico do projeto, deve ser dada a pontuação de nível 2;

- Se a aplicação teve requisitos de instalação / conversão, além de prover guias e isto estava no caminho crítico do projeto, deve ser dada a pontuação de nível 3;

Para níveis 4 e 5:

- Se a aplicação teve requisitos de conversão/instalação e ela pode ser instalada sem intervenções externas, usar pontuações de níveis 4 ou 5, dependendo de estar ou não no caminho crítico (pontuações dos níveis 2 e 3).

5.13 Facilidade operacional

Descreve o grau no qual a aplicação atende a aspectos operacionais tais como: inicializações (start-up), back-up, processos de recuperação (recovery).Facilidade de operação é uma característica da aplicação. A aplicação minimiza a necessidade de atividades manuais tais como: montagens de fitas, manuseio de papel, e necessidades de intervenção.

Grau Descrição0 Nenhuma consideração especial de operação, além do processo

normal de salva foi estabelecido pelo usuário

Apostila para Participante Página 57 de 80

DICA: Tipicamente:A pontuação não depende da plataforma

Page 58: Curso de APF - Apostila

1-4 Verificar quais das seguintes afirmativas podem ser identificadas na aplicação. Selecione as que forem aplicadas. Cada item vale um ponto, exceto se definido explicitamente: Foram desenvolvidos processos de inicialização, salva,

recuperação, mas a intervenção do operador é necessária. Foram estabelecidos processos de inicialização, salva e

recuperação, e nenhuma intervenção do operador é necessária (conte como dois itens)

A aplicação minimiza a necessidade de montar fitas magnéticasA aplicação minimiza a necessidade de manuseio de papel

5 A aplicação foi desenhada para trabalhar sem operador, nenhuma intervenção do operador é necessária para operar o sistema além de executar e encerrar a aplicação. A aplicação possui rotinas automáticas para recuperação em caso de erro

Definições adicionais (Hints):

Para níveis 1 a 4 (a):

- A aplicação tem a habilidade de realizar start-up, back-up e recovery, mas exige a intervenção humana para isto.

Para níveis 1 a 4 (b):

- A aplicação tem a habilidade de realizar start-up, back-up e recovery, mas não exige a intervenção humana para isto.

Para níveis 1 a 4 (c):

- A aplicação minimiza a necessidade de acesso a dados que não estão imediatamente disponíveis;

- Isto pode incluir a importação de dados de um processador distribuído para o processador local antes de uma execução (para eliminar retardos de processamentos).

Para níveis 1 a 4 (d):

- A aplicação provê o usuário com dados condensados via uma outra mídia diferente do que papel;

- Isto pode incluir a eliminação de impressões detalhadas ou acessos a relatórios on-line, consultas, microfichas, CDs, ou outras mídias possíveis.

Para nível 5:

- Pontuação de nível 5 esta associada a uma aplicação que executa e se recupera automaticamente de erros, com seus recursos próprios, sem necessitar de atendimento (intervenção);

- Isto pode incluir atendimento via satélite, reatores nucleares ou controle de trafico aéreo.

Apostila para Participante Página 58 de 80

Page 59: Curso de APF - Apostila

Apostila para Participante Página 59 de 80

DICA: Tipicamente:A pontuação não depende da plataforma

Page 60: Curso de APF - Apostila

5.14 Múltiplos locais

Descreve o grau no qual a aplicação foi desenvolvida para ambientes diferentes de software e hardware.

Grau Descrição0 Os requerimentos do usuário não consideram a necessidade de

instalação em mais de um local1 Os requerimentos do usuário não consideram a necessidade de

instalação em mais de um local2 A necessidade de múltiplos locais foi considerada no projeto, e a

aplicação está preparada para trabalhar apenas em ambientes similares de software e hardware

3 A necessidade de múltiplos locais foi considerada no projeto, e a aplicação está preparada para trabalhar apenas em ambientes similares de software e hardware

4 Plano de documentação e manutenção foram providos e testados para suportar a aplicação em múltiplos locais, além disso, os itens 1 e 2 caracterizam a aplicação

5 Plano de documentação e manutenção foram providos e testados para suportar a aplicação em múltiplos locais, além disso, o item 3 caracteriza a aplicação

Definições adicionais (Hints):

- O termo “múltiplos locais” é lógico e não necessariamente físico. Podem existir múltiplos locais dentro da mesma localidade física. O fator determinante é baseado na necessidade de várias instalações.

Para nível 0:

- A maioria das aplicações Mainframe terá provavelmente pontuação de nível 0;

- No entanto, se uma aplicação é instalada em múltiplos computadores mainframe com diferenças significantes de configuração ou sistemas operacionais diferentes, elas devem receber uma pontuação maior que 0;

Para nível 1:

- Por exemplo: Windows NT em hardware com exatamente a mesma configuração;

Apostila para Participante Página 60 de 80

Page 61: Curso de APF - Apostila

Para nível 2:

- Por exemplo: Windows 95, 98 e NT com hardware com configurações similares;

- Variações podem incluir diferente tamanhos de memórias, várias capacidades de armazenagens, diferentes velocidades de processadores e tipos de impressoras diferentes.

Para nível 3:

- Por exemplo: Windows, OS X, UNIX, Linux and VOS3 em diferentes plataformas de hardware;

- As diferenças podem incluir PCs (baseados em processadores Intel), MAC, Tandem, Sun e AS400.

5.15 Facilidade de mudanças (flexibilidade)

Descreve o grau no qual a aplicação foi desenvolvida para ser facilmente modificada em seu processamento lógico ou estrutura de dados.

Grau Descrição0 Nenhum dos itens descritos1 Um dos itens descritos2 Dois dos itens descritos3 Três dos itens descritos4 Quatro dos itens descritos5 Todos os cinco itens descritos

Pontuar de acordo com os itens abaixo descritos:

- A1: Estão disponíveis facilidades como consultas e relatórios flexíveis para atender necessidades simples (contar como um item);

- A2: Estão disponíveis facilidades como consultas e relatórios flexíveis para atender necessidades de complexidade média (conte como 2 itens);

- A3: Estão disponíveis facilidades como consultas e relatórios flexíveis para atender necessidades complexas (conte como 3 itens);

Apostila para Participante Página 61 de 80

DICA: Tipicamente:A pontuação é dependente do número de plataformas diferentes

Page 62: Curso de APF - Apostila

- B1: Dados de controle são armazenados em tabelas que são mantidas pelo usuário por meio de processos on-line. (Conte como 1 item);

- B2: Dados de controle são armazenados em tabelas que são mantidas pelo usuário por meio de processo on-line. As mudanças têm efeito imediatamente (conte como 2 itens).

Definições adicionais (Hints):

- Uma consulta flexível e facilidade de relatórios significa mais do que uma lista de escolhas em uma consulta ou relatório “enlatado”.;

- Diz respeito à habilidade do usuário em controlar dados, fontes de dados, seqüências e formatos das suas consultas ou relatórios;

- Significa liberdade para projetar telas, classificação horizontal e vertical, formatos de apresentação de dados, critérios de seleção tanto para arquivos quanto para itens de dados;

- Inclui a possibilidade do usuário programar suas consultas e é geralmente chamada de facilidades de relatórios “Ad Hoc”;

- Utilização de filtros com controle da quantidade de dados visualizados ou impressos em um formato fixo não é considerado como consulta flexível e facilidade de relatórios;

- Consulta e/ou capacidade de geração de relatórios são geralmente providas por linguagens tais como SQL ou Focus ou por algum gerador dinâmicos de relatórios Ad Hoc (Ex.: Crystal Report).

Para nível A1:

- Requisições simples podem incluir lógicas e/ou aplicadas a somente um ALI

Para nível A2:

- Requisições de complexidade média podem incluir lógicas e/ou aplicadas a mais de um ALI

Para nível A3:

- Requisições de alta complexidade podem incluir lógicas e/ou combinadas em um ou mais ALIs.

Apostila para Participante Página 62 de 80

DICA: Tipicamente:A pontuação não é dependente da plataforma

Page 63: Curso de APF - Apostila

5.16 Calculando o Fator de Ajuste

Fator de Ajuste:

Cada característica pode ser pontuada em níveis que variam de 0 a 5.

Totalizadas as pontuações individuais de cada uma tela, o Fator de ajuste é calculado segundo a fórmula abaixo:

Onde:

TDI é o nível de influência total, advindo da soma da pontuação individual de todas as 14 características gerais.

As características gerais do sistema podem influenciar no seu tamanho variando no intervalo fechado compreendido entre + ou – 35%, o que implica em se ter um fator de ajuste variando entre 0,65 e 1,35.

Apostila para Participante Página 63 de 80

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

Page 64: Curso de APF - Apostila

5.17 Resumo

Cálculo Fator de Ajuste – serve para determinar as características do sistema

Característica Comunicação de Dados – descreve o grau no qual a aplicação se comunica diretamente com o processador.

Característica Funções distribuídas – descreve o grau no qual a aplicação transfere dados entre seus componentes físicos.

Característica Performance – descreve o grau no qual a resposta no tempo e o desempenho solicitado influenciam o desenvolvimento da aplicação.

Característica Configuração do equipamento – descreve o grau no qual restrições de recursos de processamento influenciam o desenvolvimento da aplicação.

Característica Volume de transações – descreve o grau no qual a taxa de transações de negócios influenciam o desenvolvimento da aplicação.

Característica Entrada de dados on-line – descreve o grau no qual os dados são inseridos ou recuperados através de transações interativas.

Característica Interface com o usuário – descreve o grau de consideração para fatores humanos e facilidade de uso para os usuários da aplicação sendo medida.

Característica Atualização On-line – descreve o grau no qual os ALIs da aplicação são atualizados de forma on-line.

Característica Processamento Complexo – descreve o grau no qual o processamento lógico influencia o desenvolvimento da aplicação.

Característica Reusabilidade – descreve o grau no qual a aplicação e seu código foram especificados, projetados, desenvolvidos e suportados para serem utilizados em outras aplicações.

Característica Facilidade de implantação – descreve o grau no qual conversões de ambientes prévios influenciam o desenvolvimento da aplicação.

Característica Facilidade operacional – descreve o grau no qual a aplicação atende a aspectos operacionais tais como: inicializações, back-up e processos de recuperação.

Característica Múltiplos locais – descreve o grau no qual a aplicação foi desenvolvida para ambientes diferentes de software e hardware.

Característica Facilidade de mudanças (flexibilidade) – descreve o grau no qual a aplicação foi desenvolvida para ser facilmente modificada em seu processamento lógico ou estrutura de dados.

Apostila para Participante Página 64 de 80

Page 65: Curso de APF - Apostila

Fórmula de cálculo do Fator de Ajuste - VAF = (TDI * 0,01) + 0,65VAF = (TDI * 0,01) + 0,65

Apostila para Participante Página 65 de 80

Page 66: Curso de APF - Apostila

6 CALCULANDO PONTOS DE FUNÇÃO

6.1 Calcular número de pontos de Função Ajustados

Processo de Contagem

O último passo na contagem de pontos de função envolve o cálculo final para os três tipos de contagem: projeto de desenvolvimento, Projeto de melhoria e aplicação.

6.2 Projeto de Desenvolvimento

São componentes para o cálculo do número de pontos de função de um projeto de desenvolvimento:

- Funcionalidade da aplicação requisitada pelo usuário para o projeto: funções utilizadas após a instalação do software para satisfazer as necessidades correntes do negócio do usuário;

- Funcionalidade de conversão requisitada pelo usuário para o projeto: funções disponíveis no momento da instalação da aplicação para converter dados ou fornecer outros requisitos de conversão especificados pelos usuários, sendo que essas funções são descartadas;

- Valor de Ajuste da aplicação: reflete a complexidade da aplicação e é determinado pela ponderação das 14 características gerais do sistema.

Apostila para Participante Página 66 de 80

Determinar Tipo de Contagem

IdentificarEscopo da Contagem e Fronteira Aplicação

Determinar Contagem de Pontos de Função Não Ajustados

Contar Funções Tipo Dado

Calcular número de pontos de Função Ajustados

Determinar Fator de Ajuste

Contar Funções Tipo Transação

Page 67: Curso de APF - Apostila

Fórmula:

- PFD - Quantidade de pontos de função de desenvolvimento.

- UFP – Pontos de função não ajustados

- CFP – Contagem não ajustada das funções acrescentadas pelo processo de conversão

- VAF - Fator de ajuste.

6.3 Projeto de Manutenção

São componentes para o cálculo do número de pontos de função de um projeto de manutenção:

- Funcionalidade da aplicação requisitada pelo usuário para o projeto: funções adicionadas, alteradas ou excluídas pelo projeto de melhoria;

- Funcionalidade de conversão: funções disponíveis no momento da instalação da aplicação para converter dados ou fornecer outros requisitos de conversão especificados pelos usuários, sendo que essas funções são descartadas;

- Valor de Ajuste da aplicação: reflete a complexidade da aplicação e é determinado pela ponderação das 14 características gerais do sistema.

Considerações para funções do Tipo Dado:

A diretriz básica para considerar que uma função do tipo dado (ALI ou AIE) foi alterada é que ela seja modificada em sua estrutura, ou seja, campos devem ser acrescentados, excluídos ou terem algum atributo alterado. A seguir, são apresentados os procedimentos corretos para algumas situações bem comuns.

- Se a mudança envolve apenas a alteração dos dados armazenados em um arquivo, não se pode considerar que o arquivo foi alterado.

Apostila para Participante Página 67 de 80

PFD = (UFP + CFP) X VAF

LEMBRETE: VAF é obtido após a análise das 14 características gerais do sistema

Page 68: Curso de APF - Apostila

- Se um campo foi adicionado a um ALI ou AIE e ele não é mantido ou referenciado na aplicação sendo contada, então não houve alteração nessa aplicação. Para confirmar se campo é utilizado na aplicação ou não, procure alguma função do tipo transação que tenha sido criada ou alterada para manipular esse campo;

- Se uma aplicação passa a manter ou referenciar um campo já existente e que antes não era utilizado, então se considera que o ALI ou AIE foi alterado para essa aplicação (mesmo que não haja nenhuma alteração física do arquivo);

- Se um campo é adicionado, alterado ou excluído de um ALI ou AIE pertence a várias aplicações e elas referenciam ou mantêm o campo, essa alteração de funcionalidade é contada para cada uma das aplicações;

- Se um arquivo físico ou tabela foi criado pelo projeto de melhoria, não necessariamente resultará em um novo tipo de registro em um ALI ou AIE. Essa tabela pode ser também um novo tipo de registro em um ALI ou AIE existente. Ou também pode não representar nada do ponto de vista do usuário. Revise sempre as regras de identificação das funções do tipo transação.

Considerações para funções do Tipo Transação:

Uma função do tipo transação é considerada modificada quando há alteração em alguns itens:

- Tipos de dados: se eles foram adicionados, excluídos ou alteados da função. Se houve a alteração apenas de elementos visuais, como literais, cores e formatos, não se considera que a função foi alterada;

- Arquivos referenciados: se eles foram adicionados, excluídos ou alterados da função;

- Lógica de processamento: uma transação pode ter várias lógicas de processamento, basta que uma delas seja alterada, excluída ou adicionada para que se considere a função como modificada.

Apostila para Participante Página 68 de 80

Page 69: Curso de APF - Apostila

Fórmula:

- PFM - Quantidade de pontos de função do projeto de Manutenção ou melhoria.

- ADD – Contagem não ajustada das funções acrescentadas á aplicação durante um projeto.

- CHGA – Contagem não ajustada das funções modificadas, com base na complexidade funcional após o projeto.

- CFP – Contagem não ajustada das funções acrescentadas pelo processo de conversão.

- VAFA - Fator de ajuste após projeto de manutenção ou melhoria.

- DEL – Contagem não ajustada das funções excluídas pelo projeto.

- VAFB - Fator de ajuste antes do projeto de manutenção ou melhoria.

Apostila para Participante Página 69 de 80

PFM=[(ADD+CHGA+CFP) X VAFA] + (DEL X VAFB)

DICA: Em um projeto de manutenção o VAFA pode ser igual ao VAFB, depende se a manutenção afetou alguma das 14 características gerais do sistema

Page 70: Curso de APF - Apostila

6.4 Contagem de Aplicações em Produção

Existem duas fórmulas para calcular o número de pontos de função da aplicação.

Fórmula contagem inicial:

PFAp - Quantidade de pontos de função ajustados da aplicação

ADD - Contagem não ajustada das funções acrescentadas à aplicação durante um projeto

VAF - Fator de ajuste

Fórmula após Projeto de Manutenção:

PFAp - Quantidade de pontos de função ajustados da aplicação.

UFPB - Pontos de função não ajustados, antes do projeto de melhoria

ADD - Contagem não ajustada das funções acrescentadas à aplicação durante um projeto.

CHGA - Contagem não ajustada das funções modificadas, com base na complexidade funcional após o projeto.

CHGB - Contagem original não ajustada das funções modificadas, com base na complexidade funcional antes do projeto.

DEL - Contagem não ajustada das funções excluídas pelo projeto.

VAFA - Fator de ajuste após projeto de manutenção ou melhoria.

Apostila para Participante Página 70 de 80

PFAP=[(UFPB+ADD+CHGA)-(CHGB+DEL)] X VAFA

PFAP=ADD X VAF

Page 71: Curso de APF - Apostila

6.5 Estimativa do esforço de trabalho

Objetivos da estimativa

- Fornecer suporte para o processo de estimativas de prazos e custos.

- Estabelecer a produtividade para as fases de desenvolvimento, a partir dos dados históricos.

- Subsidiar a melhoria contínua dos processos.

Estimativa do Esforço de Trabalho

- A estimativa do esforço a ser disponibilizado para a execução do serviço está diretamente relacionada com a plataforma tecnológica, com as características de qualidade e riscos particulares de cada projeto.

- Os índices de produtividade devem ser associados às fases ou ciclos de vida da metodologia adotada para o projeto de desenvolvimento do sistema ou aplicação, para facilitar os controles gerenciais, financeiros e produtivos.

- Anualmente os índices de produtividades deverão ser ajustados, conforme o histórico de desempenho dos projetos.

Cálculo da Estimativa do Esforço de Trabalho

- A cada fase da metodologia utilizada, deverá ser atribuído um percentual de esforço. A divisão percentual de esforço para cada fase deverá considerar o agrupamento de tarefas, atividades e produtos gerados.

- Na fase denominada Construção, a tecnologia utilizada para a codificação constitui o fator determinante da produtividade. O International Software Benchmarking Standards Group (http://www.isbsg.org.au), em sua publicação “The Benchmarking”, poderá ser utilizado como referência de produtividade.

- O resultado obtido a partir da APF está especificamente relacionado com as atividades típicas de análise e programação de sistemas.

Apostila para Participante Página 71 de 80

DICA: Para determinação da produtividade várias questões devem ser diferenciadas como por exemplo: A linguagem de programação, nacionalidade, experiência do time, metodologia para desenvolvimento, dentre outras questões

Page 72: Curso de APF - Apostila

6.6 Interação da Metodologia desenvolvimento de sistemas com o Processo de Estimativa

- Percentual

Refere-se ao percentual do esforço de trabalho sugerido para cada fase da metodologia adotada. Esse percentual poderá vir a ser negociado a cada novo projeto.

- Produtividade

Representa a quantidade de horas necessária para a entrega de cada ponto por função (h/PF).

Fases da Metodologia para referência

- Estudo Preliminar:

Compreende o desenvolvimento de produtos relacionados com a visão geral do projeto, visando prover um entendimento comum sobre os serviços e processos que deverão ser apoiados pelo sistema. Os resultados desta fase deverão ser definidos em conformidade com cada projeto.

O nível de detalhamento desta fase, deverá atender às exigências da APF, buscando assim, apresentar estimativas mais próximas da realidade.

- Análise:

É uma fase fundamentalmente relacionada com a Análise de Requisitos e com a Análise Lógica. Nesta fase, deverão estar claramente definidos os serviços a serem executados pelo software, com formato compatível com a abordagem metodológica definida. A saída principal desta fase deverá ser um protótipo não funcional. Para a APF, está fase é de fundamental importância, visto que as funções de dados e as funções transacionais estarão claramente definidas, favorecendo substancialmente a precisão da contagem.

- Projeto:

É uma fase fundamentalmente relacionada com o Projeto Físico. Nesta fase, deverão estar claramente definidos os modelos de dados, a arquitetura da solução, especificação de componentes e definição dos cenários de testes. Para a APF, está fase proporciona o detalhamento da contagem, visto que todos os elementos já estão definidos.

Apostila para Participante Página 72 de 80

Page 73: Curso de APF - Apostila

- Construção:

É uma fase que objetiva a construção de códigos, buscando a implementação de subsistemas e componentes, abrangendo testes de unidades e de integração dos códigos produzidos. A APF deverá ser realizada após a integração de todos os componentes do software.

- Implantação ou Transição

É uma fase relacionada com a conclusão parcial ou total do serviço contratado. Objetiva produzir releases do produto e entregá-los aos usuários finais. Isto pode incluir atividades de beta-teste, migração de dados ou software existente e aceitação formal. A APF deverá ser realizada buscando indentificar o tamanho real do projeto de software.

Em resumo, a quantidade de horas de cada fase de um projeto de desenvolvimento de software pode ser obtida pela equação abaixo.

Onde:

QH = Quantidade de horas da fase;

TPFA= Total de Pontos por Função Apurados;

PE = Percentual de Esforço da fase;

PD = Produtividade da fase.

Apostila para Participante Página 73 de 80

QH = TPFA X PE X PD

Page 74: Curso de APF - Apostila

6.7 Resumo

Fórmula de cálculo Projeto de Desenvolvimento – (UFP + CFP) * VAF

Fórmula de cálculo Projeto de manutenção e melhoria – [(ADD + CHGA + CFP) * VAFA] + (DEL * VAFB)

Fórmula de cálculo da aplicação – Contagem inicial – ADD * VAF

Fórmula de cálculo da aplicação – Contagem após Melhoria – [(UFPB + ADD + CHGA) – (CHGB + DEL)] * VAFA

Apostila para Participante Página 74 de 80

Page 75: Curso de APF - Apostila

7 PRÁTICAS DE CONTAGEM

7.1 Dados de negócios (Business data)

Também chamadas de objetos de dados do núcleo do negócio do usuário, refletindo informações que são armazenadas e recuperadas pela área funcional e associada da aplicação. Estes tipos de dados são abundantes na aplicação.

Características lógicas:

- São mandatórios para operações da área funcional do usuário;

- São identificáveis pelos usuários (usualmente por um usuário de negócio);

- Mantidos pelo usuário (usualmente por um usuário de negócio);

- Armazena dados do núcleo do negócio para apoiar transações de negócios do usuário;

- Bastante dinâmicas – normalmente muito utilizadas para inclusões, alterações ou exclusões de dados do usuário;

Informadas pelo usuário

Características físicas:

- Possuem campos chaves e muitos atributos;

- Podem ter desde nenhum registro até infinitos registros;

São exemplos deste tipo de dados:

Arquivos de clientes, faturas, empregados, cargos.

O arquivo de cliente em um sistema de gerenciamento de cargos pode incluir atributos tais como:

Número do cargo; Nome do cargo; nome da divisão à qual pertence o cargo; data de início de validade do cargo, etc.

Apostila para Participante Página 75 de 80

Page 76: Curso de APF - Apostila

7.2 Dados de Referência (reference data)

Este tipo de dados é armazenado para suportar as regras de negócios para a manutenção dos dados de negócios do usuário. Estas entidades geralmente representam uma pequena percentagem das entidades identificadas em uma aplicação.

Características lógicas:

- São mandatórios para a operação de áreas funcionais do usuário;

- São identificáveis (usualmente por um usuário de negócio);

- Usualmente mantidos pelo usuário (usualmente por um usuário administrativo da aplicação);

- Usualmente estabelecida quando a aplicação é instalada inicialmente e depois mantida de forma intermitente.

- Armazena dados para apoiar atividades do núcleo de negócios do usuário;

- Menos dinâmicas – ocasionalmente possuem alterações de dados em resposta a modificações em áreas funcionais, processos funcionais externos e/ou regras de negócios.

- As transações de negócios geralmente precisam acessá-las como referência de dados.

Características físicas

- Possuem campos chaves e alguns atributos;

- Usualmente possuem desde um único registro até um número limitado de registros;

São exemplos deste tipo de dados:

Faixas, taxas descontos, limites permitidos, etc.

O arquivo de faixa de cargos, com informações sobre as faixas de valores pagos para cada tipo de cargo além das habilidades para cada cargo, pode conter:

Tipo de cargo; estado; faixa de salário, data de efetivação, descrição da habilidade do cargo, etc

Apostila para Participante Página 76 de 80

Page 77: Curso de APF - Apostila

7.3 Dados de código (Code data)

O usuário não especifica diretamente as code data. Elas geralmente são referidas como tabelas de lista de dados ou de transformação (tradução de dados). Em outros casos elas são identificadas pelos desenvolvedores em resposta a um ou mais requisitos técnicos do usuário. Code datas provêm uma lista de valores válidos que um atributo descritivo pode ter e, geralmente, são compostas somente pelos atributos: Código e descrição e/ou outros padrões descrevendo o código. Por exemplo: abreviações padrão, datas efetivas, datas de términos possíveis, dados de trilha de auditoria, etc.

Quando códigos são utilizados em dados de negócios, é necessário existir uma maneira de tradução para converter o código em algo reconhecível pelo usuário. De forma a satisfazer requisitos técnicos, os desenvolvedores podem muitas vezes criar uma ou mais tabelas contendo “code data”. De forma lógica, o código e sua descrição relacionada têm o mesmo significado e sem a sua descrição o código não pode ser sempre claramente entendido.

As diferenças chaves entre “Reference data” e “code data” são:

- Com “code Data” pode-se substituir o código pela sua descrição sem modificar o sentido dos dados de negócios. Por exemplo: código do aeroporto versus nome do aeroporto, Id da cor versus Descrição da cor.

- Com dados de referencia (Reference data) isto não é possível. Por exemplo: código da taxa de imposto com a própria taxa de imposto.

Características lógicas:

- Os dados são mandatórios para a área funcional, mas opcionalmente armazenados em arquivos de dados;

- Freqüentemente eles não são identificados como parte de um requisito funcional. Usualmente eles são identificados como fazendo parte de do projeto para satisfazer requisitos técnicos.

- Algumas vezes eles são mantidos por usuários (geralmente um usuário de suporte);

- Armazenam dados para padronizar e facilitar atividades e transações de negócios;

- São essencialmente estáticas somente mudando em resposta a modificações na forma de operação do negócio;

- Transações de negócios acessam “code Data” para melhorar a facilidade da entrada de dados, melhorar a consistência de dados, assegurar integridade, etc;

- Ser reconhecidas pelos usuários:

- Algumas vezes consideradas como um grupo do mesmo tipo de dados

- Podem ser mantidas usando a mesma lógica de processamento

Apostila para Participante Página 77 de 80

Page 78: Curso de APF - Apostila

Características Físicas:

- Consistem de campo chave e usualmente um ou dois atributos;

- Tipicamente possuem um número estável de registros;

- Podem representar 50% de todas as entidades na terceira forma normal

- Algumas vezes desnormalizadas e colocadas em uma tabela física com outras “code data”;

- Podem ser implementadas de diferentes formas (por exemplo: via aplicações separadas, dicionário de dados, hard code dentro do software).

São exemplos deste tipo de dados:

Estado: Código do estado, descrição do estado.

Tipo de pagamento: código do tipo de pagamento, descrição do tipo de pagamento.

Observações sobre a origem das “code data”:

Originalmente, a razão para a existência de “code data” foi salvar espaço pelo armazenamento de códigos ao invés de descrições textuais. Para facilidade de manutenção, estes códigos e descrições foram colocados em arquivos ou tabelas para eliminar mudanças no software quando fossem necessárias atualizações.

A “code data” é uma propriedade de um atributo descritivo, também chamado de “meta dados”. Exemplos são: valores válidos, código-descrição de tabelas de traduções. Algumas “code data” são desenvolvidas para satisfazer requisitos específicos do usuário e conter dados que estão dentro dos domínios do usuário. Outras “code data” podem ser derivadas de requisitos do usuário para restringir valores permitidos. “Code data” também podem ser criadas na tentativa de reduzir espaço em discos. Requisitos podem incluir a habilidade de manter “code data”, mas todos eles serão requisitos técnicos.

“Code data” é uma implementação de requisitos técnicos. Em conseqüência, “code data” pode influenciar o tamanho técnico de um produto de software, mas não o tamanho funcional dele (“A Framework for functional sizing”, IFPUG,2003).

DIC

Apostila para Participante Página 78 de 80

DICA: Transações que mantêm Code Data, não são consideradas Funções Transacionais!

Page 79: Curso de APF - Apostila

7.4 Determinação de RLRs e Arquivos lógicos via dependência entre tabelas

Quadro para determinação da quantidade de Arquivos Lógicos e de RLRs, através de análise entre o relacionamento e dependência entre tabelas, de acordo com o CPM 4.2;

Tipo Relacionamento

Condição Existente Contagem

(1) : (N) A e B são independentes

2 Arquivos Lógicos

1 : N B é dependente de AB é independente de

A

1 Arquivo Lógico e 2 RLR

2 Arquivo Lógico 1 : (N) B é dependente de A

B é independente de A

1 Arquivo Lógico e 2 RLR

2 Arquivo Lógico (1) : N A é dependente de B

A é independente de B

1 Arquivo Lógico e 2 RLR

2 Arquivo Lógico (1) : (1) A e B são

independentes2 Arquivo Lógico

1 : 1 A e B são dependentes 1 Arquivo Lógico e 1 RLR

1 : (1) B é dependente de AB é independente de

A

1 Arquivo Lógico e 2 RLR

2 Arquivo Lógico (N) : (M) A e B são

independentes2 Arquivo Lógico

N : M B é dependente de AB é independente de

A

1 Arquivo Lógico e 2 RLR

2 Arquivo Lógico N : (M) B é dependente de A

B é independente de A

1 Arquivo Lógico e 2 RLR

2 Arquivo Lógico

Apostila para Participante Página 79 de 80

Page 80: Curso de APF - Apostila

7.5 Resumo

Dados de Negócios (Business data) – Também chamadas de objetos de dados do núcleo do negócio do usuário, refletindo informações que são armazenadas pela área funcional e associada da aplicação.

Dados de Referência (Reference data) – Este tido de dados é armazenado para suportar as regras de negócios para a manutenção dos dados de negócios do usuário. Estas entidades geralmente representam uma pequena percentagem das entidades identificadas em uma aplicação.

Dados de Código (Code data) – O usuário não especifica diretamente as code data. Elas geralmente são referidas como tabelas de lista de dados ou de transformação (tradução de Dados). Em outros casos elas são identificadas pelos desenvolvedores em resposta a um ou mais requisitos técnicos do usuário.

Apostila para Participante Página 80 de 80