MINISTÉRIO DO DESENVOLVIMENTO, INDÚSTRIA E COMÉRCIO EXTERIOR
SECRETARIA EXECUTIVA
SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO
COORDENAÇÃO GERAL DE MODERNIZAÇÃO E INFORMÁTICA
Guia de Contagem de Pontos de Função para Sistemas de
Business Intelligence - BI e Sistemas Transacionais do
MDIC
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
CAPÍTULO I
MANUAL DE CONTAGEM EM PONTO DE FUNÇÃO
2
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Histórico de Revisão
Data
18/03/2015
Versão
1.0.0
Descrição
Elaboração do Manual.
Autor
Amilton Lobo
Aristóteles Benício
Camilla Bonfim
Fernando Santos
Paulo Mazali
Sebastião Filho
CGMI
SECEX
CGMI
CGMI
Infraero
CGMI
3
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Sumário
1 Introdução
8
2 Objetivos
9
3 Premissas
10
4 Entendimento da Técnica
10
4.1 Definição do Tipo de Contagem
10
4.2 Identificação do Escopo e da Fronteira
11
4.2.1 Escopo da Contagem
4.2.2 Fronteira da Aplicação
4.3 Identificação de Processos Elementares
11
11
11
4.3.1 Entradas Externas (EE)
11
4.3.1.1
Entradas Batch e On-line
12
4.3.1.1.1 Funções On-line com Processamento Batch – Item aplicável
apenas para sistemas transacionais
12
4.3.1.1.2 Funções Executadas em Modo on-line e Batch – Item aplicável
apenas para sistemas transacionais
12
4.3.1.1.3 Funções Batch sem Dados Negociais Cruzando a Fronteira
13
4.3.1.2
Manutenção Evolutiva de Cadastros com Funcionalidades de
Inclusão, Alteração, Exclusão e Reinclusão de Registros – Item aplicável
apenas para sistemas transacionais
13
4.3.1.3
Telas com Campos Habilitados ou Desabilitados – Item aplicável
apenas para sistemas transacionais
13
4.3.2 Consultas (Consultas Externas ou Saídas Externas)
14
4.3.2.1
Consultas Implícitas – Item aplicável apenas para sistemas
transacionais
15
4.3.2.2
Consultas com Filtros Diferentes e Mesmas Saídas
16
4.3.2.3
Consultas com Filtros Iguais e com Saídas Diferentes
16
4.3.2.4
Consultas com Múltiplas Mídias
16
4.3.2.5
Consulta em Vários Arquivos Físicos
16
4.3.2.6
Consulta em Arquivo Físico Único com Vários Blocos de
Informação
17
4.3.2.7
Consulta para Enviar Informações para outra Aplicação – Item
aplicável apenas para sistemas transacionais
17
4.3.2.8
Funcionalidade de Login – Item aplicável apenas para sistemas
4
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
transacionais
18
4.3.2.9
Paginação Simples
18
4.3.2.10 Paginação que Envolve Lógica de Processamento
18
4.3.2.11 Relatórios com Gráficos
19
4.4 Funcionalidades Chamadas a partir de Várias Aplicações ou Fronteiras
– Item aplicável apenas para sistemas transacionais
20
4.4.1 Navegação entre Aplicações e Chamada Funções de outras
Aplicações
4.4.2 Chamada Remota a uma Funcionalidade
4.4.3 Acesso a Dados de Funcionalidades de outras Aplicações
4.5 Alteração de Rotina Complementar a Vários Processos Elementares
20
20
21
21
4.6 Identificação de Funções de Dados
22
4.6.1 Dados de Negócio
22
4.6.2 Dados de Referência
23
4.6.3 Dados de Código
23
4.6.4 Alteração de Lista de Valores Válidos – Domínio (Inclusão/Exclusão
de Valores)
24
4.7 Arquivos Lógicos Compartilhados
24
4.7.1 Arquivos Lógicos Internos
4.7.2 Tabelas Corporativas (Área Comum)
4.7.3 Conceito de Mudança Estrutural em ALI/AIE para Projetos de
Melhoria
4.8 Contagem de Funções para Conversão de Dados
25
25
4.9 Condições para Quebra de Unicidade do Processo Elementar
26
4.10
24
25
4.9.1 Quebra da Unicidade por Ordenação de Campos
Restrições ou Avanços Tecnológicos
26
27
4.10.1 Rolagem de Tela e Abas
27
5 Manutenção de Software
5.1 Manutenção Adaptativa
27
27
5.1.1 Funcionais
28
5.1.2 Não funcionais
28
5.1.2.1
Redesenvolvimento de Software em outra Plataforma – Item
aplicável apenas para sistemas transacionais
28
5.1.2.2
Atualização de Plataforma – Item aplicável apenas para sistemas
transacionais
29
5.1.2.2.1 Aplicações sem Documentação ou com Documentação
5
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Incompleta
29
5.1.2.2.2 Aplicações com Documentação de Requisitos Completa
29
5.1.2.3
Atualização em Textos de Mensagens Exibidas ao Usuário
30
5.1.2.4
Atualização em Páginas Estáticas de Intranet, Internet ou Portal –
Item aplicável apenas para sistemas transacionais
30
5.1.2.5
Múltiplas Mídias
31
5.1.2.6
Documentação de Sistemas Legados
32
5.1.2.7
Desenvolvimento de Funcionalidades para Code Data
32
5.1.2.8
Recuperação de Arquivos Code Data
33
5.2 Manutenção Corretiva
33
5.2.1 Correção de Erros (bug)
5.2.1.1
Aplicação sem Documentação, Desatualizada ou Incompleta e
sem Redocumentação de Requisitos
5.2.1.2
Aplicação sem Documentação, Desatualizada ou Incompleta e
com Redocumentação de Requisitos
5.2.1.3
Aplicação com Documentação Completa
5.2.2 Apuração Especial
5.2.2.1
Correção de Dados
5.2.2.2
Geração de Relatórios
5.2.3 Verificação de Erros
5.3 Manutenção Perfectiva
33
34
34
35
35
35
36
37
37
5.3.1 Mudanças de Interface (Camada de Apresentação)
37
5.3.1.1
Alteração de Elementos na Interface
38
5.3.1.2
Modificação de Layout
38
5.3.1.3
Manutenção em Portais Dinâmicos – Item aplicável apenas para
sistemas transacionais
39
5.3.1.4
Manutenção de Componentes de Portais Dinâmicos – Item
aplicável apenas para sistemas transacionais
40
5.4 Manutenção Adaptativa (Evolutiva) x Manutenção Corretiva
41
6 Atividades sem Contagem de Pontos de Função
41
6.1 Mapeamento de Processos de Negócio
41
6.2 Administração de Dados
41
6.3 Administração da Ferramenta
42
6.4 Treinamentos
42
6.4.1 Treinamento para Implantação
6.4.2 Treinamentos Especialistas
6.5 Documentação Inicial do Projeto
42
42
42
6
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
6.6 Consultoria
7 Diretrizes Específicas
Versão 1.0
Data de Impressão
01/04/15 15:04:31
43
43
7.1 Premissas para Contagens Estimadas de Projeto de Desenvolvimento43
7.1.1 Identificação de Code Datas
7.1.2 Imprimir/Anexar/Selecionar Arquivo
7.1.3 “Aprovar/Reprovar”, “Ligar/Desligar” e Similares
7.1.4 Consultas Implícitas
7.2 Utilização dos Itens Não Mensuráveis – INM
43
43
44
44
45
7.3 Fator de Ajuste
45
7.4 Padronização
45
7.4.1 Nomenclatura
7.4.2 Planilha
7.5 Política de Auditoria
45
46
46
7.5.1 Divergências
7.6 Considerações de Mudança de Requisitos - Exemplo
46
47
7.7 Redocumentação
49
7.8 Processo de Revisão do Guia de Contagem
49
7.8.1
7.8.2
Revisão para Correção de Inconsistências e Situações não Previstas
49
Revisão para Adoção de Novas Versões do CPM [2]
50
8 Apurações Especiais [10]
50
9 Referências Bibliográficas
53
7
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Guia de Contagem de Pontos de Função para Sistemas de
Business Intelligence - BI e Sistemas Transacionais do MDIC
1 Introdução
O Tribunal de Contas da União (TCU) se pronunciou apontando o Ponto de Função (PF) como sendo
a unidade mais adequada para determinar o tamanho de qualquer sistema de informação. O MDIC
alinhado com a IN04 [7], que instrui que a contratação de serviços de Tecnologia da Informação – TI
pela Administração Pública Federal direta, autárquica e fundacional seja feita usando métricas,
indicadores e valores. Ela também adota a técnica de Análise de Pontos de Função – APF como
unidade de medida para apoiar o acompanhamento e controle do processo de desenvolvimento e
manutenção de software.
A APF, técnica normatizada, defendida e divulgada pelo International Funcion Point Users Group –
IFPUG, visa medir o tamanho de um software em termos significativos para os seus usuários, com
base na visão de negócio. O ponto de função – PF é a unidade utilizada para tal fim e busca em um
número ponderar os requisitos funcionais de armazenamento e processamento de uma aplicação. As
regras, procedimentos e práticas de contagem estão definidos no Counting Practices Manual – CPM
[2].
O método de APF do IFPUG é um padrão ISO e está em conformidade com a ISO/IEC 14143-1. O
propósito é medir o tamanho funcional e não o tamanho técnico. O tamanho técnico, ou seja, não
funcional deve ser tratado como uma medida separada.
É importante ressaltar que a técnica de APF foi concebida como uma medida de tamanho funcional
para projetos de desenvolvimento e de manutenção evolutiva ou melhoria (enhancement) de
software. No entanto, os projetos de software não estão limitados a isso. Assim, torna-se essencial a
definição de métodos para o dimensionamento de tamanho de projetos de manutenção
(maintenance) baseados em Pontos de Função para que estes possam ser avaliados e gerenciados
com base em uma métrica, conforme a instrução normativa supracitada.
Para melhor aproveitamento da técnica, é importante uma interpretação por parte da organização
para utilização do CPM [2]. Logo, esse guia serve como orientação adicional que possibilita uma
menor curva de aprendizado de novos profissionais de contagem, aumento da consistência entre as
contagens realizadas por diferentes profissionais, maior convergência entre as contagens, melhor
comunicação entre a organização e empresas contratadas e esclarecimento de pontos omissos do
8
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
CPM [2].
2 Objetivos
Este documento tem como propósito apresentar um guia de contagem de Pontos de Função aderente
ao CPM [2], além de definir os tipos de projetos de manutenção e uma sistemática para dimensionar
o tamanho de tais projetos fundamentando na técnica de APF.
O IFPUG reconhece que alguns tipos de manutenção, onde os requisitos funcionais não são
alterados e não são passíveis de medição pela técnica, conforme o CPM [2]. Faz menção às
definições do Institute of Electrical and Electronics Engineers Inc. – IEEE [1] que define três
categorias de manutenção:
Manutenções adaptativas: Uma manutenção adaptativa é qualquer modificação do
produto de software, realizada depois de entregue, para mantê-lo utilizável em um ambiente
modificado ou mutável. Provê melhorias necessárias para acomodar mudanças no ambiente
no qual o produto de software deve operar. Estas mudanças são aquelas que devem ser
feitas para que o sistema permaneça integrado com um ambiente mutável.
Exemplo: O sistema operacional deve ser evoluído e algumas alterações devem ser
realizadas para acomodar o novo sistema operacional.
Manutenções corretivas: Uma manutenção corretiva é qualquer modificação reativa de um
produto de software, realizada depois de entregue, para corrigir problemas descobertos. A
modificação repara o produto de software para satisfazer os requisitos do sistema. Estão
relacionados
a
términos
anormais
de
processamento
(abends),
comportamentos
inesperados do sistema ou apresentação de resultados incorretos.
Manutenções perfectivas: Uma manutenção perfectiva é qualquer modificação do produto
de software, realizada depois de entregue, para melhorar usabilidade e manutenibilidade.
Proveem melhorias (improvements) para os usuários, melhorias na documentação dos
programas e recodificação para melhorar usabilidade, manutenibilidade e outras
características não funcionais do software.
Quando se trata de manutenção, a APF mede apenas os projetos de melhoria realizados para
atender alterações em requisitos funcionais definidos pelo usuário. Desta forma, manutenções
adaptativas, corretivas e perfectivas que não alteram requisitos funcionais definidos pelo usuário não
são passíveis de medição conforme a técnica de APF.
Apesar destas manutenções não serem passíveis de medição conforme a APF, o MDIC entende que
existem tais demandas e que seu tamanho deve ser dimensionado. Neste guia de contagem, a MDIC
9
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
apresenta um entendimento de como medir tais projetos de manutenção para fins de faturamento. É
apenas uma equiparação ao Ponto de Função.
O guia de contagem apresenta ainda um entendimento conforme a realidade do MDIC para aplicação
da técnica de APF, utilizando como base o CPM [2].
3 Premissas
A concepção deste guia utiliza as seguintes premissas:
Fundamentado nos conceitos, regras e definições apresentadas no CPM [2], versão 4.3.1
mantido pelo IFPUG;
É aplicado a profissionais que já possui conhecimento da técnica de APF;
Não se sobrepõe condições pré-fixadas em contratos entre o MDIC e empresas contratadas
para o desenvolvimento e/ou manutenção de software;
A cada nova versão do CPM publicado pelo IFPUG, a cada demanda não prevista, este guia
pode ser revisto e as alterações devem ser discutidas entre o MDIC e empresas contratadas;
Alinhado com a Metodologia de Desenvolvimento de Sistemas do MDIC – MDS [8];
4 Entendimento da Técnica
Esta seção tem como propósito apresentar o entendimento do CPM [2] para aplicação no MDIC.
4.1 Definição do Tipo de Contagem
O CPM [2] define três tipos de contagem de Ponto de Função, a saber:
Projeto de Desenvolvimento: Este tipo de contagem mede a funcionalidade entregue ao usuário na
primeira instalação do software, quando o projeto estiver completo.
Projeto de Melhoria (Enhancement): Este tipo de contagem mede as modificações em
uma aplicação já existente que adicione, altere ou exclua funções entregues ao usuário
quando o projeto estiver completo.
Aplicação: Este tipo de contagem está relacionado à aplicação instalada. Representa a
baseline da contagem de Ponto de Função de uma aplicação, ou seja, é uma medida das
funções atuais providas ao usuário. Obs.: Não conta Itens não mensuráveis e conta/paga
AIE.
No entanto, projetos de manutenção de software devem ser classificados conforme definições
apresentadas no item 5 deste guia.
10
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
4.2 Identificação do Escopo e da Fronteira
Uma contagem de Pontos de Função se inicia pela definição do propósito da contagem. O
propósito de uma contagem de Pontos de Função é fornecer uma resposta a um problema de
negócio. Após a definição do propósito, deve-se identificar o escopo e a fronteira da contagem
descrita nas subseções seguinte.
4.2.1
Escopo da Contagem
No escopo, são definidas quais são as funcionalidades objeto de determinada contagem. O
escopo da contagem é determinado pelo propósito da contagem. Identifica os sistemas, as
aplicações ou seus componentes que serão dimensionados. Um escopo de contagem pode
conter mais de uma aplicação. No entanto, a contagem de Pontos de Função é realizada
separadamente considerando cada fronteira de aplicação.
4.2.2
Fronteira da Aplicação
A fronteira da aplicação indica o limite lógico entre o sistema que está sendo medido e o
usuário. É uma interface conceitual entre a aplicação (interno) e o mundo do usuário
(externo). Depende da visão do usuário da aplicação. Uma visão de usuário representa uma
descrição formal das necessidades de negócio do usuário na linguagem do usuário, ou seja,
é uma descrição das funções de negócio, independente de considerações técnicas ou de
implementação.
4.3 Identificação de Processos Elementares
Um processo elementar é a menor unidade de atividade identificada pelo usuário. O processo
elementar deve ser autocontido e deixar a aplicação em um estado consistente. Os processos
elementares são representados pelas Funções de Transação e classificados em: Entrada Externa,
Consulta Externa e Saída Externa.
4.3.1
Entradas Externas (EE)
Uma Entrada Externa é um processo elementar que processa dados ou informações de
controles vindos de fora da fronteira da aplicação. A sua principal intenção é manter um ALI
e/ou alterar o comportamento do sistema.
A seguir são descritas as diretrizes para contagem de algumas funcionalidades desse tipo,
as quais apresentam características próprias.
11
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
4.3.1.1 Entradas Batch e On-line
Quanto a funcionalidades batch e on-line, é necessário definir algumas considerações,
baseando-se nas regras de contagem do CPM [2]:
4.3.1.1.1
Funções On-line com Processamento Batch – Item aplicável apenas
para sistemas transacionais
Alguns sistemas possuem funcionalidades on-line com processamento bastante
pesado. Assim, na visão do usuário todo processo é on-line, mas na prática, os
dados são gravados por processos batch. Nestes casos, seguindo a visão do
usuário, as funções batch não são contadas separadamente, ou seja, o
processamento batch faz parte da função on-line.
Exemplo: O cliente realiza um DOC em um caixa eletrônico. Essa transação só
será efetivada após as 16h, que é o momento que uma rotina batch irá processar
todas as transações de DOCs. O processo elementar Efetuar DOC é único e só
é completo após a execução da rotina batch.
4.3.1.1.2
Funções Executadas em Modo on-line e Batch – Item aplicável
apenas para sistemas transacionais
Em alguns sistemas, pode-se observar a opção para o usuário de executar uma
função on-line ou em modo batch.
Exemplo: suponha a função “excluir processos inativos” no Sistema de Controle
de Processo. Esta função pode ser realizada de forma manual pelo usuário em
modo
on-line.
No
entanto,
a
funcionalidade
em
modo
batch
exclui,
automaticamente, todos os processos com a situação de inativo a mais de 1
(um) ano. Já a rotina de modo on-line permite a exclusão de processos inativos
em período informado pelo usuário. Neste caso, apesar das funções on-line e
batch possuírem o mesmo propósito: excluir processos devem ser contadas
separadamente por possuírem lógica de processamento distinta.
As funções executadas em modo batch e modo on-line constituem dois
processos elementares distintos. A contagem de Pontos de Função será
baseada nos critérios de unicidade de funções (Entrada Externa, Consulta
Externa e Saída Externa) do CPM [2], ou seja, se estes processos possuírem os
mesmos arquivos referenciados, os mesmos itens de dados e a mesma lógica de
12
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
processamento serão contados apenas uma vez.
A entrada de dados em modo batch ou on-line não caracteriza uma lógica de
processamento do CPM [2]. É necessário o atendimento a uma lógica de
processamento do CPM [2] para justificar a contagem separada.
4.3.1.1.3
Funções Batch sem Dados Negociais Cruzando a Fronteira
Alguns sistemas possuem funcionalidades batch que não possuem dados
negociais cruzando a fronteira da aplicação.
Exemplo: funcionalidade para exclusão de clientes inativos da base de dados,
funcionalidade para atualização de saldos de contas correntes. Nestes casos, a
funcionalidade existe para atender requisitos funcionais do usuário e devem ser
contadas como Entradas Externas. No entanto, como não existem dados
negociais cruzando a fronteira da aplicação, conta-se 1 DER (tipo de dado) para
a capacidade de iniciar o processo e quantos ALRs forem necessários para
completar o processo elementar.
4.3.1.2 Manutenção Evolutiva de Cadastros com Funcionalidades de Inclusão,
Alteração, Exclusão e Reinclusão de Registros – Item aplicável apenas para sistemas
transacionais
Devem ser observados quais processos elementares realmente estão sendo alterados.
Algumas vezes, as manutenções em cadastros desse tipo não contemplam a operação
de exclusão, portanto esta não deve ser contada como um processo alterado, salvo
quando há alteração ou de campo que seja chave de registro ou inclusão ou exclusão
de arquivo referenciado ou de alguma lógica de processamento específica.
A reinclusão é uma funcionalidade solicitada pelo usuário que permite que registros
previamente excluídos sejam recuperados. Assim, constitui um processo elementar
distinto da alteração. A operação de reinclusão deverá ser contada em manutenções
evolutivas que modifiquem os arquivos referenciados ou os itens de dados ou a lógica
de processamento, segundo as regras de unicidade de funções do CPM [2].
4.3.1.3 Telas com Campos Habilitados ou Desabilitados – Item aplicável apenas para
sistemas transacionais
Para facilitar a inclusão de dados ou para garantir a integridade dos dados informados,
13
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
diversos artifícios técnicos podem ser utilizados. Um deles é habilitar ou desabilitar
campo na tela dependendo de uma informação informada em outro campo.
Cadastro de Funcionário
DADOS PESSOAIS
Nome:
Telefone:
Endereço:
Estado Civil:
Casado
Solteiro
INFORMAÇÃO DO CÔNJUGE
Se o usuário informar a opção solteiro, o sistema desabilita os campos de
“INFORMAÇÃO DO CONJUGE”
Nome:
Telefone:
Regime de casamento:
SALVAR
CANCELAR
Figura 1 - Tela de exemplo "Campos habilitados ou desabilitados"
Exemplo: No sistema de recursos humanos, no momento de inserir um funcionário, foi
implementada um controle de tela onde: se o usuário selecionar a opção de “Estado
Civil” como “Casado”, o sistema permanece com os campos de “INFORMAÇÃO DE
CÔNJUGE” habilitados para preenchimento, porém se o usuário selecionar a opção
“Estado Civil” como “Solteiro”, o sistema desabilita esses campos para preenchimento.
O fato de o usuário informar ou não as informações de cônjuge não gera uma quebra
na unicidade do processo elementar “Inserir funcionário”. O processo elementar deve
ser mensurado somando as informações de cônjuge e as de funcionários para
determinar a quantidade de DER deste.
4.3.2
Consultas (Consultas Externas ou Saídas Externas)
Existem dois conceitos definidos no CPM [2] para Consultas:
A Saída Externa (SE) é um processo elementar que envia dados para fora da
fronteira da aplicação e sua principal intenção é apresentar informação ao usuário
por meio de lógica de processamento adicional à recuperação de dados ou
informações de controle. Sua lógica de processamento deve conter no mínimo uma
fórmula matemática ou cálculo ou ainda criar dado derivado. Esse processo pode
manter um ou vários arquivos lógicos ou alterar o comportamento do sistema.
14
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
A Consulta Externa (CE) é um processo elementar que envia dados para fora da
fronteira da aplicação e sua principal intenção é apresentar informação ao usuário
por meio da recuperação de dados ou informações de controle. Sua lógica de
processamento não envolve fórmula matemática, nem cálculo, não cria dado
derivado, nenhum arquivo lógico é mantido durante o processo e o comportamento
do sistema também não é alterado.
4.3.2.1 Consultas Implícitas – Item aplicável apenas para sistemas transacionais
Consultas implícitas são consultas que exibem os dados de um registro para
alterações, exclusões ou reinclusões. Essa consulta implícita só deve ser contada se
ela não tiver sido considerada anteriormente em outra funcionalidade, a qual tenha a
mesma lógica de processamento, os mesmos arquivos referenciados e itens de dados
na tela.
Exemplo: “Consulta Implícita da alteração de Contratos” e “Consulta de Contratos –
Detalhes”. Se estas duas consultas possuírem a mesma lógica de processamento, os
mesmos arquivos referenciados e os mesmos itens de dados, devem ser contadas
apenas uma vez.
Padrão: para melhor entendimento da documentação de contagem, as funcionalidades
que se enquadrem como consultas implícitas devem ser documentadas da seguinte
maneira: “Consulta implícita da alteração de ‘NOME DA ENTIDADE’”, onde “NOME DA
ENTIDADE” é o nome da entidade de negócio ao qual a consulta implícita irá buscar
informações para alteração.
Alteração Contrato de Aeroportos
FILTROS PARA CONTRATO
Nome do Contrato:
Contrato de TI
Sigla:
CONTI/2010
Data inicial:
01/01/2010
Tipo de Contrato:
Externo
ALTERAR
Data final:
31/12/2012
CANCELAR
Figura 2 - Tela de exemplo de "Consulta implícita"
Exemplo: Para o exemplo apresentado na figura acima, seria documentado um
processo elementar de Consulta Externa com o nome “Consulta implícita de alteração
de Contratos”.
15
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
4.3.2.2 Consultas com Filtros Diferentes e Mesmas Saídas
Uma vez identificado o processo elementar de consulta, seguindo as regras de
contagem do CPM [2], este é classificado em CE ou SE. Assim, devem ser aplicadas
as regras de unicidade do CPM [2] para verificar se estas devem ser ou não contadas.
As consultas que possuem os mesmos itens de dados e arquivos referenciados, mas
possuam filtros diferentes devem ser consideradas Consultas ou Saídas Externas
distintas. Um filtro distinto é uma lógica de processamento distinta - “Dados são
filtrados e selecionados através da utilização de critérios”, portanto estas funções são
únicas e devem ser contadas.
4.3.2.3 Consultas com Filtros Iguais e com Saídas Diferentes
Estas consultas constituem processos elementares distintos e segundo as regras de
unicidade de Consultas Externas e Saídas Externas do CPM [2] devem ser contadas
separadamente porque possuem itens de dados distintos – saídas diferentes. Assim,
se a aplicação tiver duas consultas com filtros iguais e saídas diferentes, estas devem
ser contadas separadamente.
4.3.2.4 Consultas com Múltiplas Mídias
As consultas impressas ou geradas em formatos distintos (txt, word, excel, pdf), caso
envolvam os mesmos arquivos referenciados, os mesmos itens de dados e a mesma
lógica de processamento das consultas mostradas em tela, serão consideradas apenas
uma Consulta Externa ou Saída Externa.
Deve-se ressaltar que esse assunto não é tratado no CPM 4.3.1 [2]. O White Paper [11]
publicado pelo IFPUG aponta que cada organização irá definir o uso ou não o conceito
de múltiplas mídias como parte do tamanho funcional em pontos de função. O MDIC
não considera múltiplas mídias como quebra de unicidade do processo elementar. Este
caso será tratado como manutenção perfectiva, conforme descrito no item 5.1.2.5 deste
documento.
4.3.2.5 Consulta em Vários Arquivos Físicos
Neste caso, é importante analisar qual é o processo elementar. Processos elementares
distintos são funcionalidades distintas, a menos que não atendam os critérios de
unicidade da APF.
16
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
É importante destacar que o processo elementar é a menor unidade de atividade
significativa para o usuário, sendo autocontido e deixando a aplicação em um estado
consistente.
Exemplo 1: O usuário solicita uma consulta com dados de credores, ordens bancárias
e empenhos de um determinado órgão ou unidade gestora. Essa consulta deve trazer o
resultado em três arquivos separadamente. Se estes arquivos forem idênticos, ou seja,
possuir a mesma lógica de processamento, os mesmos arquivos referenciados e itens
de dados, então deve ser considerado apenas um processo elementar, apesar da
distinção de arquivos. Caso contrário, se estes arquivos forem diferentes – lógica de
processamento distinta ou arquivos referenciados distintos ou ainda itens de dados
diferenciados – são considerados 3 processos elementares.
4.3.2.6 Consulta em Arquivo Físico Único com Vários Blocos de Informação
Essa consulta deve ser considerada apenas um processo elementar, quando o arquivo
contiver vários blocos de informação e for requisito de usuário que o processo somente
estará completo quando houver a disponibilidade de todos os blocos dentro do arquivo,
ou seja, os blocos contêm informações vinculadas.
É importante destacar que se a solicitação for extrair informações desvinculadas e, por
considerações técnicas, o usuário solicita que estas informações sejam agrupadas em
um mesmo arquivo, não se deve considerar apenas um processo elementar. Cada
extração, neste caso, deve ser considerada um processo elementar distinto.
Exemplo: Um arquivo de remessa do banco é disponibilizado com informações de
conta a pagar e conta a receber. Foi utilizado apenas um arquivo físico por razões
técnicas, porém para o negócio trata-se de duas visões distintas. Logo, tem-se dois
processos elementares de Consultas / Saídas Externas.
4.3.2.7 Consulta para Enviar Informações para outra Aplicação – Item aplicável
apenas para sistemas transacionais
Em algumas situações, é necessário o desenvolvimento de um componente que
permita a consulta de informações do sistema em tempo real para integração com
outras aplicações.
Exemplo: O desenvolvimento de um webservice em uma aplicação “A”, possibilitando
17
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
CGMI/SPOA/SE/MDIC
01/04/15 15:04:31
que outra aplicação “B” possa utilizar este webservice para permitir a consulta de
informações ao usuário. Para a aplicação “A”, o webservice desenvolvido deverá ser
contado como uma Consulta Externa ou Saída Externa, pois sua principal intenção é
enviar dados ou informações de controle para fora da fronteira da aplicação, ou seja,
para outra aplicação. Para a aplicação “B”, o webservice consultado também será uma
Consulta Externa ou Saída Externa, pois sua principal intenção é referenciar dados ou
informações de controle da aplicação “A”.
4.3.2.8 Funcionalidade de Login – Item aplicável apenas para sistemas transacionais
Funcionalidades de login devem ser consideradas um processo elementar classificado
como uma saída externa (SE), quando apresentarem criptografia em sua lógica de
processamento, caso somente recupere informações deve ser classificado como uma
Consulta Externa (CE).
4.3.2.9 Paginação Simples
Geralmente em relatórios extensos, é necessária a utilização de paginação para melhor
usabilidade do documento principalmente depois de impresso. A simples paginação do
documento para esse fim não deve ser considerada para avaliação da funcionalidade
em Consulta Externa ou Saída Externa.
4.3.2.10 Paginação que Envolve Lógica de Processamento
Algumas funcionalidades, geralmente em grids (tabelas), o usuário solicita uma
paginação para entender o resultado de uma consulta. Costuma ser especificada a
quantidade de registros encontrados em relação à quantidade de registros existentes.
Esta paginação, quando especificada pelo usuário, pode ser considerada para
avaliação da funcionalidade em Consulta Externa ou Saída Externa.
18
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Consulta de Contratos para Aeroportos
FILTROS PARA CONTRATO
Nome do Contrato:
Sigla:
Data inicial:
Data final:
Tipo de Contrato:
PESQUISAR
CANCELAR
FILTROS PARA CONTRATO
Nome do Contrato
Sigla
Data inicial
Data final
Tipo de Contrato
Contrato de TI
CONTI/2010
01/01/2010
31/12/2012
Interno
Resultado da pesquisa: 1 registro encontrado de 125 registros do possíveis. Página 1 de 1.
Figura 3 - Tela de exemplo de "Paginação que envolve lógica de processamento"
Exemplo: O sistema de contratos apresenta uma funcionalidade de consulta de
contratos (vide figura 3) para apresentar o resultado da consulta. O usuário especificou
que deveria aparecer uma linha de resumo da consulta, que apresenta a quantidade de
registros retornados e a quantidade dos possíveis registros a serem pesquisados. Para
esta situação, a paginação com essa análise da consulta pode ser utilizada para
avaliação da funcionalidade em Consulta Externa ou Saída Externa.
4.3.2.11 Relatórios com Gráficos
Funções transacionais que contenham gráficos que apenas recuperam dados na tela
devem ser consideradas como Consulta Externa, a simples geração de gráfico não é
suficiente para determinar que foi efetuado cálculo ou derivou algum dado, isso é uma
solução técnica [4 – página 103].
Caso o relatório apresente a mesma informação em diversos tipos de gráficos, por
exemplo, pizza, barras, linhas etc em momentos diferentes, cada gráfico deve ser
considerado um processo elementar distinto, pois existe uma quebra na lógica de
processamento de cada um destes.
19
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
4.4 Funcionalidades Chamadas a partir de Várias Aplicações ou
Fronteiras – Item aplicável apenas para sistemas transacionais
4.4.1
Navegação entre Aplicações e Chamada Funções de outras Aplicações
A navegação entre aplicações não é contada como processo elementar da aplicação de
origem (aplicação que chama a funcionalidade). A navegação apenas é considerada
quando a aplicação de origem chama uma funcionalidade de outra aplicação por meio de
tecla de função, menu, link etc. Observe que, no caso de navegação, há um link que leva o
usuário para a outra aplicação executar completamente a funcionalidade. Se a aplicação em
questão recupera dados de funcionalidades de outras aplicações e as retorna para o
usuário, não se trata de navegação e então a funcionalidade deve ser contada. Ou ainda, se
a aplicação em questão passa parâmetros para outra aplicação executar a funcionalidade,
este caso também não deve ser considerado navegação.
O envio de parâmetros para outras aplicações é considerado um processo elementar –
envio de dados para outra aplicação. No entanto, a contagem da funcionalidade depende do
atendimento às regras de contagem de Consulta Externa ou Saída Externa.
Exemplo 1: O sistema de empréstimo utiliza o sistema corporativo de cadastro de clientes.
Portanto, apesar do sistema de empréstimo ter um link para cadastrar o cliente, este
requisito funcional não faz parte do sistema de empréstimo e sim do sistema de clientes.
Deve ser considerado na contagem do sistema de empréstimo apenas a função de dados
cliente como AIE (Arquivo de Interface externa), não devendo considerar a função
transacional de cadastro de cliente como EE do sistema de empréstimo.
Exemplo 2: O sistema de empresas utiliza a funcionalidade de pesquisa de municípios do
sistema corporativo. Portanto, apesar do sistema de empresa ter um link para esta
funcionalidade de pesquisa, este requisito funcional não faz parte do sistema de empresa e
sim do sistema corporativo.
4.4.2
Chamada Remota a uma Funcionalidade
Se uma funcionalidade em uma aplicação “A” envia dados para outra aplicação “B”
processá-los e armazená-los, então a funcionalidade em “B” não será contada no escopo da
aplicação “A”. Neste caso, a funcionalidade de “A” é o envio de dados para “B” podendo ser
classificada como uma CE ou SE. Deve-se contar como itens de dados da função CE ou
SE, os dados que cruzam a fronteira da aplicação “A”. Em “B” a funcionalidade é uma EE.
20
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Deve-se contar como itens de dados da EE, os dados que cruzam a fronteira da aplicação
“B”.
Exemplo: O sistema de estatísticas recebe arquivos das empresas aéreas contendo
informações estatísticas sobre os voos realizados pelas empresas em determinado período.
A funcionalidade de importação destes arquivos para o sistema de estatística deve ser
considerada Entrada Externa. Os arquivos enviados pelas empresas aéreas devem ser
contados CE ou SE para os sistemas destas empresas.
4.4.3
Acesso a Dados de Funcionalidades de outras Aplicações
Se uma funcionalidade em uma aplicação “A” acessa dados de outra aplicação “B”, por
meio de uma funcionalidade em “B”, em vez de acessar um arquivo (AIE) diretamente,
esses dados serão considerados um AIE da aplicação que requereu os dados, desde que
esse grupo de dados seja originalmente recuperado de um arquivo lógico em “B” e não seja
gravado em um ALI de “A”. Se o dado for gravado também em um ALI de “A” por meio de
processamento adicional que não seja somente uma cópia estática, somente se contará
esse ALI. De fato, um grupo de dados não pode ser contado como ALI e AIE. Caso ocorra
leitura de dados de arquivo de outra aplicação para validação de dados da aplicação em
questão, então o AIE deve ser contado.
É importante observar que, se uma funcionalidade em uma aplicação “A” acessa dados de
outra aplicação “B”, os dados serão considerados um AIE da aplicação “A”, independente da
forma tecnológica utilizada para o acesso.
Exemplo 1: Se a aplicação “A” estiver utilizando uma view da aplicação “B” que faz acesso
a vários arquivos lógicos da aplicação “B”, cada arquivo lógico utilizado será considerado
um AIE para a aplicação “A”. Não se pode considerar a view como um arquivo lógico, pois é
apenas uma forma de implementação.
Exemplo 2: Se a aplicação “A” estiver utilizando um webservice da aplicação “B” que faz
acesso a vários arquivos lógicos da aplicação “B”, cada arquivo lógico utilizado será
considerado um AIE para a aplicação “A”. Não se pode considerar o webservice como um
arquivo lógico, pois é apenas uma forma de implementação.
4.5 Alteração de Rotina Complementar a Vários Processos
Elementares
21
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
A alteração de uma rotina (que não seja um processo elementar) compartilhada por vários
processos elementares dentro da mesma aplicação, a qual lhes serve de complemento, será
considerada alteração em todos os processos elementares daquela aplicação que a utilizam
porque a rotina faz parte da implementação do processo elementar.
Exemplo: A alteração da rotina de acionamento de evento deverá ser contada como alteração em
todos os documentos que acionem aquele evento. Ex.: Funcionalidades que enviam e-mail.
4.6 Identificação de Funções de Dados
O CPM [2] define três tipos de dados e a forma como são considerados na Contagem de Ponto de
Função de uma aplicação. Os dois primeiros atendem a requisitos funcionais de usuário e o
terceiro a requisitos técnicos.
4.6.1
Dados de Negócio
Esses dados representam a informação central trazida do modelo conceitual da aplicação.
Representam as entidades de negócio da aplicação, ainda que não se tenha
necessariamente uma relação um para um entre os grupos desses dados (Arquivos
Lógicos) e as entidades de negócio. As áreas funcionais da aplicação armazenam e
recuperam essas informações em atendimento a requisitos de usuário e, por atenderem a
requisitos funcionais, devem ser contados como funções de dados.
Inserção de Contratos para Aeroportos
DADOS DO CONTRATO
Nome do Contrato:
Contrato de Infraestrutura de Tecnologia
Sigla:
COTI/2010/2015
Data inicial:
01/01/2010
Tipo de Contrato:
COD - TIPO
Data final:
01/01/2010
Informação de domínio: “I” – Interno e “E” - Externo
SALVAR
CANCELAR
Figura 4 - Tela de exemplo de dados de negócio
Exemplo: A tabela utilizada para armazenar informações de contratos, conforme figura
acima, certamente será um dado de negócio para a aplicação de gestão de contratos e
deve ser mensurada como função de dados.
22
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
4.6.2
Data de Impressão
Dados de Referência
Esse tipo de dados está ligado ao processamento de regras de negócio. Armazenam
grande parte das regras de negócio relacionadas às funções de negócio e servem para
“suportar” as atividades principais do usuário no sistema.
Esses dados normalmente são mantidos por usuários de negócio. Sua alteração está ligada
diretamente à alteração nas regras de negócio da aplicação e, por darem suporte a regras
de negócios, são também contados como funções de dados.
Exemplo: Tabela de alíquota de imposto de renda para sistema de folha de pagamento.
4.6.3
Dados de Código
Também conhecidos como dados de lista ou dados de tradução, servem para converter
informações de sistema não familiares ao usuário em algo reconhecido, tais como a
substituição de um código (identificação de um registro numa base de dados) por seu título
ou nome. É utilizado também para restringir valores válidos para um determinado campo de
uma funcionalidade. Como atende a requisitos técnicos, esse tipo de dado não é contado
como função de dado e as transações que os consultam ou atualizam também não são
contadas como funções transacionais. Verificar o item 5.1.2.7 deste documento para
mensurar funcionalidades desenvolvidas para manutenção de code data.
Inserção de Contratos para Aeroportos
DADOS DO CONTRATO
Nome do Contrato:
Contrato de Infraestrutura de Tecnologia
Sigla:
COTI/2010/2015
Data inicial:
01/01/2010
Data final:
01/01/2010
AEROPORTO RESPOSÁVEL PELO CONTRATO
Aeroporto:
COD - AEROPORTO
Regional:
COD - REGIONAL
Combobox carregado através de uma lista estática de aeroportos.
Após selecionar um aeroporto, a combobox de regionais é
preenchida para o aeroporto selecionado, através
de uma lista estática de regionais.
SALVAR
CANCELAR
Figura 5 - Tela de exemplo de "code data"
Exemplo: Sistemas que utilizam informações de aeroporto e regionais, conforme exemplo
da figura acima, onde essas informações sejam essencialmente estáticas, mantidas em um
23
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
banco de dados por razões técnicas (para facilitar a manutenção ou garantir a integridade
dos dados informados). Essas informações são consideras code data. Caso essas
informações estejam armazenadas em uma área comum ou outro sistema, esse repositório
não pode ser mensurado como Arquivo Lógico para a aplicação nem tão pouco os
processos elementares desenvolvidos para referenciar estas informações. Nestes casos,
verificar o item 5.1.2.7 deste documento para mensurar funcionalidades desenvolvidas para
manutenção de code data.
4.6.4
Alteração de Lista de Valores Válidos – Domínio (Inclusão/Exclusão de Valores)
Muitos sistemas utilizam listas de valores válidos, que são code data por definição. A mera
decodificação de um novo código não será considerada alteração da lógica de
processamento, portanto não deverá ser contada em um projeto de melhoria.
De fato, a inclusão de itens não pode ser contada como uma manutenção evolutiva. Assim,
tal demanda será contada como uma manutenção corretiva de atualização de dados
conforme item 5.2.2.1 deste documento.
Inserção de Contratos para Aeroportos
DADOS DO CONTRATO
Nome do Contrato:
Contrato de Infraestrutura de Tecnologia
Sigla:
COTI/2010/2015
Data inicial:
01/01/2010
Tipo de Contrato:
COD - TIPO
Data final:
01/01/2010
Informação de domínio: “I” – Interno e “E” - Externo
SALVAR
CANCELAR
Figura 6 - Tela de exemplo de "lista de valores válidos"
Exemplo: Conforme apresentado na figura acima, a inclusão de um novo “Tipo de Contrato”
ou alteração de um dos itens se enquadra na situação descrita neste item.
4.7 Arquivos Lógicos Compartilhados
4.7.1
Arquivos Lógicos Internos
Um ALI será considerado compartilhado se for atualizado por mais de uma aplicação e a
sua complexidade será definida individualmente em cada fronteira pelos itens de dados
atualizados e referenciados em cada fronteira específica.
24
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
4.7.2
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Tabelas Corporativas (Área Comum)
Em projetos de desenvolvimento ou de melhoria, as tabelas corporativas serão contadas
como funções de dados – Arquivo Lógico Interno (ALI) para as fronteiras que o mantém ou
Arquivo de Interface Externa (AIE) para as demais fronteiras que as referenciam. Nas
demais fronteiras, essas tabelas serão contadas também como arquivos referenciados para
as funções transacionais.
4.7.3
Conceito de Mudança Estrutural em ALI/AIE para Projetos de Melhoria
Sempre que houver uma mudança estrutural por necessidade do negócio do usuário em um
ALI/AIE, este deverá ser contado como função de dados alterada em um projeto de
melhoria.
Mudança estrutural é toda inclusão ou exclusão de campo de um arquivo lógico ou
alteração de suas características (alteração de tipo de campo – numérico para alfanumérico
etc.). Simples alterações de valores válidos em um ALI não serão consideradas mudanças
estruturais.
Exemplo: Se um campo aceitava os valores 1, 2 e 3 e passa a aceitar também o valor 4,
isto não será considerada uma mudança estrutural. Portanto, não é contado como um
projeto de melhoria. Tal demanda será mensurada como uma manutenção corretiva de
atualização de dados, conforme item 5.2.2.1 deste documento.
Mudanças estruturais que reflitam em mudança de lógica de processamento, tal como
mudança em validações nas funcionalidades, estas funcionalidades serão consideradas
funcionalidades alteradas em um projeto de melhoria.
4.8 Contagem de Funções para Conversão de Dados
No CPM [2] existe a diretriz para a contagem de função de conversão de dados em projetos de
desenvolvimento e de melhoria, assim essas funcionalidades de conversão de dados deverão ser
contadas.
Funcionalidades de conversão consistem em funções fornecidas apenas na instalação para
converter dados e/ou atender outros requisitos de conversão especificados pelo usuário, tais como
relatórios especiais de conversão.
Exemplo: se uma aplicação de Recursos Humanos (RH) estava em uso e uma nova aplicação é
25
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
instalada para substituir a aplicação anterior, os usuários desejam que as informações dos
funcionários sejam convertidas e carregadas dentro da nova aplicação. O requisito de conversão
especificado pelo usuário é para transferir os dados atuais dos funcionários para o novo sistema
de RH. Os requisitos de conversão são contados como Entradas Externas, de acordo com as
diretrizes do CPM [2]. Os arquivos do antigo sistema que está sendo substituído não devem ser
contados como Arquivos de Interface Externa (AIEs) da nova aplicação.
4.9 Condições para Quebra de Unicidade do Processo Elementar
Conforme o CPM [2], um processo elementar é a menor unidade de atividade que tem significado
para o(s) usuário(s), deve ser autocontido e deixar o negócio da aplicação que está sendo contada
em um estado consistente.
Para que ocorra a quebra da unicidade do processo elementar, é necessário que pelo menos uma
das três situações abaixo ocorra:
A lógica de processamento é diferente das lógicas executadas em outros processos
elementares da aplicação.
O grupo de dados identificado é diferente dos grupos identificados em outros processos
elementares da aplicação.
Os ALIs ou AIEs referenciados são diferentes dos arquivos referenciados em outros
processos elementares da aplicação.
De fato, a unicidade do processo elementar é um dos pontos mais polêmicos entre os
especialistas e foco de diversas discussões na área. Esta sessão tem o objetivo de respaldar o
entendimento sobre a quebra da unicidade do processo elementar em algumas situações
polêmicas e já bastante discutidas no meio.
4.9.1
Quebra da Unicidade por Ordenação de Campos
Em projeto de desenvolvimento, duas consultas com ordenações diferentes ou edição de
dados (formatação de dados) diferentes contam apenas uma vez. No entanto, em um
projeto de manutenção, a demanda do cliente de alteração em uma ordenação de uma
consulta existente é contada como funcionalidade alterada, porque a lógica de
processamento de ordenação será modificada. As demandas de alteração na disposição
dos campos na tela ou de edição de dados (formatação) devem ser tratadas como
manutenções perfectivas, conforme detalhado no item 5.3 deste documento.
Existem também situações de consultas em que o usuário pode selecionar o campo que
26
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
será utilizado para ordenação dos resultados da consulta. Nestes casos, deve ser contado
um único processo elementar, porque a lógica de processamento de ordenação não é
suficiente para quebrar a unicidade do processamento elementar. No entanto, em um
projeto de melhoria, se o usuário solicitar uma nova opção de ordenação nesta consulta,
esta será contada como funcionalidade alterada, porque a lógica de processamento de
ordenação será modificada.
4.10 Restrições ou Avanços Tecnológicos
4.10.1 Rolagem de Tela e Abas
Quando uma aplicação não fornecer explicitamente esses recursos e for utilizado outro
artifício para simular esta característica, o acesso às diversas seções dos dados ou a
rolagem de telas não deverão ser considerados processos elementares distintos.
Considerar-se-á sempre a funcionalidade que provê todo o conjunto dos dados solicitados
pelo usuário, independente da forma de visualização na consulta.
Deve-se ressaltar que a contagem de Pontos de Função é baseada na identificação do
processo elementar e não na implementação do mesmo. Assim, se uma consulta for
mostrada em uma tela com rolagem ou abas, esta será contada apenas uma vez. No
entanto, em alguns casos as abas em uma tela são implementações de processos
elementares distintos. Assim, nestes casos devem-se contar todos os processos
elementares distintos.
5 Manutenção de Software
Esta seção tem como propósito descrever os diversos tipos de projetos de manutenção e mostrar
uma solução para o seu dimensionamento em Pontos de Função, visto que o CPM [2] não contempla
projetos de manutenção (maintenance), mas apenas o de melhoria (enhancement). Costumam ser
chamados de Itens Não Mensuráveis – INM.
5.1 Manutenção Adaptativa
Segundo o padrão IEEE [1], manutenção adaptativa é definida como: modificação de um produto
de software concluído após a entrega para mantê-lo funcionando adequadamente em um
ambiente mutável.
Uma manutenção adaptativa pode envolver mudanças em requisitos funcionais ou não funcionais
27
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
(qualidade ou técnico) da aplicação. Assim, serão divididas em manutenções adaptativas de
requisitos funcionais e não funcionais.
5.1.1
Funcionais
As manutenções adaptativas que envolvem requisitos funcionais são consideradas pela
APF como Projeto de Melhoria (enhancement). Estão associados às mudanças em
requisitos funcionais da aplicação, ou seja, a inclusão, alteração ou exclusão de
funcionalidades em aplicações em produção.
Nestes casos, deve-se aferir o tamanho em Pontos de Função conforme definições, regras
e fórmulas para Projetos de Melhoria (enhancement) definidos no CPM [2].
5.1.2
Não funcionais
As manutenções adaptativas envolvem requisitos não funcionais, ou seja, requisitos de
qualidade ou técnicos que não são medidos pela técnica de APF. Seguem os seguintes
tipos de manutenção adaptativa nesta categoria:
Redesenvolvimento de software em outra plataforma;
Atualização de plataforma;
Atualização em textos de mensagens exibidas ao usuário;
Atualização em páginas estáticas de intranet, internet ou portal;
Múltiplas mídias;
Documentação de sistemas legados;
Desenvolvimento de funcionalidades para code data.
5.1.2.1 Redesenvolvimento de Software em outra Plataforma – Item aplicável apenas
para sistemas transacionais
São considerados nesta categoria projetos que precisam ser migrados para outra
plataforma.
Exemplo: Um sistema legado em COBOL precisa ser redesenvolvido em JAVA.
Tais demandas costumam surgir de sistemas legados, que frequentemente encontramse sem documentação ou com uma documentação desatualizada. Logo, estes projetos
serão considerados como novos projetos de desenvolvimento, pois terão que passar
por todo ciclo de desenvolvimento. Neste caso, os projetos devem utilizar as definições,
regras e fórmulas para Projetos de Melhoria definidas no CPM [2].
28
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
5.1.2.2 Atualização de
Plataforma
–
Data de Impressão
Item aplicável
apenas
para
sistemas
transacionais
São consideradas nesta categoria demandas para atualização em uma aplicação
existente ou parte dela para executar em versões mais atuais de browsers (ex: versão
atual do Internet Explorer, Mozila, Firefox etc.), de linguagens de programação (ex:
versão mais atual do Delphi) ou de banco de dados (ex: versão mais atual do Oracle).
Também são consideradas nesta categoria aplicações Web desenvolvidas para
executar em Internet Explorer que precisam executar também em browser em software
livre. Nesta categoria, foram observadas demandas dos seguintes tipos:
5.1.2.2.1
Aplicações sem Documentação ou com Documentação Incompleta
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade
ou das funcionalidades impactadas e considera 80% destas, conforme
definições, regras e fórmulas para Projetos de Melhoria definidas no CPM [2]. As
funções de conversão de dados, se aplicável, devem ser consideradas em
100%.
Deve-se destacar que além da adequação das funcionalidades em questão a
documentação também deve ser atualizada.
INM = (PFf * 0,80) + PFc
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
PFc: Total de Pontos de Função das funções para conversão de dados
5.1.2.2.2
Aplicações com Documentação de Requisitos Completa
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade
ou das funcionalidades impactadas e considera 60% destas, conforme
definições, regras e fórmulas para Projetos de Melhoria definidas no CPM [2]. As
funções de conversão de dados, se aplicável, devem ser consideradas em
100%.
Deve-se destacar que somente serão adequadas as funcionalidades em questão
e que a documentação não precisa ser atualizada.
29
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
INM = (PFf * 0,60) + PFc
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
PFc: Total de Pontos de Função das funções para conversão de dados
5.1.2.3 Atualização em Textos de Mensagens Exibidas ao Usuário
São consideradas nesta categoria as demandas de alteração no texto de mensagens
apresentadas ao usuário, desde que estas mensagens não façam parte de ALI’s ou
AIE’s.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 10% destas, conforme definições, regras e
fórmulas para Projetos de Melhoria definidas no CPM [2].
Não será contemplada a documentação das funcionalidades nas demandas desta
categoria.
INM = PFf * 0,10
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.1.2.4 Atualização em Páginas Estáticas de Intranet, Internet ou Portal – Item
aplicável apenas para sistemas transacionais
São manutenções em páginas estáticas de Portais, Intranets ou Websites.
Exemplo: páginas de Ajuda, Perguntas mais Frequente (FAQ) ou páginas
institucionais estáticas.
A demanda consiste na publicação de páginas. Nestes casos, considera-se 50% dos
Pontos de Função das consultas desenvolvidas. Cada página é contada como uma
consulta. As consultas são consideradas Consultas Externas Simples (3 PF).
30
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
INM = P * 1,5
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
P: Total de páginas incluídas e/ou alteradas
Por exemplo: alteração de página de estilo, criação de página html, atualização de
menu, atualização de texto ou banner em páginas html existentes.
As demandas de criação de Logomarcas ou identidade visual ou outras demandas de
criação de Arte, associadas à área de Comunicação Social não são enquadradas
nessa categoria.
As demandas de portais dinâmicos, construídos por meio de gerenciador de conteúdo
também não são contempladas nessa categoria. Esse item é categorizado em 5.3.1.3.
5.1.2.5 Múltiplas Mídias
Há situações em que o cliente solicita uma consulta ou relatório com apresentação de
dados em tela, com opções para geração deste relatório em outras mídias e/ou
formatos de apresentação (ex: pdf, excel, txt etc.).
Vale lembrar que quando houver diferença nos itens de dados, arquivos referenciados
e/ou lógica de processamento, cada camada de apresentação deve ser contada como
um processo elementar diferenciado.
Neste caso existe quebra na unicidade do
processo elementar, de acordo com os critérios do CPM [2].
No entanto, nos casos em que não há quebra na unicidade do processo elementar,
existe um esforço que é necessário para o desenvolvimento de cada camada de
apresentação.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade
principal e considera 50% destas, conforme definições, regras e fórmulas para Projetos
de Melhoria definidas no CPM [2]. Vale ressaltar que deve ser calculado para cada
mídia e/ou formado adicionado.
INM = PFp * 0,50
31
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFp: Total de Pontos de Função da funcionalidade principal
5.1.2.6 Documentação de Sistemas Legados
São demandas de documentação ou atualização de documentação de sistemas
legados. Para este tipo de demanda, será considerada somente documentação de
requisitos.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 30% destas, conforme definições, regras e
fórmulas para Projetos de Desenvolvimento definidas no CPM [2].
INM = PFf * 0,30
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
Caso a demanda seja a geração de artefatos além dos requisitos, deve-se considerar
um percentual mais alto de 40% a 50%, dependendo dos artefatos a serem gerados.
Neste caso, o MDIC avaliará o percentual a ser adotado.
5.1.2.7 Desenvolvimento de Funcionalidades para Code Data
Demandas de desenvolvimento de funcionalidades consideradas code data (Dados de
Código) pela técnica não são mensuráveis em pontos de função. Também não são
mensurados os processos elementares que consultam ou mantém estes arquivos.
No entanto, existe um esforço de custo e prazo para o desenvolvimento destas
funcionalidades. Para mensuração deste esforço, considera-se 50% dos pontos de
função para as funções transacionais envolvidas (inclusão, alteração, exclusão e
consulta). Para cada função transacional, será considerada complexidade Simples. A
função de dados não deve ser mensurada.
INM = PFf * 0,50
32
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.1.2.8 Recuperação de Arquivos Code Data
No caso de criação ou alteração de consultas para preencher dados recuperados de
arquivos code data, para exibição em componentes combo-box, list-box e similares,
considera-se 30% para cada função transacional de consulta, considerando-se a
complexidade simples.
INM = PFf * 0,30
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.2 Manutenção Corretiva
Uma manutenção corretiva é qualquer modificação reativa de um produto de software, realizada
depois de entregue, para corrigir problemas descobertos. Identificamos os seguintes tipos de
manutenção corretiva:
Correção de erros (bug);
Apuração especial;
Verificação de erros.
Manutenções corretivas devem observar os prazos e condições de garantias estabelecidas em
contrato, para definir se serão cobradas ou não.
5.2.1
Correção de Erros (bug)
Mesmo com a execução de atividades de garantia da qualidade, o cliente pode
identificar defeitos na aplicação entregue.
As manutenções corretivas para correção de erros (bugs) devem levar em
consideração a documentação do sistema disponível e os artefatos a serem mantidos.
Seguem as fórmulas a serem consideradas:
33
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
INM = FI * PF_ALTERADO
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
FI: Fator de Impacto
50% quando estiver fora da garantia e a correção for feita pela mesma
empresa que desenvolveu a funcionalidade.
75% quando estiver fora da garantia e a correção for feita por empresa
diferente daquela que desenvolveu a funcionalidade.
As demandas de manutenção corretiva não contemplam atualização de documentação
da funcionalidade corrigida, pois este Guia considera que, normalmente, a manutenção
corretiva não se refere a erros de requisitos. Caso seja erro em requisitos, essa
demanda deve ser tratada como projeto de Melhoria.
Quando o sistema não estiver na garantia, esta manutenção deverá ser cobrada do
cliente e medida para tal. A estimativa e dimensionamento de tamanho de projetos de
manutenção corretiva em Pontos de Função devem levar em consideração a
documentação do sistema disponível e os artefatos a serem mantidos.
5.2.1.1 Aplicação sem Documentação, Desatualizada ou Incompleta e sem
Redocumentação de Requisitos
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 80% destas, conforme definições, regras e
fórmulas para Projetos de Melhoria definidas no CPM [2].
INM = PFf * 0,80
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.2.1.2 Aplicação sem Documentação, Desatualizada ou Incompleta e com
Redocumentação de Requisitos
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 100% destas, conforme definições, regras
e fórmulas para Projetos de Melhoria definidas no CPM [2]. Deve-se destacar que além
da correção das funcionalidades, a documentação do projeto deve ser atualizada.
34
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
INM = PFf * 0,25
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.2.1.3 Aplicação com Documentação Completa
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 60% destas, conforme definições, regras e
fórmulas para Projetos de Melhoria definidas no CPM [2]. Deve-se destacar que haverá
correção e/ou atualização da documentação do sistema.
INM = PFf * 0,60
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.2.2
Apuração Especial
São funcionalidades executadas apenas uma vez para correção de problemas de
dados. Identificamos os seguintes tipos para apuração especial:
Correção de Dados;
Relatório de Verificação de Correção de Dados;
Geração de Relatórios.
5.2.2.1 Correção de Dados
Uma apuração especial para correção de dados é um projeto para geração de
procedimentos de atualização da base de dados. Deve-se destacar que estas funções
são executadas apenas uma vez, não fazendo parte da aplicação, visando à correção
de dados incorretos na base de dados. Esta correção geralmente é oriunda de um erro
na aplicação que gerou dados inconsistentes ou errôneos.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades para correção da base de dados e considera 30% destas,
conforme definições, regras e fórmulas para Projetos de Melhoria definidas no CPM [2].
35
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Deve-se destacar que geralmente estas funcionalidades serão consideradas Entradas
Externas, levando em conta o conceito de funcionalidade para conversão de dados.
INM = PFf * 0,30
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
Exemplo: Por algum motivo, a aplicação não executou um procedimento para cálculo
de anuênio no sistema de Recursos Humanos. O usuário após emitir um relatório
verificou que os valores não estavam corretos para um determinado funcionário. Após
análise, identificou que a rotina não foi executada por um problema no ambiente e não
existe problema com a rotina. No entanto, existem dados incorretos na aplicação, que
devem ser corrigidos por um script que será executado uma única vez para atualizar os
dados nas tabelas.
Análise de PF: para técnica de APF, não existiu alteração funcional na aplicação,
porém foi necessário gerar um script para essa correção. Para efeito de mensuração,
deve-se verificar o script utilizado e considerar as ações (Insert, Delete e Update) como
processos elementares classificados como Entradas Externas – EE, onde as tabelas
envolvidas serão Arquivos Lógicos Referenciados – ALR e os atributos envolvidos
serão Tipo de Dados Elementar – DER para o processo elementar EE.
5.2.2.2 Geração de Relatórios
Uma apuração especial para geração de relatórios é um projeto para geração de
relatórios em uma ou mais mídias para o usuário. Estas demandas costumam surgir da
necessidade de extração de dados para outras aplicações.
Deve-se destacar que estas funções são executadas apenas uma vez, não fazendo
parte da aplicação.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades desenvolvidas e considera 40% destas, conforme definições,
regras e fórmulas para Projetos de Melhoria definidas no CPM [2].
INM = PFf * 0,40
36
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.2.3
Verificação de Erros
São consideradas verificações de erro as demandas referentes a todo comportamento
anormal ou indevido apontado pelo cliente nos sistemas aplicativos. Neste caso, a
equipe de desenvolvimento se mobilizará para encontrar a(s) causa(s) do problema
ocorrido. Se for constatado erro de sistema, a demanda será atendida como
Manutenção Corretiva – Correção de erros (bug).
Não constatado erro na aplicação ou verificado que o sistema está apresentando o
comportamento de acordo com as regras de negócio definidas e homologadas pelo
usuário, deve-se aferir o tamanho em Pontos de Função, conforme definições, regras e
fórmulas para Projetos de Melhoria definidas no CPM [2], das funcionalidades
impactadas pela verificação e considera 15% destas.
INM = PFf * 0,15
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.3 Manutenção Perfectiva
Uma manutenção perfectiva é qualquer modificação do produto de software realizada depois de
entregue, para melhorar usabilidade e manutenibilidade. Proveem melhorias (improvements) para
os usuários, melhorias na documentação dos programas e recodificação para melhorar
usabilidade, manutenibilidade e outras características não funcionais do software. Identificados os
seguintes tipos de manutenção perfectiva:
Mudanças de interface (camada de apresentação).
5.3.1
Mudanças de Interface (Camada de Apresentação)
Uma manutenção de interface (camada de apresentação) é qualquer modificação na
camada de apresentação da aplicação. Identificamos os seguintes tipos de manutenção
corretiva:
37
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
o
Alteração de elementos na interface;
o
Modificação de layout;
o
Manutenção em Portais Dinâmicos.
Versão 1.0
Data de Impressão
01/04/15 15:04:31
5.3.1.1 Alteração de Elementos na Interface
São consideradas nesta categoria as demandas associadas a alterações de elementos
da interface, como:
o
Alterações em literais em telas ou relatórios;
o
Mudanças em posições de campos de telas ou relatórios;
o
Alterações no logotipo de empresa;
o
Mudanças em fontes de letras, cores de letras, tamanho de letras, negrito,
sublinhado, itálico etc.;
o
Variáveis de paginação tais como: página x de y, apresentando x-x’ de y registros;
o
Mudança no logotipo da empresa.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 20% destas, conforme definições, regras
e fórmulas para Projetos de Melhoria definidas no CPM [2]. Deve-se destacar que
haverá correção e/ou atualização da documentação do sistema.
INM = PFf * 0,20
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.3.1.2 Modificação de Layout
São consideradas nesta categoria as demandas associadas à alteração de layout de
telas ou relatórios, como:
o
Divisão ou junção de telas;
o
Adequação do sistema para novo padrão visual.
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 35% destas, conforme definições, regras e
fórmulas para Projetos de Melhoria definidas no CPM [2]. Deve-se destacar que haverá
correção e/ou atualização da documentação do sistema.
38
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
INM = PFf * 0,35
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.3.1.3 Manutenção em Portais Dinâmicos – Item aplicável apenas para sistemas
transacionais
Portais dinâmicos são criados por meio de gerenciadores de conteúdos, como por
exemplo: Joomla. Nestes casos, são feitas analogias à técnica de ponto de função.
Sempre deve ser refletida a visão do usuário.
Se a página tem como intenção principal mostrar informações na tela,
deve-se considerar como uma Consulta Externa Simples.
Se a página irá armazenar alguma informação ou enviar alguma
informação, deve-se considerar como uma Entrada Externa Simples.
Não será considerado nenhum ALI ou AIE [13] [14].
Nestes casos, deve-se aferir o tamanho em Pontos de Função da funcionalidade ou
das funcionalidades impactadas e considera 100% destas.
INM = PFf
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
Seguem alguns exemplos:
1. Alteração no componente “Hora de Viajar” na página inicial do MDIC: na visão do
usuário, será mostrado uma nova imagem na tela principal.
o
CE Simples (3 pontos)
o
INM = PFf
o
INM = 3,00
2. Criação do formulário “Encaminhar e-mail de dúvidas” no Portal do MDIC.
o
EE Simples (3 pontos)
39
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
o
INM = PFf
o
INM = 3,00
Versão 1.0
Data de Impressão
01/04/15 15:04:31
2. Alteração no componente menu em todas as páginas: na visão do usuário, serão
mostrados novos menus em todas as páginas.
o
CE Simples (3 pontos) - item em questão (componente) – item 5.3.1.4
o
3 Páginas Testadas x 3 (CE Simples) - item 5.4.1.1
o
INM = 3 + (3 x 3) x 0,20
o
INM = 3 + 9 x 0,2
o
INM = 3 + 1,8
o
INM = 4,80
OBS1: A quantidade de páginas a serem testadas por amostragem fica a critério do
MDIC. No caso de não ter explicitada esta informação, assume a quantidade igual a
uma página testada.
OBS2: Não existe diferenciação entre inclusão, exclusão ou alteração de itens do
portal, será sempre considerado o ponto de função “cheio” da funcionalidade.
OBS3: Quando vários itens incidirem na mesma página, contar apenas uma única vez,
assim como se deve contar apenas um teste por página, não importando o número de
itens testados.
5.3.1.4 Manutenção de Componentes de Portais Dinâmicos – Item aplicável apenas
para sistemas transacionais
Em alguns casos são demandadas manutenções em componentes específicos de uma
aplicação e estes são reusados por várias funcionalidades da aplicação. Por exemplo,
suponha uma mudança em uma rotina de validação de um CPF usada em várias
funcionalidades de cadastro. Se considerarmos o método de contagem de projetos de
melhoria do CPM – Manual de Prática de Contagem, seriam contadas todas as
funcionalidades impactadas por esta mudança.
No entanto, este guia propõe que o componente, o qual deverá ser testado, seja
considerado um processo elementar independente e contado como uma funcionalidade
[12].
Além disso, as funcionalidades da aplicação que necessitem de teste devem ser
requisitadas pela contratante e dimensionadas por meio da métrica Pontos de Função
de Testes proposta na seção 5.4.1.1.
40
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
INM = PFf
Onde:
INM: Valor em Pontos de Função do Item Não Mensurável
PFf: Total de Pontos de Função das funcionalidades impactadas
5.4 Manutenção Adaptativa (Evolutiva) x Manutenção Corretiva
Para aplicações sem documentação ou com a documentação desatualizadas, onde
não fique clara a evidência de ser erro ou evolução, que apresentem alteração ou
inclusão de novas regras de negócio ou que seja identificada a quebra de unicidade do
processo elementar, será considerada manutenção evolutiva. Demandas que precisem
ajustar uma linha de código que já existia sem adicionar tratamento adicional ou novos
critérios, considerará manutenção corretiva conforme proposto no item 5.2.
6 Atividades sem Contagem de Pontos de Função
O processo de desenvolvimento possui várias atividades que devem ser consideradas como um
projeto separado, levando-se em conta as horas realizadas. As atividades a seguir não fazem parte
do desenvolvimento de software, logo não podem ser medidas em Ponto de Função. Devem ser
medidas por tempo de esforço.
6.1 Mapeamento de Processos de Negócio
Encontram–se nesta categoria as demandas de elaboração de documentação contendo o
mapeamento de processos de negócio de uma organização ou de parte de uma organização.
Estes serviços são geralmente executados por consultores especialistas em BPM (Business
Process Modeling).
6.2 Administração de Dados
Este serviço requer uma equipe de DBAs ou de ADs com um número de profissionais definido
41
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
pelo MDIC, dedicada para atender as demandas associadas à definição e manutenção do modelo
de dados de negócio do cliente. Esta equipe fica disponível em horário acordado com o cliente
para atendimento das demandas. Assim, estes serviços não possuem contagem de Ponto de
Função associada. É importante ressaltar que as atividades de banco de dados associadas ao
projeto de desenvolvimento ou de manutenção, como preparação de ambiente (testes,
homologação, implantação), desempenhadas pelos DBAs da equipe de desenvolvimento, devem
ser consideradas dentro do projeto específico em questão. Caso contrário, não possui
contagem em Pontos de Função.
6.3 Administração da Ferramenta
Este serviço requer uma equipe de DBAs ou de ADs com um número de profissionais definido
pelo MDIC, dedicada para atender as demandas associadas à definição e manutenção das
ferramentas utilizadas no Ministério. Esta equipe fica disponível em horário acordado com o cliente
para atendimento das demandas. Assim, estes serviços não possuem contagem de Ponto de
Função associada.
6.4 Treinamentos
6.4.1
Treinamento para Implantação
São demandas de treinamentos sobre utilização do sistema a ser implantado para os
gestores e usuários. O esforço deste serviço deve ser considerado separadamente da
estimativa de esforço derivada da contagem de Ponto de Função. Devem ser calculadas
as horas dos consultores que estarão realizando atividades de preparação e execução de
treinamentos. Em alguns casos, pode ocorrer também o deslocamento do instrutor a ser
contabilizado no custo.
6.4.2
Treinamentos Especialistas
Encontram-se nesta categoria as demandas de treinamentos em linguagens de
programação, ferramentas de gestão, processos, modelos da qualidade, métricas etc.
Estes serviços são executados por consultores, especialistas no assunto em questão.
Devem ser consideradas as horas de consultoria para preparação e execução do curso e
o custo do deslocamento do instrutor, se for o caso.
6.5 Documentação Inicial do Projeto
A contagem de pontos de função somente pode ser iniciada com uma documentação mínima do
42
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
sistema, que apresente o escopo e funcionalidades que farão parte do projeto ou demanda. Com
esta documentação mínima, é possível realizar uma contagem estimada do sistema. Conforme a
MDS[8] do MDIC, o resultado desta documentação mínima seria os artefatos: Termo de Abertura,
Plano de Projeto, Documento de Visão e Documento de Requisitos. Caso a demanda, por algum
motivo, não siga tais metodologias adotadas, é importante que algum documento apresente de
forma clara as funcionalidades e o escopo desta.
6.6 Consultoria
Os serviços de apoio destinado à análise de regras de negócio a serem implementadas em
soluções de TI que necessitem de profissionais especialistas da contratada.
Exemplo: consultoria em Métricas e consultoria em governança de TI. Estas demandas não
possuem contagem de PF associada.
7 Diretrizes Específicas
7.1 Premissas
para
Contagens
Estimadas
de
Projeto
de
Desenvolvimento
No momento das contagens estimadas dos projetos de desenvolvimento, normalmente não se tem
detalhamento suficiente para estabelecer algumas funções de dados e transacionais. Com isso, o
MDIC adotou, de outros Órgãos, regras que facilitem a contagem estimada, de forma a aproximar
do que será contado ao final, por meio da contagem detalhada.
7.1.1
Identificação de Code Datas
Serão consideradas code datas funcionalidades que tenham nomes como: “Tipo de...”,
“Classificação de ...” e semelhantes, salvo nos casos que seja comprovada a existência de
um ALI ou AIE.
7.1.2
Imprimir/Anexar/Selecionar Arquivo
Funcionalidades
do
tipo
“Imprimir...”,
“Anexar...”
e
“Selecionar
Arquivo”
serão
consideradas como parte de um processo elementar da aplicação que está sendo
contada, salvo nos casos que seja comprovada a quebra de unicidade. Por exemplo, uma
funcionalidade de “Cadastrar Contrato”, que permita anexar a cópia do contrato
43
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
digitalizado. A funcionalidade de “Anexar contrato digitalizado” faz parte do processo de
“Cadastrar Contrato”.
7.1.3
“Aprovar/Reprovar”, “Ligar/Desligar” e Similares
Para funcionalidades do tipo “Aprovar/Reprovar”, “Ligar/Desligar”, “Ativar/Desativar”,
“Liberar/Bloquear” e similares, cada par será contado com uma única EE, salvo nos casos
que seja comprovada a quebra de unicidade.
7.1.4
Consultas Implícitas
Sempre levar em conta as consultas implícitas que geralmente estão associadas às
funcionalidades de alteração, exceto nos casos em que essa consulta é uma
funcionalidade especificada (um “Detalhar” por exemplo) e exceto nos casos de code data.
Não confundir “Consultar” ou “Detalhar” (de carregar informações de um registro
específico) com “Listar” ou “Pesquisar” (exibir uma lista de registros).
7.1.5
Cálculo do Projeto de Desenvolvimento
Projeto de Desenvolvimento é um projeto para desenvolver e entregar a primeira versão de
um software. Seu tamanho funcional é a medida das funcionalidades entregues aos usuários
no final do projeto. Também considera-se as funcionalidades de conversão de dados. Segue
a fórmula de cálculo utilizada no dimensionamento de projeto de desenvolvimento de
software:
PF_DESENVOLVIMENTO = PF_INCLUIDO + PF_CONVERSÃO
Não será contabilizado o PF_CONVERSÃO quando for caracterizado um esforço maior para
esta atividade. Esses casos devem ser tratados como projeto separados de migração de
dados.
7.1.6
Projeto de Migração de dados
Os projetos de Migração de dados devem ser contados como um novo projeto de
desenvolvimento de um sistema, seguindo a fórmula abaixo:
44
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
PF_CONVERSÃO = PF_INCLUIDO
Um projeto de migração deve contemplar minimamente: os ALI mantidos pela migração, as
Entradas Externas – Considerando as cargas de dados no ALI – e, caso seja solicitado pelo
usuário, os relatórios gerenciais das cargas, que serão contados como Saídas Externas.
Todas as contagens de PF dever ser realizadas com bases nas funcionalidades requisitadas
e recebidas pelos usuários.
7.2 Utilização dos Itens Não Mensuráveis – INM
Os Itens Não Mensuráveis – INM não devem fazer parte do tamanho funcional da aplicação. O
tamanho dos INM deve ser utilizado para remunerar o esforço de demandas que não são
mensuráveis pela técnica.
Padrão: sempre que apresentar o resultado de uma contagem, deixar claro o tamanho funcional e
o tamanho dos INM, de forma separada.
Exemplo: o tamanho funcional em PF é 250 PF. O tamanho dos INM em PF é 34 PF. O tamanho
a ser faturado em PF para Ordem de Serviço é 284 PF.
Resultado em Pontos de Função para Ordem de Serviço XXX
Tamanho Funcional da Aplicação em PF
250 PF
Tamanho dos Itens Não Mensuráveis em PF
34 PF
PF faturáveis da Ordem de Serviço
284 PF
7.3 Fator de Ajuste
O MDIC irá trabalhar com Fator de Ajuste = 1, ou seja, não será aplicado nenhum fator de ajuste
ao valor final da contagem.
7.4 Padronização
7.4.1
Nomenclatura
45
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
As planilhas de contagem de ponto de função deverão ser armazenadas no repositório do
projeto informado pelo MDIC, em uma pasta chamada “Controle / Métricas / Contagem de
Ponto de Função”.
A nomenclatura de cada arquivo será:
o
“Ano_NumOS_APF_Estimada/Detalhada.xls”.
Exemplo:
o
7.4.2
2014_00001_001_0001_APF_Estimada.xls;
2014_00001_001_0001_APF_Detalhada.xls;
“Ano_NumOS_relatorioAfericaoPF_MDIC”.
Exemplo:
2014_00001_001_0001_relatorioAfericaoPF_MDIC.xls;
Planilha
Ao utilizar a planilha de contagem de ponto de função, devem ser apresentadas apenas as
abas para cada caso, conforme:
o
Aba "Informações": sempre irá aparecer;
o
Aba "Resumo dos Resultados": sempre irá aparecer;
o
Aba "Desenvolvimento ou Aplicação": apenas para contagens do tipo “Projeto de
Desenvolvimento” ou “Aplicação (Baseline)”;
o
Aba "Melhoria": apenas para contagens do tipo “Projeto de Melhoria”;
o
Aba "Itens Não Mensuráveis (INM)": não irá aparecer caso não existam itens não
mensuráveis na contagem;
o
Aba "Apuração de PF Estimada": estão em desuso e não deverão aparecer;
o
Aba "Apuração de PF Detalhada": estão em desuso e não deverão aparecer.
OBS: As abas que não estiverem sendo usadas, conforme citado acima, deverão
estar ocultas.
7.5 Política de Auditoria
Cada contagem de ponto de função será aferida pela empresa de aferição, se houver, e aprovada
pelo MDIC.
O MDIC realizará auditorias nas contagens realizadas pelas contratadas, sempre que achar
necessário e periodicamente, por amostragem.
7.5.1
Divergências
Em caso de divergências, o MDIC deve buscar resolver o problema com a equipe de
46
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Data de Impressão
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
métricas da(s) contratada(s). Em caso de impasse, deve-se buscar uma consultoria
externa e imparcial entre as partes para solução do impasse.
7.6 Considerações de Mudança de Requisitos - Exemplo
Para tratar o dimensionamento das mudanças de requisitos, será utilizada a tabela de distribuição
de esforço por disciplina, visando definir o valor agregado ao projeto após a conclusão de cada
disciplina.
Disciplina
Percentual de esforço
Levantamento de Requisitos
20%
Planejamento
15%
Desenvolvimento/Teste
44%
Homologação
8%
Implantação
8%
Gerência de Projetos
5%
Tabela 1 – Percentual de esforço por disciplina no ciclo de vida.
Em projetos de software, são bastante comuns as mudanças de requisitos no decorrer do projeto
ou da demanda de manutenção. É durante o levantamento/especificação da demanda ou do
requisito que os usuários e os analistas de requisitos adquirem mais conhecimento sobre o
negócio ou demanda. O CPM [2] denomina este fenômeno de Scope Creep. Como não se podem
congelar os requisitos, é preciso gerenciá-los de forma efetiva.
Uma mudança de requisito gera retrabalho da equipe de desenvolvimento, aumentando assim o
esforço e o custo do projeto.
Para calcular o tamanho faturável das funcionalidades que sofreram mudança nos requisitos,
devem ser somadas as disciplinas que foram executadas, sendo que, as disciplinas de
Gerenciamento de Projeto e Gerenciamento de Configuração e Mudança devem ser consideradas
proporcionalmente.
Assim, segue seguinte fórmula:
Tf = PFf * P
47
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Onde:
T: Tamanho faturável
PFf: Total de Pontos de Função das funcionalidades impactadas
P: Somatório do percentual das disciplinas executadas. Neste somatório, devem-se calcular
proporcionalmente as disciplinas de Gerenciamento de Projetos e Gerenciamento de Configuração
e Mudança.
Exemplo: Suponha um relatório de clientes foi demandado e que no final da fase de
implementação foi solicitada a exibição de uma nova informação no mesmo relatório. A equipe de
desenvolvimento terá um retrabalho de várias fases do ciclo de vida. Assim, o tamanho dessa
mudança deve ser calculado da seguinte maneira:
Tamanho do relatório de clientes (Requisitos Originais)
o
Função: Saída Externa
o
Complexidade: Média
o
Contribuição: 5PF
Tamanho do relatório de clientes (Requisitos Alterados)
o
Função: Saída Externa
o
Complexidade: Média
o
Contribuição: 5PF
O tamanho da funcionalidade relatório de clientes (Requisitos Alterados) será considerado 100%
do PF.
Para o tamanho da funcionalidade do relatório de clientes (Requisito Original) será definido da
seguinte forma:
Disciplinas executadas
Percentual de esforço
Levantamento de Requisitos
23%
Planejamento
14%
Desenvolvimento/Teste
36%
Total de Disciplinas executadas:
73%
Tabela 2 - Disciplinas executadas para o requisito original
48
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Assim, aplicando a fórmula para o exemplo, tem-se o seguinte resultado:
Tf = 5 * 0,73 = 3,65 PF
Logo, para o faturamento seria considerado conforme expresso na tabela 3.
Descrição
Tamanho faturável
Relatório de Clientes (Requisitos Originais)
5 PF
Relatório de Clientes (Requisitos Alterados)
3,65 PF
Total de PF Faturável:
8,65 PF
Tabela 3 - Demonstrativo de PF Faturáveis
7.7 Redocumentação
Em diversas partes deste documento, é citada a expressão “redocumentação”. Essa
redocumentação será base apenas para sistemas legados que não possuem documentação
criada ou atualizada. Será considerada apenas a parte de requisitos e seus respectivos artefatos
previstos na MDS [8].
7.8 Processo de Revisão do Guia de Contagem
7.8.1
Revisão para Correção de Inconsistências e Situações não Previstas
A revisão deste guia será feita sempre que verificarem inconsistências entre uma definição
do CPM [2] e uma regra constante deste documento e situações não previstas neste guia.
Para situações não previstas neste guia, dever-se-á recorrer ao MDIC que decidirá pela
atualização deste guia ou do contrato em vigor.
Sempre que necessário, o MDIC poderá alterar o texto do Guia de Contagem, a fim de
evitar duplicidades no entendimento, bem como melhorias.
As contratadas devem seguir este Guia e, em casos omissos, seguir o Roteiro de Métrica
do SISP versão 2.0 ou superior, o Manual de Práticas de Contagem do IFPUG – CPM
49
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
CGMI/SPOA/SE/MDIC
01/04/15 15:04:31
versão 4.3 ou superior, nesta ordem, com autorização prévia do MDIC.
Nos projetos de DW, as contratadas devem seguir este Guia e, em casos omissos, seguir
o Guia de Contagem de Ponto de Função do SISP para Projetos de Data Warehouse.
7.8.2
Revisão para Adoção de Novas Versões do CPM [2]
A adoção de nova versão do CPM como referência para este Guia de Contagem não será
imediata à sua publicação. Nesse caso, deverá haver uma avaliação da nova versão pelo
MDIC para se decidir sobre a atualização do guia.
8 Apurações Especiais [10]
8.1 Apuração Especial
São funcionalidades executadas apenas uma vez para: corrigir problemas de dados
incorretos na base de dados das aplicações ou atualizar dados em bases de dados de aplicações,
detalhados na subseção 8.1.1; gerar um relatório específico ou arquivo para o usuário por meio de
recuperação de informações nas bases da aplicação, detalhados na subseção 8.1.2. A subseção
8.1.3 considera os casos de reexecução de uma apuração especial. Caso a apuração seja de
correção de dados devido a erros de funcionalidades de aplicações desenvolvidas pela contratada,
observar as cláusulas contratuais com relação a garantias e prazos de correção. Recomenda-se
fortemente ao órgão contratante sempre solicitar formalmente para a empresa contratada o
armazenamento do script para permitir posterior reexecução. Cabe ressaltar que o órgão deve avaliar
a complexidade das demandas típicas de apuração especial, podendo utilizar um percentual redutor
nas fórmulas descritas nas subseções seguintes. Por exemplo, o redutor percentual pode ser
aplicado em função da complexidade das demandas, documentação demandada e/ou do processo
de desenvolvimento utilizado.
8.1.1
Apuração Especial – Base de Dados
Este tipo de apuração especial é um projeto que inclui a geração de procedimentos para
atualização da base de dados. Deve-se destacar que estas funções são executadas apenas uma vez,
não fazendo parte da aplicação, visando a correção de dados incorretos na base de dados da
aplicação ou atualização em função de modificação da estrutura de dados, por exemplo inclusão de
valor “sim” ou “não” no campo “indicador de matriz” referente ao CNPJ. Normalmente, nesse tipo de
atualização são afetados múltiplos registros. Nestes casos, considera-se a contagem de pontos de
função das funcionalidades desenvolvidas. Geralmente, estas funcionalidades são classificadas como
50
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Entradas Externas. Nesse caso, como artefato de homologação da demanda, deve ser gerado um
relatório para validação do usuário. É importante ressaltar que as funções de dados associadas aos
dados atualizados não devem ser contadas, considerando que não há mudanças nas estruturas dos
Arquivos Lógicos Internos. Foram identificados três tipos de Apuração Especial - Base de Dados,
cujas fórmulas de cálculo são apresentadas a seguir:
a) Atualização de Dados sem Consulta Prévia
PF_APURAÇÃO_BD = PF_INCLUÍDO
b) Consulta Prévia sem Atualização
Em alguns casos de Apuração Especial – Base de Dados, o usuário solicita uma consulta
prévia das informações. Deve-se ressaltar que essa consulta deve ser realizada antes da construção
da funcionalidade, não se trata de homologação. A consulta prévia não é definida pela empresa
contratada, obrigatoriamente essa deve ser solicitada pelo órgão contratante para a avaliação da
viabilidade de implementar a Apuração Especial - Base de Dados. De fato, é uma prática interessante
para evitar informações errôneas na base de produção dos sistemas. Esta consulta prévia,
classificada como Consulta Externa ou Saída Externa deve ser dimensionada considerando-se o
tamanho da funcionalidade em questão, conforme a fórmula abaixo:
PF _CONSULTA_PRÉVIA = PF_INCLUÍDO
c) Atualização de Dados com Consulta Prévia
Caso a Apuração Especial - Base de Dados seja solicitada após uma demanda de consulta
prévia, deve-se aplicar um fator de 60% na fórmula de contagem da Apuração Especial - Base de
Dados, seguindo a fórmula abaixo.
PF_APURAÇÃO_BD_PÓS_CONSULTA_PRÉVIA = PF_INCLUÍDO x 0,60
8.1.2
Apuração Especial – Geração de Relatórios
Este tipo de apuração especial é um projeto que inclui a geração de relatórios em uma ou
mais mídias para o usuário. Em alguns casos, são solicitadas extrações de dados e envio dos dados
para outros sistemas. Caso, neste envio de dados, sejam requisitadas atualizações no sistema de
origem, então essas funções transacionais são Saídas Externas, devido à atualização do Arquivo
Lógico Interno. Deve-se destacar que essas funções são executadas apenas uma vez, não fazendo
51
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
parte da aplicação. Nestes casos, considera-se contagem de pontos de função das funcionalidades
desenvolvidas. Frequentemente, estas funcionalidades são classificadas como Saídas Externas.
Também podem ser classificadas como Consultas Externas, caso não possuam cálculos ou criação
de dados derivados. É importante ressaltar que as funções de dados associadas aos dados
atualizados não devem ser contadas, considerando que não há mudanças nas estruturas dos
Arquivos Lógicos.
PF_APURAÇÃO_RELATÓRIOS = PF_INCLUÍDO
8.1.3
Apuração Especial – Reexecução
Em alguns casos, a empresa contratante pode ter interesse em executar uma apuração
especial mais de uma vez. Nestes casos, ela deve solicitar formalmente à contratada o
armazenamento do script executado. Desta forma, se for solicitada a reexecução de uma apuração
especial, esta deve ser dimensionada com a aplicação de um fator redutor de 10% na contagem de
pontos de função da apuração especial em questão, da seguinte maneira:
PF_REEXECUÇÃO_APURAÇÃO = PF_NÃO_AJUSTADO x 0,10
O percentual de multiplicação proposto no item acima é estimado, podendo ser reajustado
conforme avaliação da base histórica dos serviços realizados no órgão ou entidade.
8.2 Atualização de Dados
Em alguns casos, as demandas de correção de problemas em base de dados estão
associadas a atualizações manuais (de forma interativa), diretamente no banco de dados em um
único registro, e que não envolvem cálculos ou procedimentos complexos.
São exemplos desse tipo de demanda, a atualização do valor de um campo de uma tabela
cadastrado erroneamente ou a exclusão de um registro de uma tabela.
Nestes casos, a aferição do tamanho em Pontos de Função deve considerar 10% do PF de
uma Entrada Externa e os Tipos de Dados da Entrada Externa são todos os TD considerados na
funcionalidade – campos atualizados e campos utilizados para a seleção do registro.
PF_ATUALIZAÇÃO_BD = PF_INCLUÍDO x 0,10
52
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Data de Impressão
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Deve-se ressaltar que neste tipo de demanda não há gestão de configuração
(armazenamento de script, versionamento, etc) das atualizações. Caso a contratante identifique a
necessidade de realização de gestão de configuração das atualizações no banco de dados, então a
demanda será classificada como Apuração Especial - Base de Dados (subseção 8.1.1).
O percentual de multiplicação proposto acima é estimado, podendo ser reajustado
conforme
avaliação da base histórica dos serviços realizados no órgão ou entidade.
9 Referências Bibliográficas
[1]
IEEE Computer Society. IEEE Standard for Software Maintenance. IEEE Std. 1219 1998.
[2]
IFPUG. Counting Practices Manual – CPM. Version 4.2.1, January, 2005.
[3]
JONES, C. Estimating Software Costs. Second Edition, Mc Graw Hill, 2007.
[4]
VAZQUEZ, C. et. al. Análise de Pontos de Função: medição, estimativas e gerenciamento de
projetos de software. 7ª Edição, Editora Érica, 2007.
[5]
IFPUG. Framework for Functional Sizing. Version 1.0, September, 2003.
[6]
MORRIS, P. Counting “Non-Functional” Requirements when they are implemented as
Software. Version 2.2, October 2006. http://www.totalmetrics.com
[7]
TCU. Instrução Normativa Nº 4, de 19 de maio de 2008, expedida pela SECRETARIA DE
LOGÍSTICA E TECNOLOGIA, em vigor desde 02 de janeiro de 2009.
[8]
MDIC, Metodologia de Desenvolvimento de Software do MDIC, Versão 1.0.
[9]
IFPUG. Considerations for Counting with Multiple Media. Release 1.1, April 15, 2010.
[10]
SISP,
Roteiro
de
Métricas
de
Software
do
SISP
versão
1.0,
em
http://www.sisp.gov.br/dotlrn/clubs/grupodetrabalhometricas/file-storage/view/Roteiro_de_
Metricas_de_Software_do_SISP_-_v1.0.pdf
[11]
SISP,
Mensagem
no
Fórum
sobre
“Manutenção
em
Portal
Dinâmico”,
em
http://www.sisp.gov.br/dotlrn/clubs/grupodetrabalhometricas/forums/message-
53
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
view?message_id=13428226
[12]
Infraero,
Parecer
Técnico
de
Métricas
do
Sistema
Portal,
versão
1.0.0,
em
http://svn.infranet.gov.br/do-prti-tisi2/Base Historica de Pontos de Funcao/3.Execucao/Documentos
Criados/Parecer Tecnico de Metricas/Portal/Menu/Menu_ParecerTecnicoMetricas_21fev2011.docx
54
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
CAPÍTULO II
GUIA DE ANÁLISE DE PONTO DE FUNÇÃO PARA
DATA WAREHOUSE
Versão 1.0
55
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Histórico de Revisão
Data
18/03/2015
Versão
1.0
Descrição
Elaboração do Guia.
Autor
Amilton Lobo
Aristóteles Benício
Camilla Bonfim
Fernando Santos
Paulo Mazali
Sebastião Filho
CGMI
SECEX
CGMI
CGMI
Infraero
CGMI
56
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Sumário
1. Introdução............................................................................................................ 59
2. Cenário – Métricas de Software ......................................................................... 59
3. Objetivos Principais da Contagem de Pontos de Função [4].......................... 59
4. Como Contar? - Procedimentos de Contagem [4] ........................................... 60
5. Visão Geral da Contagem de PF Comparativa entre Sistemas e DW ............. 61
5.1
Visão Geral da Contagem de PF para Sistemas .................................. 61
5.2
Visão Geral da Contagem de PF para Data Warehouse ...................... 62
6. Definição da forma de Contagem para Data Warehouse ................................. 63
6.1
Para a contagem Estimada .................................................................... 64
A contagem de pontos de função é realizada em três momentos:........................ 64
Contagem Estimada: tem por objetivo mapear os requisitos iniciais do
projeto nos processos elementares da APF. Neste momento é possível identificar
as funções de dados e as transações de dados iniciais e, para cada um deles a
pontuação é pré-definida da seguinte forma: NESMA .......................................... 64
o
o
o
o
o
ALI 7 PF ................................................................................................... 64
AIE 5 PF ................................................................................................... 64
EE 4 PF .................................................................................................... 64
CE 4 PF.................................................................................................... 64
SE 5 PF .................................................................................................... 64
O quadro abaixo também representa as definições que serão assumidas pelo
MDIC para a contagem estimada:......................................................................... 65
QA = QUALIDADE ................................................................................................ 65
Contagem Detalhada: tem por objetivo mapear todos os requisitos do projeto
57
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
para que se possa fazer a contagem detalhada da APF e está detalhada no item
6.2 deste guia........................................................................................................ 66
Contagem da Aplicação: tem por objetivo, obter a contagem final de PF após
a conclusão do projeto, ou seja, após a sua implantação. .................................... 66
6.2
Contagem Detalhada .............................................................................. 66
6.2.1
Contar as Funções de Dados - ALI ................................................... 66
6.2.2
Contar as Funções de Dados - AIE ................................................... 71
6.2.3
Itens que não representam Funções de Dados ............................... 74
Esta seção visa esclarecer itens que não devem ser contados como funções de
dados e que, portanto, não serão contados em projetos de Data Warehouse. .... 74
6.2.4
Contar as Funções Transacionais .................................................... 75
6.2.4.1
Contar as Funções Transacionais – Entrada Externa (EE) ............ 75
6.2.4.1.1
Contar as Funções Transacionais – Entrada Externa (EE) –
Funções de Controle .......................................................................................... 76
6.2.4.2
Contar as Funções Transacionais – Consulta Externa (CE) e Saída
Externa (SE) ......................................................................................................... 80
7
Fórmula [6] .................................................................................................. 85
Esta tabela representa também outros itens que podem ocorrer durante o
projeto de Data Warehouse e que serão tratados, na maioria dos casos,
como desenvolvimento/manutenção e que não tem como classificá-los
como função ou transação de dado. ................................................................. 86
58
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Contagem de PF para DW
1. Introdução
Este guia tem como objetivo orientar a contagem de APF para sistemas de BI para as equipes
envolvidas no desenvolvimento e manutenção de Data Warehouses e Data Marts. No entanto, é
preciso que a equipe tenha conhecimento prévio da contagem APF para entendimento da
aplicabilidade dos conceitos. Para o desenvolvimento deste material foram consultados guias da
NESMA e IFPUG, dentre outros, que contém orientações quanto a aplicabilidade da contagem para
Data Warehouse.
O documento também faz uma breve descrição do cenário de fábrica de software na atual
conjuntura dos contratos de desenvolvimento de softwares realizada pelo governo.
Em seguida são apresentadas as regras aplicadas para data warehouse, sendo que o
entendimento do cálculo das respectivas complexidades são baseadas nas normas de contagem de
pontos de função.
E por último, como o MDIC ainda não possui base histórica para contagem de pontos de função
de Data Warehouse, este guia se encontra em processo de amadurecimento, podendo sofrer
modificações ao longo dos projetos.
2. Cenário – Métricas de Software
A contratação de serviços de fábrica de software no serviço público deve utilizar métricas no
planejamento da aquisição e no gerenciamento do contrato, com restrições ao uso da métrica de
esforço homem-hora. Com isto, os órgãos passaram a observar a Instrução Normativa 04 (IN04)
publicada pelo MPOG/SLTI que recomenda o uso de métricas em contratos de software. O TCU em
seus acórdãos também tem recomendado a utilização da métrica de Pontos de Função (PF) em
contratos de prestação de serviços de desenvolvimento e manutenção de software [4].
3. Objetivos Principais da Contagem de Pontos de Função [4]
A contagem de pontos de função tem como objetivos principais:
Medir a funcionalidade requisitada e recebida pelo usuário, isto quer dizer que considera
a visão do usuário;
Medir projetos de desenvolvimento e manutenção evolutiva independente da tecnologia
utilizada;
59
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Data de Impressão
Ser simples o suficiente para minimizar o trabalho adicional envolvido no processo de
medição;
Prover uma medida consistente entre vários projetos e organizações.
4. Como Contar? - Procedimentos de Contagem [4]
1.Determinar o
Tipo de
Contagem
2.Determinar o
Escopo da
Contagem e a
Fronteira da
Aplicação
3.1.Contar
Funções de
Dados
4.Determinar
os PF Não
Ajustados
3.2.Contar
Funções
Transacionais
5.Calcular
PF
Ajustados
Os procedimentos de contagem acima são válidos para desenvolvimento de sistemas e de
Data Warehouse.
Procedimento
Tipo de
Contagem
Escopo da
Contagem e
Fronteira da
Aplicação
Contar Funções
de Dados
Descrição
Contagem Projeto de Desenvolvimento
Contagem Projeto de Melhoria
Contagem da Aplicação
Escopo define as funcionalidades que devem ser incluídas.
Fronteira é a interface conceitual entre a aplicação “Interna” e o mundo do
usuário “externo”.
Representa a funcionalidade fornecida para o usuário relativa aos
requisitos de dados Internos (Arquivos Lógicos Internos – ALI) e
Externos (Arquivos de Interface Externa – AIE) a Aplicação.
60
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Contar Funções
Compreende a contagem dos elementos denominados Entrada Externa
Transacionais
(EE), Saída Externa (SE) e Consulta Externa (CE).
São 14 fatores que podem influenciar o desenvolvimento ou manutenção.
Determinar o
Pode aumentar no máximo em até 35% o tamanho.
Fator de Ajuste
O TCU em um dos seus acórdãos não recomenda a utilização do Fator de
Ajuste na Contagem de Pontos de Função.
Calcular PF
Deve-se verificar as fórmulas que levam em consideração os PF Não
Ajustados
Ajustados e o seu Fator de Ajuste.
5. Visão Geral da Contagem de PF Comparativa entre Sistemas e DW
5.1
Visão Geral da Contagem de PF para Sistemas
CE – Consulta Externa
SE – Saída Externa
APLICAÇÃO
Arquivos Lógicos Internos
(ALI)
Outras Aplicações
EE – Entrada Externa
Arquivos de Interface
Externa (AIE)
61
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
5.2
Data de Impressão
01/04/15 15:04:31
Visão Geral da Contagem de PF para Data Warehouse
Sistemas Origem de Dados
Arquivos Interface Externa (AIE)
Data Mart/ Data
Warehouse
Arquivos Lógicos Internos (ALI)
SE ou CE – (OLAP)
Representam os relatórios,
painéis, cubos e camada
semântica feitos pela ferramenta
OLAP.
EE – Entrada Externa
Processo de ETL
Processos de Automação ETL
62
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
6. Definição da forma de Contagem para Data Warehouse
Procedimento
Descrição
Para projetos de Data Warehouse também tem que se definir se trata de um
projeto de Desenvolvimento, Melhoria ou se será feita a contagem da
Aplicação.
Tipo de
Contagem
Contagem Projeto de Desenvolvimento
Contagem Projeto de Melhoria
Contagem da Aplicação
OBS.: são consideradas somente as melhorias evolutivas. As melhorias
corretivas, adaptativas e perfectivas não são consideradas no processo de
contagem e serão tratados como itens não mensuráveis.
por exemplo, compreende as “Questões dos usuários”, definidas
Escopo da
em documento próprio que abrange, de forma geral, a necessidade
Contagem e
do usuário na qual são relacionadas as medidas do seu negócio e as
Fronteira da
Aplicação
O Escopo para o Data Warehouse do MDIC, para desenvolvimento,
respectivas visões (dimensões).
A Fronteira da Aplicação do Data Warehouse compreende os
assuntos ou Data Marts do projeto do Data Warehouse.
63
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
6.1
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Para a contagem Estimada
A contagem de pontos de função é realizada em três momentos:
Contagem Estimada: tem por objetivo mapear os requisitos iniciais do projeto nos processos elementares da APF. Neste momento
é possível identificar as funções de dados e as transações de dados iniciais e, para cada um deles a pontuação é pré-definida da
seguinte forma: NESMA
o
ALI 7 PF
o
AIE 5 PF
o
EE 4 PF
o
CE 4 PF
o
SE 5 PF
64
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
O quadro abaixo também representa as definições que serão assumidas pelo MDIC para a contagem estimada:
Tipos APF
Contagem no DW
** 1 ALI para cada dimensão.
ALI da Modelagem
Dimensional
** 1 ALI para cada fato.
** 1 ALI de QA para cada ALI de tabela de dimensão.
** 1 ALI de QA para cada ALI de tabela fato.
AIE
** Se ão o tados os AIE’s vi dos dos siste as de o ige
contagem estimada.
EE
** 1 EE para cada ALI de tabela de Dimensão e um EE para cada ALI de tabela Fato.
Alé das EE dos ALI’s de ta ela de di e são e ta ela fato have á ta é EE’s efe e te aos p o essos de
automação, da seguinte forma:
** 1 EE de automação para cada ALI de tabela de dimensão ;
** 1 EE de automação para cada ALI de tabela fato;
** 1 EE de automação geral
O tamanho funcional de cada processo de automação será de 4PF.
SE
ue são possíveis de ide tifi a du a te a
** 1 para cada cubo ou camada semântica criado a ser consultado por usuários finais. Será considerado na
contagem estimada a relação de cubos vislumbrados durante o levantamento.
** 1 para cada relatório e gráfico do dashboard a ser disponibilizado de acordo com o levantamento.
CE
** 1 para cada relatório a ser disponibilizado, do tipo consulta, de acordo com o levantamento.
QA = QUALIDADE
65
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
Contagem Detalhada: tem por objetivo mapear todos os requisitos do projeto para que se possa fazer a contagem detalhada da
APF e está detalhada no item 6.2 deste guia.
Contagem da Aplicação: tem por objetivo, obter a contagem final de PF após a conclusão do projeto, ou seja, após a sua
implantação.
6.2 Contagem Detalhada
6.2.1
Contar as Funções de Dados - ALI
As funções de dados estão associadas aos requisitos de dados internos e externos. As Funções de dados são classificadas em
Arquivos Lógicos Internos (ALI) ou Arquivos de Interface Externa (AIE).[6]
Um ALI é um grupo de dados ou informações de controle logicamente relacionados, identificável pelo usuário e mantido dentro da
fronteira da aplicação. A intenção primária de um ALI é armazenar dados mantidos através de um ou mais processos elementares da
aplicação que está sendo contada. [6]
Em um modelo de dados multi dimensional, Esquema Estrela, são reconhecidos dois tipos de entidades: Tabelas Fato e Tabelas
Dimensão. [6]
As Tabelas Fato mantidas por um ou mais processos de ETL devem ser contadas como um Arquivo Lógico Interno. As Tabelas
Dimensão mantidas por um ou mais processos de ETL também devem ser contadas como Arquivos Lógicos Internos. [6]
Algumas Tabelas Dimensão não chegam diretamente na Tabela Fato, sendo consideradas níveis hierárquicos ou hierarquias de uma
outra Dimensão. Observe a quantidade de níveis hierárquicos na Dimensão, observe se estes níveis são tratados de forma diferente (por
exemplo, diferença no tratamento dos atributos). As hierarquias devem ser consideradas Registros Lógicos da Dimensão que se relaciona
diretamente com a tabela Fato. Caso não existam níveis hierárquicos ou subgrupos de dados dentro da dimensão, considere apenas um
Registro Lógico. [6]
66
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Algumas vezes, o usuário requer a combinação de tabelas Fatos gerando uma outra Tabela Fato ou uma estrutura de agregação,
visando apoiar a geração de consultas do mesmo. Em alguns casos, a estrutura de agregação pode ser formada por uma Tabela Fato e
Tabelas Dimensão. A estrutura de agregação é contada como Arquivo Lógico Interno. [6]
Contar as Funções de Dados e Suas Complexidades
** Obs.: 1) as regras para definição de registro lógico e tipo de dado seguem a proposta APF
2) As regras valem para o tipo de modelagem Star Schema ou Snow Flake
Função
ALI
Tipo
Dimensão
Descrição
Reg.Lóg. (RL)
Tipo de Dado (TD)
O que não se conta
Para cada dimensão da modelagem conta-se 1
* * Para dimensão hierárquica
** Conta-se 1 tipo de dado
** A dimensão que esteja em mais de uma fato é
(um) ALI.
conta-se 1 (um) RL para cada
para cada atributo da
contada somente uma vez. [1]
hierarquia. [1], [2]
dimensão.
* * Para Dimensão não
** Atributos para controle
hierárquica conta-se 1 (um) RL.
de histórico e auditoria das
[1], [2]
dimensões são contados.
** Atributo de Chave Surrogate Key – são
contados.
ALI
Fato
** Para cada fato da modelagem consta-se 1
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
(um) ALI.
fato.
para cada atributo da fato.
** Atributos para controle
de histórico e auditoria das
tabelas fato são contados.
** Atributo de Chave Surrogate Key – são
contados.
67
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Contar as Funções de Dados e Suas Complexidades
** Obs.: 1) as regras para definição de registro lógico e tipo de dado seguem a proposta APF
2) As regras valem para o tipo de modelagem Star Schema ou Snow Flake
Função
ALI
Tipo
Descrição
Reg.Lóg. (RL)
Tipo de Dado (TD)
Fatos
** Será contado 1 ALI para cada fato de
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
Agregadas
agregação que for reconhecida pelo usuário. [3]
fato de agregação.
para cada atributo da fato
** Será contado 1 ALI para cada fato de
de agregação.
agregação criada para melhorar a performance
** Atributos para controle
de consulta aos dados, como forma de
de histórico e auditoria das
remunerar o esforço.
agregadas são contados.
O que não se conta
** Atributo de Chave Surrogate Key – são
contados.
ALI
View
** A necessidade de criação das Views terão
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
** Views criadas com o objetivo de representar diferentes
que ser analisadas sob a visão do usuário.
View.
para cada atributo da
papéis, tais como exemplo, aeroporto origem e aeroporto
View.
destino não serão contadas, pois elas representam um
ALI já existente, que no caso é o aeroporto.
ALI
Tabela Ponte
A tabela Ponte, de certa forma funciona como
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
** Atributo de Chave - Surrogate Key - (representam
uma tabela fato.
tabela ponte.
para cada atributo da
auto-numeração)
Neste caso será contada como 1 ALI.
tabela ponte.
** Atributos para controle
de histórico e auditoria das
tabelas ponte.
68
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Contar as Funções de Dados e Suas Complexidades
** Obs.: 1) as regras para definição de registro lógico e tipo de dado seguem a proposta APF
2) As regras valem para o tipo de modelagem Star Schema ou Snow Flake
Função
ALI
Tipo
Descrição
Reg.Lóg. (RL)
Tipo de Dado (TD)
O que não se conta
Tabela Fato
** As fatos criadas para armazenar o histórico
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
** Atributo de Chave - Surrogate Key - (representam
Histórica
de dados também deverão ser contadas. Ou
fato.
para cada atributo da fato.
auto-numeração).
seja, 1 ALI para cada fato histórica.
** Atributos para controle
de histórico e auditoria das
tabelas fato.
ALI
Arquivo de
São arquivos mantidos durante o processo de
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
Qualidade de
extração, transformação e carga (ETL) dos
arquivo de qualidade de dados.
para cada atributo do
Dados (QA)
dados das tabelas de dimensão e das tabelas
[5]
fato. São subprodutos do processo de ETL e
arquivo de QA.
que são encaminhados para os usuários avaliar
a consistência dos dados nos sistemas origem.
** Será contado 1 ALI para cada arquivo de
qualidade de dados.
ALI
Tabelas para
São tabelas criadas pela equipe de DW para
** Conta-se 1 (um) RL para cada
** Conta-se 1 tipo de dado
controle
realizar controles, tais como gerenciar o
tabela de Controle.
para cada atributo da
processo de carga ou alguma outra forma de
tabela de controle.
administração.
** Conta-se 1 ALI para cada tabela.
69
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Contar as Funções de Dados e Suas Complexidades
** Obs.: 1) as regras para definição de registro lógico e tipo de dado seguem a proposta APF
2) As regras valem para o tipo de modelagem Star Schema ou Snow Flake
Função
ALI
Tipo
Descrição
Reg.Lóg. (RL)
Tipo de Dado (TD)
Tabelas
** Todas as tabelas de dimensão, inclusive as
** Considerar as mesmas regras
** Considerar as mesmas
CODE-DATA
que podem ser consideradas como CODE-
de ALI de tabela de dimensão
regras de ALI de tabela de
DATA, serão contadas, pois no Data
deste guia.
dimensão deste guia.
O que não se conta
Warehouse parte-se do princípio que todo
usuário entende que toda e qualquer dimensão
é uma visão importante para o negócio.
CODE-DATA = EX. ESTADO, MUNICÍPIO.
70
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
6.2.2
Data de Impressão
01/04/15 15:04:31
Contar as Funções de Dados - AIE
Um AIE é um grupo de dados ou informações de controle logicamente relacionados, identificado pelo usuário e referenciado pela
aplicação, porém mantido dentro da fronteira de outra aplicação. A intenção primária de um AIE é armazenar dados referenciados por um
ou mais processos elementares dentro da fronteira que está sendo contada. Isto significa que um AIE contado para uma aplicação deve
ser um ALI em outra aplicação. [6]
Para identificar os Arquivos de Interface Externa, deve-se analisar os processos de ETL. Caso exista leitura de dados de outras
aplicações para validação de informações durante as cargas de dados, estas tabelas que são Arquivos Lógicos Internos de outras
aplicações e são apenas lidas pelo DW, devem ser contadas como Arquivos de Interface Externa. [6]
AIE
Sistema
Origem
ALI
Leitura
Processo de ETL
Carga
Data
Warehouse
71
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Em alguns casos, o usuário com receio de perder dados das aplicações de origem, requisita que os dados dos sistemas de origem
sejam copiados para uma área de armazenamento de dados operacional (Operational Data Store – ODS) do DW. Nestes casos os dados
são copiados do sistema transacional de origem para a ODS. Assim, quando os dados da ODS são apenas uma cópia dos dados do
sistema de origem, os dados do sistema de origem serão contados como Arquivo de Interface Externa. Posteriormente, os dados são
integrados dentro de um novo Arquivo Lógico Interno (tabela Fato ou tabela Dimensão). [6]
ALI
AIE
Sistema
Origem
Leitura
Processo de
ETL
Cópia
ODS
Leitura
Processo de
ETL
Carga
Data
Warehouse
Geralmente, os dados do DW provenientes de outras aplicações, denominadas de aplicações de origem dos dados, são
armazenados em uma base de dados temporária, denominada Data Staging Area (DSA). Assim, os dados são importados da aplicação
de origem para a DSA e então, em outro processo de integração, importa os dados da DSA para as tabelas Fato e Dimensão do DW.
Observe que a utilização da DSA é uma solução técnica, portanto não tem contagem de Pontos de Função. No entanto, é importante
ressaltar que em alguns casos, o usuário deseja realizar consultas e emitir relatórios diretamente os dados da DSA. Nesses casos, as
funcionalidades da DSA serão consideradas na contagem de Pontos de Função. Os dados da DSA serão contados como Arquivos
Lógicos Internos. As cargas de dados serão contadas como Entradas Externas e as consultas e relatórios serão contados como Consultas
Externas ou Saídas Externas. [6]
ALI
AIE
Sistema
Origem
Leitura
Processo de
ETL
Cópia
Área de
Staging
Leitura
Processo de
ETL
Carga
Data
Warehouse
72
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Contar as Funções de Dados e Suas Complexidades
** Obs.: 1) as regras para definição de registro lógico e tipo de dado seguem a proposta APF
2) As regras valem para o tipo de modelagem Star Schema ou Snow Flake
Função
AIE
Tipo
Descrição
Tabelas dos
São grupos de dados ou informações de
Sistemas
Origem [4]
Reg.Lóg. (RL)
Tipo de Dado (TD)
** Deve-se seguir as orientações
** Deve-se seguir as
controle especificado pelo usuário logicamente
do IFPUG (CPM – Manual de
orientações do IFPUG
relacionado, cuja manutenção é efetuada
Contagem de Pontos de
(CPM – Manual de
dentro da fronteira de outra aplicação.
Função) quanto a determinação
Contagem de Pontos de
** Também iremos considerar como AIE outros
de contagem de registro lógico
Função) quanto a
tipos de arquivos que são mantidos por
AIE, por se tratar de uma
determinação de
usuários e que são fonte do DW, tais como
modelagem entidade
contagem de tipo de dado
planilhas eletrônicas, etc.
relacionamento.
para AIE, por se tratar de
(CONTA A ENTIDADE LÓGICA
uma modelagem entidade
LIDA)
relacionamento. (CONTA
O que não se conta
O CAMPO LIDO)
AIE
Tabelas
** Conta-se um AIE para cada tabela do(s)
** Considerar as mesmas regras
** Considerar as mesmas
CODE-DATA
sistema(s) origem lida, copiada ou
de AIE deste guia.
regras de AIE deste guia.
referenciada como fonte de dados para o
Data Mart, inclusive CODE-DATA.
73
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
6.2.3
Data de Impressão
Itens que não representam Funções de Dados
Esta seção visa esclarecer itens que não devem ser contados como funções de dados e que, portanto, não serão contados em
projetos de Data Warehouse.
Tipo
NA
Descrição
Não conte o mesmo grupo de dados como ALI
Reg.Lóg. (RL)
Tipo de Dado (TD)
O que não se conta
NA
NA
** Não é contada
NA
NA
** Não é contada
NA
NA
** Não é contada
NA
NA
** Não é contada
ou AIE.
NA
Não conte duas vezes o mesmo grupo de
dados, por exemplo uma Tabela Dimensão que
esteja modelada em duas estrelas do DW.
NA
As hierarquias das Tabelas Dimensão devem
ser contadas como Registros Lógicos e não
como ALI. Por exemplo: Departamento e Setor.
Tabelas de
Tabelas de repositório das ferramentas OLAP
Repositório
ou ETL não são contadas, mesmo que o
usuário tenha necessidade de visualizá-las,
pois, são desenvolvidas e mantidas pelas
ferramentas, portanto, não são desenvolvidas
pela equipe de Data Warehouse.
74
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Tipo
Descrição
Tabelas da
Tabelas criadas para auxiliar o processo de
área de
transformação dos dados, não são contadas,
Staging ou
pois tratam-se de soluções técnicas.
Reg.Lóg. (RL)
NA
Data de Impressão
Tipo de Dado (TD)
NA
O que não se conta
** Não é contada
temporárias
6.2.4
Contar as Funções Transacionais
A contagem das funções transacionais se inicia com a identificação de processos elementares. Um processo elementar é a menor
unidade de atividade identificada pelo usuário. O processo elementar deve ser uma transação completa em si mesma, auto-contido e
deixar a aplicação em um estado consistente. Uma vez identificado o processo elementar, deve-se identificar se este deve ser contado
como uma função transacional. As funções transacionais: Entrada Externa (EE), Consulta Externa (CE) e Saída Externa (SE). [6]
6.2.4.1 Contar as Funções Transacionais – Entrada Externa (EE)
A Entrada Externa é um processo elementar que processa dados ou informação de controle que vem de fora da fronteira da
aplicação. A sua principal intenção é manter um Arquivo Lógico Interno (ALI) e/ou alterar o comportamento do sistema. [6]
Em Projetos de Data Warehouse geralmente existem funcionalidades de cargas de dados nas tabelas do DW. Estas tabelas são
denominadas de tabelas fato e tabelas dimensão em um modelo multidimensional em um diagrama estrela. As funcionalidades de carga
de dados são classificadas como Entradas Externas. Para contar as funções transacionais deve-se para cada ALI considerar ao menos
uma EE. [6]
Deve ser contada uma Entrada Externa para cada carga de dados na Tabela Fato. Deve-se ressaltar que a carga inicial de dados nas
tabelas Fato também é contada separadamente como uma Entrada Externa, sendo uma função de Conversão de Dados. [6]
Conte uma Entrada Externa para cada inclusão de novas informações nas Tabelas Dimensão, mesmo as contadas como Registros
Lógicos. Frequentemente, a atualização nos registros da Dimensão ocorre por adição de dados, assim não são contadas Entradas
Externas para alteração de dados. Deve-se ressaltar que a carga inicial de dados nas tabelas Dimensão também deve ser contada
75
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
separadamente como uma Entrada Externa, sendo uma função de Conversão de Dados. Caso exista uma funcionalidade para exclusão
de dados, esta será contada como Entrada Externa. Em geral, conta-se uma Entrada Externa para cada Registro Lógico da Tabela
Dimensão. [6]
O DW pode ter como fonte de dados vários sistemas. Assim, os dados de uma Tabela Fato ou de uma Tabela Dimensão podem ser
carregados de vários sistemas de origem. Geralmente, o processamento dos dados de cada arquivo proveniente desses sistemas é
diferente dos demais. Portanto, conta-se uma Entrada Externa para cada carga de dados de um sistema de origem distinta. [6]
Obs.: Na carga automática não se aplica o descrito nos dois parágrafos anteriores.
OBS.: em relação aos dois últimos parágrafos deve-se contar Entrada Externa para inclusão ou alteração ou de fontes distintas caso
tenha necessidade de desenvolvimento de um processo de ETL para cada uma destas situações. Se o processo elementar for, por
exemplo, manter um ALI de tabela de dimensão e no mesmo processo for realizado extrações de fontes distintas e ainda
inclusão/alteração, terá que ser considerado somente uma Entrada Externa de dimensão.
As cargas de dados em Estrutura de Agregação também são contadas como uma Entrada Externa. [6]
6.2.4.1.1
Contar as Funções Transacionais – Entrada Externa (EE) – Funções de Controle
Como um dos propósitos do Data Warehouse é o de disponibilizar dados históricos, as funções de limpeza de dados são usualmente
incorporadas na área de controle do DW, por exemplo guardar 60 meses de dados históricos. Esta função de limpeza é contada como
uma Entrada Externa. [6]
Os dados utilizados para gerenciar o DW podem ser, por exemplo: datas nas quais uma funcionalidade inclui dados em uma tabela
fato a partir dos dados de um sistema de origem, a quantidade de registros adicionados, a quantidade de registros rejeitados, ou
parâmetros utilizados para o processamento. Os processos elementares da aplicação devem ler e editar esses metadados. Estas funções
76
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
CGMI/SPOA/SE/MDIC
01/04/15 15:04:31
não são identificadas pelo usuário final. No entanto, estes mecanismos de controle devem ser criados para o DW, sendo consideradas
pelo perfil administrador. Assim, estas funcionalidades devem ser contadas, caso sejam desenvolvidas. [6]
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
EE
Tipo
Descrição
Arquivo Referenciado (AR)
Item de Dado (TD)
O que não se conta
Extração,
** Para cada ALI de tabela de
** Conte um AR para cada ALI (tabelas de
** Conta-se todos os
** Não conte EEs separadas para cada passo do processo
transformação
dimensão e tabela fato são
dimensão e tabelas fato) ou AIE (tabelas do
atributos (TD) de todos
de carga (Ex.: uma EE de extração, uma EE de
e carga (ETL)
contadas como uma EE, ou seja, o
sistema origem) lido/mantido durante o
os AR (arquivos
transformação, uma EE de carregamento), uma vez que
processo completo de carga de
processo de carga.
referenciados) no
todos os três são requeridos para completar o processo
cada um deles é considerado como
** Conta-se um AR para cada arquivo de
processo de carga
elementar. [1]
uma EE.
qualidade de dados (QA) mantido durante o
completo da tabela de
** Para EE em DW não se conta TD (Item de dado) para
** Os processos elementares que
processo de carga. [5]
dimensão ou tabela
capacidade de enviar mensagem. Esta regra não se aplica,
mantém a tabela de dimensão ou
** Se dentro do mesmo processo de carga
fato que são lidos e
pois no processo de ETL a mensagem já está incorporada
tabela fato que exige o
de uma fato ou dimensão for mantido
mantidos pelo
na ferramenta de ETL.
desenvolvimento separado de
alguma tabela de controle, também terá
processo.
** Para EE em DW não se conta TD (Item dedado) para
processos de ETL para inclusão,
que ser contado como um AR.
capacidade de especificar uma ação (clique, botão “OK”).
alteração, exclusão ou de extração
** No processo de extração das fatos, cada
Esta regra não se aplica, pois no processo de ETL a ação já
fontes de dados distintas terão que
dimensão lida para realizar o processo de
está incorporada na ferramenta de ETL.
ser considerados como Entradas
lookup deve ser contada como um AR.
Externas(EE) distintas.
77
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
EE
Tipo
Descrição
Arquivo Referenciado (AR)
Item de Dado (TD)
Extração,
** Para cada ALI de tabela de
** Deve-se seguir as orientações do item
** Deve-se seguir as
transformação
dimensão e para cada ALI de tabela
anterior (Extração, transformação e carga
orientações do item
e carga (ETL) –
fato são contadas como uma EE de
(ETL)).
anterior (Extração,
Carga Inicial.
carga inicial, ou seja, a EE de carga
transformação e carga
[5]
inicial é considerada como uma
(ETL)).
O que não se conta
NÃO SE APLICA NO CASO DE AUTOMAÇÃO DE ETL.
função de conversão de dados.
EE
Extração,
** O processo de ETL das tabelas
** Conta-se um AR para cada tabela ponte
** Conta-se todos os
** Não conte EEs separadas para cada passo do processo
transformação
pontes e agregadas criadas para
ou de agregação.
atributos (TD) de todos
de carga (Ex.: uma EE de extração, uma EE de
e carga (ETL)
performance serão contadas cada
** Se dentro do mesmo processo de carga
os AR (arquivos
transformação, uma EE de carregamento), uma vez que
- Tabela Ponte
uma como EE.
de uma fato, dimensão ou ponte, for
referenciados) no
todos os três são requeridos para completar o processo
e tabelas
** O processo de ETL das tabelas
mantido alguma tabela de controle, também
processo de carga
elementar.
Agregadas [6]
de dimensão consideradas como
terá que ser contado com um AR.
completo da tabela de
** Para EE em DW não se conta TD (Item dedado) para
CODE-DATA, serão contadas cada
** Conte um AR para cada ALI ou AIE
agregação ou tabela
capacidade de enviar mensagem. Esta regra não se aplica,
uma como EE.
(tabelas do sistema origem) lido durante o
ponte, que são lidos e
pois no processo de ETL a mensagem já está incorporada
processo de carga.
mantidos pelo
na ferramenta de ETL.
** No processo de extração das fatos, cada
processo.
** Para EE em DW não se conta TD (Item dedado) para
dimensão lida para realizar o processo de
capacidade de especificar uma ação(clique, botão “OK”).
lookup deve ser contada como um AR.
Esta regra não se aplica, pois no processo de ETL a ação já
** Conte somente um AR para cada ALI
está incorporada na ferramenta de ETL.
tanto mantido quanto lido.
78
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
EE
Tipo
Descrição
Extração,
** Os Jobs ou processos/scripts que
transformação
fazem o
e carga (ETL) –
encadeamento/automatização de
Processos de
todos os processos de carga dos
Automação [5]
Data Marts, o MDIC irá assumir
Arquivo Referenciado (AR)
Item de Dado (TD)
NA
NA
O que não se conta
que o tamanho funcional destes
processos são de 4PF, ou seja,
de complexidade média, por não
possuir base histórica. [5]
EE
Extração,
** Os dados utilizados para
** Seguir as mesmas orientações da EE de
** Seguir as mesmas
** Seguir as mesmas orientações da EE de inclusão de
transformação
gerenciar o DW podem ser, por
inclusão de dados.
orientações da EE de
dados.
e carga (ETL) –
exemplo: datas nas quais uma
Editar dados
funcionalidade inclui dados em uma
de controle
tabela fato a partir dos dados de um
(metadados)
sistema de origem, a quantidade de
do ETL. [6]
registros adicionados, a quantidade
inclusão de dados.
de registros rejeitados, ou
parâmetros utilizados para o
processamento. Os processos
elementares da aplicação devem ler
e editar esses metadados.
79
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Versão 1.0
Data de Impressão
01/04/15 15:04:31
6.2.4.2 Contar as Funções Transacionais – Consulta Externa (CE) e Saída Externa (SE)
As funções transacionais associadas aos requisitos do usuário de Consulta de informações são as Consultas Externas e as Saídas
Externas, definidas a seguir. [6]
A Saída Externa é um processo elementar que envia dados para fora da fronteira da aplicação, e sua principal intenção é apresentar
informação ao usuário por meio de lógica de processamento adicional à recuperação de dados ou informações de controle. Sua lógica de
processamento deve conter no mínimo uma fórmula matemática ou cálculo, ou ainda criar dado derivado. Esse processo pode manter um
ou vários arquivos lógicos ou alterar o comportamento do sistema. [6]
A Consulta Externa é um processo elementar que envia dados para fora da fronteira da aplicação, e sua principal intenção é
apresentar informação ao usuário por meio da recuperação de dados ou informações de controle. Sua lógica de processamento não
envolve fórmula matemática, nem cálculo, não cria dado derivado, nenhum arquivo lógico é mantido durante o processo e o
comportamento do sistema também não é alterado. [6]
Em Aplicações de Data Warehouse existem requisitos para geração de relatórios usando as ferramentas. Os relatórios requisitados
pelo usuário e implementados pela equipe de desenvolvimento são contados como Saídas Externas. Em alguns casos específicos,
quando a geração dessas consultas não possuir lógicas de processamento de cálculos ou criação de dados derivados, esta
funcionalidade deve ser contada como Consulta Externa. [6]
Os relatórios gerados pelo usuário por meio da ferramenta OLAP não são contados, porque não constituem um requisito do usuário
para a equipe de desenvolvimento. [6]
A geração do Universo (também denominado Cubo ou Contexto de Análise OU Camada Semântica) deve ser contada como uma
Saída Externa. Poderá haver universos por estrela (uma Tabela Fato e suas respectivas Dimensões), bem como universos com mais de
uma estrela (mais de uma tabela fato e suas respectivas dimensões. Os Arquivos Referenciados serão as Tabela Fato e cada Tabela
Dimensão, identificada como Arquivo Lógico Interno, e os tipos de dados serão os atributos de todos os Arquivos Referenciados (Tabela
80
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Fato e Dimensão) e as métricas associadas, desconsiderando os atributos repetidos. Em alguns casos específicos, quando a geração do
Universo não possuir lógicas de processamento de cálculos ou criação de dados derivados, esta funcionalidade deve ser contada como
Consulta Externa. [6]
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
CE
Tipo
Descrição
Arquivo Referenciado (AR)
Item de Dado (TD)
O que não se conta
Relatórios
** Representam relatórios que
** Conta-se um AR para cada dimensão
** Conta-se um item de
** List-box ou combos não são contadas como consulta
Gerenciais que
apresentam listas, somente,
e/ou fato lidos durante a consulta externa.
dado para cada campo
externa, pois são funcionalidades incorporadas pelas
não possuem
apresentadas em forma de tabela.
São arquivos referenciados do tipo ALI.
reconhecido pelo
ferramentas OLAP.
cálculo OU
** Serão contadas como consulta
usuário e que não é
** Não são contadas qualquer tipo de consultas elaboradas
DADO
externa se forem desenvolvidas e
repetido.
pela área usuária.
DERIVADO –
disponibilizadas no ambiente
** TD para mensagem
** Para CE em DW não se conta TD (Item dedado) para
(Relatórios
corporativo do Data Warehouse.
e TD para ação só
capacidade de enviar mensagem. Esta regra não se aplica,
OLAP)
serão contados caso a
pois a mensagem já está incorporada na ferramenta OLAP.
[1],[3],[4]
ferramenta OLAP
** Para CE em DW não se conta TD (Item dedado) para
permita o
capacidade de especificar uma ação(clique, botão “OK”).
desenvolvimento
Esta regra não se aplica, pois a ação já está incorporada na
destas
ferramenta de OLAP.
funcionalidades, pois
caso contrário não
serão contados (vide
“O que não se conta”)
81
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
CGMI/SPOA/SE/MDIC
01/04/15 15:04:31
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
CE
Tipo
Descrição
Arquivos de QA
** Representam arquivos que
(Qualidade de
apresentam listas da qualidade de
Dados) [5]
dados que são geradas durante o
processo de carga (ETL).
Arquivo Referenciado (AR)
** Conta-se um AR para cada ALI de QA
lidos durante a consulta externa.
Item de Dado (TD)
O que não se conta
** Conta-se um item de
** Para CE em DW não se conta TD (Item dedado) para
dado para cada campo
capacidade de enviar mensagem. Esta regra não se aplica,
contido no arquivo de
pois os arquivos de QA não possuem esta característica.
QA.
** Para CE em DW não se conta TD (Item dedado) para
** Estas listas são subprodutos do
capacidade de especificar uma ação(clique, botão “OK”).
processo de ETL de Data
Esta regra não se aplica, pois os arquivos de QA não
Warehouse
possuem esta característica.
** Cada arquivo de QA (Qualidade
de Dados) será contado como 1
(uma) consulta externa, caso seja
recuperado do ALI QA e não haja
cálculo. [5]
SE
Camada
** Representa a camada que será
** Conta-se um AR para cada tabela de
** Conte um item de
** Para SE em DW não se conta TD (Item dedado) para
Semântica
utilizada pelo usuário para
dimensão e tabela fato ou tabela ponte
dado para cada
capacidade de enviar mensagem. Esta regra não se aplica,
e/ou
desenvolvimento das suas
lido/referenciado/mantido na camada
atributo que ficará
pois a mensagem já está incorporada na ferramenta OLAP.
Cubos [4]
consultas/relatórios, bem como pela
semântica/cubo.
disponível para o
** Para SE em DW não se conta TD (Item dedado) para
equipe.
Obs.: se há um mesmo ALI
usuário na camada
capacidade de especificar uma ação(clique, botão “OK”).
** Se as funções de metadados
desempenhando papéis diferentes, o ALI é
semântica ou no cubo.
Esta regra não se aplica, pois a ação já está incorporada na
foram desenvolvidas para apoiar um
contado somente uma vez. Ex.: país de
usuário do aplicativo, então conte
origem e país de destino.
ferramenta de OLAP.
um EE para cada função única
mantendo os metadados.
82
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
CGMI/SPOA/SE/MDIC
01/04/15 15:04:31
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
SE
Tipo
Descrição
Arquivo Referenciado (AR)
Item de Dado (TD)
O que não se conta
Arquivos de QA
** Representam arquivos que
** Conta-se um AR para cada ALI de QA
** Conta-se um item de
** Para SE em DW não se conta TD (Item dedado) para
(Qualidade de
apresentam listas da qualidade de
lidos/mantidos durante a saída externa.
dado para cada campo
capacidade de enviar mensagem. Esta regra não se aplica,
Dados) [5]
dados que são geradas durante o
contido no arquivo de
pois os arquivos de QA não possuem esta característica.
processo de carga (ETL).
QA.
** Para SE em DW não se conta TD (Item dedado) para
** Estas listas são subprodutos do
capacidade de especificar uma ação(clique, botão “OK”).
processo de ETL de Data
Esta regra não se aplica, pois os arquivos de QA não
Warehouse
possuem esta característica.
** Cada arquivo de QA (Qualidade
de Dados) será contado como 1
(uma) saída externa, caso haja
atualização do ALI de QA ou
consolidação dos dados. [5]
83
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
Data de Impressão
01/04/15 15:04:31
Contar as Funções TRANSACIONAIS e suas Complexidades
Função
SE
Tipo
Descrição
Arquivo Referenciado (AR)
Item de Dado (TD)
O que não se conta
Relatórios
** Para o Data Warehouse são
** Conte um AR para cada dimensão ou
** Conte um Item de
** List-box ou combos não são contadas como consulta
Gerenciais
consideradas também como saídas
fato (ALIs) lido durante o processamento de
dado não repetido,
externa, pois são funcionalidades incorporadas pelas
contendo
externas os relatórios e painéis
Saída Externa.
para cada campo
ferramentas OLAP.
cálculos ou
gerenciais especificados durante a
reconhecido pelo
** Não são contados como TD os atributos utilizados nos
derivações
etapa de levantamento.
usuário que será
cálculos, e que não SÃO disponibilizados nos relatórios de
(Relatórios
** Considere um processo
recuperado ou gerado
saída.
OLAP ou
elementar para cada relatório do
pelo processo
** Para SE em DW não se conta TD (Item dedado) para
Painéis) [1], [4]
negócio ou painel solicitado.
elementar.
capacidade de enviar mensagem. Esta regra não se aplica,
** TD para mensagem
pois a mensagem já está incorporada na ferramenta OLAP.
e TD para ação só
** Para SE em DW não se conta TD (Item dedado) para
serão contados caso a
capacidade de especificar uma ação(clique, botão “OK”).
ferramenta OLAP
Esta regra não se aplica, pois a ação já está incorporada na
permita o
ferramenta de OLAP.
desenvolvimento
** Não são contados “literais”, tais como logo, título do
destas
relatório, etc.
funcionalidades, pois
** a contagem de Pontos de Função é baseada na
caso contrário não
identificação do processo elementar e não na
serão contados (vide
implementação do mesmo. Assim, se uma consulta for
“O que não se conta”)
mostrada em uma tela com rolagem ou abas, esta será
contada apenas uma vez. No entanto, em alguns casos as
abas em uma tela são implementações de processos
elementares distintos. Assim, nestes casos devem-se contar
todos os processos elementares distintos.
84
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
CGMI/SPOA/SE/MDIC
7
Data de Impressão
01/04/15 15:04:31
Fórmula [6]
O tamanho do projeto de desenvolvimento ou de manutenção deve ser dimensionado de acordo com as fórmulas abaixo:
Desenvolvimento de um Novo DW: PF = PF_Incluído + PF_Conversão (Projeto de Desenvolvimento - CPM 4.3)
Manutenção Evolutiva: Consiste na inclusão, alteração ou exclusão de funcionalidades em uma aplicação de Data
Warehouse implantada. PF= PF_incluido + PF_Alterado + PF_Excluido + PF_Conversão (Projeto de Melhoria – CPM 4.3)
Manutenção Corretiva: Correção de erros em funcionalidades de aplicações existentes. PF = PF_Alterado x 0,70
Manutenção Superficial: Correção de Problemas na Interface (exemplo: alteração de fonte de caracteres, cores de telas,
logotipos, reposicionamento de botões na tela). PF = PF_Alterado x 0, 10
Manutenção Adaptativa: Adequação de funcionalidades às mudanças de negócio. Essa manutenção está associada aos
requisitos não funcionais. Deve-se contar os PF_Alterados das funcionalidades impactadas pela mudança. O tamanho é
aferido com base na fórmula: PF = PF_Alterado x 0,30.
Atuação em Bases de Dados: Consiste em extrações de dados ou atualizações de dados de Bases de dados em sistemas
em produção. Seguem as fórmulas: Extração de Dados: PF = PF_Incluido x 0,60; Alteração de Dados em Produção: PF=
PF_Incluido x 0,30; Intervenção em Base de Dados: PF_Incluído x 0,10
Redocumentação de DW existentes: PF = PF_Incluido x 0,30
85
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
Data de Impressão
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Esta tabela representa também outros itens que podem ocorrer durante o projeto de Data Warehouse e que serão
tratados, na maioria dos casos, como desenvolvimento/manutenção e que não tem como classificá-los como função ou
transação de dado.
Item
Tipo
Impacto
Descrição
(ETL, OLAP,
Banco Dados)
Customização OLAP
OLAP
OLAP
Deverá seguir o padrão de contagem para
desenvolvimento/manutenção do IFPUG/MDIC.
Manter o ambiente OLAP e ETL
OLAP
OLAP
Implica em criar usuários e perfis para acesso a
ETL
ETL
ferramenta OLAP e ETL.
O MDIC é administrador do ambiente de ETL e,
portanto, irá absorver a manutenção dos usuários
e perfis de acesso.
Configuração integração
OLAP
OLAP
AD/LDAP x OLAP
Customização ETL - SISP
Deverá seguir o padrão de contagem para
desenvolvimento/manutenção do IFPUG/MDIC.
ETL
ETL
Deverá seguir o padrão de contagem para
desenvolvimento/manutenção do IFPUG/MDIC.
86
Versão 1.0
Guia
Contagem de Pontos de Função para Business
Intelligence
01/04/15 15:04:31
CGMI/SPOA/SE/MDIC
Item
Tipo
Data de Impressão
Impacto
Descrição
(ETL, OLAP,
Banco Dados)
Migração de ferramenta ETL
ETL
Processos de ETL
Implica em refazer o processo de ETL, neste caso
deverá seguir as regras de EE de ETL definido no
item 6.2 deste guia e dos itens não mensuráveis
da tabela 1.
Migração de Banco de Dados
Adicionar Campos em Dimensões
e Fatos
Banco
Banco
Banco
Deverá seguir o padrão de contagem para
Processos de ETL
desenvolvimento/manutenção do IFPUG/MDIC.
Banco
Deverá seguir o padrão de contagem para
Processo de ETL
desenvolvimento/manutenção do IFPUG/MDIC.
OLAP
87