Beruflich Dokumente
Kultur Dokumente
UNIVERSIDADE
CATÓLICA DE
BRASÍLIA
PROGRAMA DE PÓS-GRADUAÇÃO EM
GESTÃO DO CONHECIMENTO
E TECNOLOGIA DA INFORMAÇÃO
Mestrado
BRASÍLIA 2003
ANGÉLICA TOFFANO SEIDEL CALAZANS
Brasília
2003
TERMO DE APROVAÇÃO
Brasília
UCB
i
AGRADECIMENTOS
À minha querida mãe Thereza pela ajuda nas revisões, apoio e incentivo durante todo
este trabalho.
À minha irmã Eloisa pela grande ajuda nas revisões e traduções.
Ao meu marido Calazans e meus filhos Luiza e Bruno que souberam entender minhas
ausências e sempre torceram por mim.
A meu pai e meu irmão pelo incentivo durante este trabalho.
À minha amiga Marília pela ajuda nas revisões e apoio durante o trabalho.
À minha chefe Ana Maria pela grande compreensão durante todo este trabalho.
Aos meus colegas da Caixa Econômica Federal, inclusive supervisores, técnicos e
líderes que participaram com informações valiosas sobre os sistemas e os que também,
apoiaram todo este trabalho.
Aos colegas das instituições pesquisadas que contribuíram com informações valiosas
sobre os sistemas pesquisados.
Aos alunos do Mestrado em Gestão do Conhecimento e Tecnologia da Informação da
Universidade Católica de Brasilia que estudaram comigo e apoiaram a elaboração deste
trabalho, em especial Edmeia e Leão.
Aos professores convidados Ricardo Falbo, Hércules Prado e Nicolas Anquetil que
compuseram a banca formada para avaliar esta dissertação, garantindo mais credibilidade
nessa avaliação.
Ao Sr. César Travassos de Brito, estatístico consultado, pela ajuda nas análises
estatísticas.
À professora Káthia e ao professor Rildo meus orientadores pelo envolvimento,
profissionalismo, companheirismo e grande contribuição para este trabalho.
E a todos que colaboraram e ajudaram, de qualquer maneira, na elaboração deste
trabalho.
ii
RESUMO
___________________________________________________________________________
iii
ABSTRACT
__________________________________________________________________________
To better control the time, cost and resources assigned to software projects,
organizations need a proper estimate of their size even before the projects actually start.
Accordingly, several approaches were proposed to estimate the size of a software project, as
the well-known Function Point Analysis, which is largely used in traditional software
development projects. Most of these approaches aim at measuring the size of any type of
software system, whatever the technology. However some authors argue that each technology
has specific particularities, which must be taken into account. Data Mart systems, for instance,
have particularities in their development that are different from the traditional software
systems (e.g. a data mart uses other software systems as data sources and do not create new
information, it only contemplates information queries and not information update and so on).
It is important, therefore, to have an estimation approach that considers those particularities
while measuring the Data Mart size. This work presents an adaptation of the Function Points
Analysis approach for Data Mart size estimation. It also presents and discusses results on data
mart projects developed in the industry.
iv
SUMÁRIO
___________________________________________________________________________
RESUMO……………………………………………………………………………......…..iii
ABSTRACT……………………………………………………………………………........iv
vi
LISTA DE FIGURAS
___________________________________________________________________________
vii
LISTA DE QUADROS
_________________________________________________________________
viii
LISTA DE TABELAS
_________________________________________________________________
Tabela 4.1 - Levantamento do esforço da etapa ETL no processo de construção de um Data
Mart/Data Warehouse ...................................................................................................... 51
Tabela 4.2 - Levantamento da Proposta Santillo(2001)............................................................ 56
Tabela 4.3 - Comparação entre o tempo real e o tempo estimado da proposta de Santillo(2001)
........................................................................................................................................... 57
Tabela 4.4 - Levantamento das empresas que utilizam ferramenta ETL.................................. 84
Tabela 4.5 - Aplicação da APF e da proposta em 10 sistemas de Data Mart .......................... 85
Tabela 4.6 - Resultados com relação ao tempo real, estimado APF e estimado proposta........ 86
Tabela 4.7 - Levantamento PF de um sistema em início de desenvolvimento ......................... 89
Tabela 4.8 - Estatísticas descritivas .......................................................................................... 93
Tabela 4.9 - Aplicação da ANOVA.......................................................................................... 94
Tabela 4.10 - Testes de Tukey - Comparação Múltipla............................................................ 95
Tabela 4.11 - Subgrupos Homogêneos ..................................................................................... 96
ix
1
CAPÍTULO 1 - INTRODUÇÃO
____________________________________________________________________________
Data Warehouse e Data Mart são sistemas que utilizam depósitos multi dimensionais
de dados e que servem como fundamento de informações para a tomada de decisão.
Data Warehouse representa uma grande base de dados analítica capaz de integrar, de
forma concisa e confiável, as informações de interesse para empresa (MACHADO, 2000,
p.26) e (POE, 1996, p.6), possuindo uma arquitetura mais abrangente com foco mais amplo.
Os Data Mart, em sua forma mais simples, representam dados de um único processo de
negócio (KIMBALL E ROSS, 2002, p. 455) e possuem um escopo menor, tanto de arquitetura
como de foco. Podem, contudo, estar coerentemente acoplados no framework maior do Data
Warehouse corporativo, se utilizadas técnicas de interligação e quando suas dimensões estão
em conformidade. Barbieri (2001, p.56) cita que atualmente os termos “Data Warehouse e
Data Mart são praticamente (quase) intercambiáveis”.
Uma parcela significativa do orçamento em Tecnologia da Informação (TI) de muitas
organizações é dedicada ao desenvolvimento de aplicações de Data Warehouse (MOODY e
KORTINK, 2000) e, segundo Stuzke (2000), as empresas necessitam estimar de forma
acurada o tamanho dos produtos de software no início do processo de desenvolvimento para
melhor planejar e prever a construção de produtos de software e, ainda, diminuir o risco e a
tomada de decisões errôneas. Agarwal et al. (2001) concordam com esta questão, destacando
que a utilização de estimativas de tamanho no início do estágio de um projeto de software é
uma das necessidades do mercado para garantir o suporte eficaz à tomada de decisões.
A estimativa em projetos de software envolve, na maioria das vezes, a previsão de
quatro variáveis: tamanho (dimensão do software produzido ou a produzir), esforço (trabalho
necessário para o desenvolvimento do software), prazo (tempo necessário para o
desenvolvimento do software) e qualidade (envolvendo fatores como manutenabilidade,
confiabilidade e outros)(AGUIAR, 2002).
A primeira variável a ser determinada é sempre o tamanho do software, produzido ou a
produzir, pois é a partir da definição da dimensão que é possível definir o esforço e o prazo
necessários para o desenvolvimento do software. Isso demonstra a importância de uma
mensuração de tamanho o mais próxima possível da realidade, pois ela é um fator que causa
impacto nas demais variáveis.
Torna-se necessário adequar as abordagens de medição de tamanho definidas para
sistemas tradicionais para que considerem as características específicas de Data
Warehouse/Data Mart e com isso gerem estimativas mais reais. Uma abordagem adequada de
mensuração de tamanho ajudará a Gestão da TI a resolver uma das maiores dificuldades
encontradas atualmente: conhecer a dimensão do que está sendo gerenciado.
3
O tipo de pesquisa utilizada classifica-se como pesquisa aplicada, uma vez que busca
a resolução de problema concreto, que é a mensuração de projetos de Data Mart.
Com relação aos meios de investigação, foram utilizados: a pesquisa bibliográfica
baseada em material publicado em livros, revistas, jornais, redes eletrônicas, anais; estudo de
4
1.2.2 Suposições
produtividade de mercado, verificar qual dos tamanhos obtidos pelas aplicações das métricas
mais se aproximou do tamanho real.
Foram também consultados três especialistas em Data Mart, para adequação dos itens
de influência das novas características geradas pela proposta de adequação.
Além do capítulo introdutório, este trabalho consiste de mais cinco capítulos, que são
descritos a seguir.
No capítulo 2, é apresentada a tecnologia de Data Warehouse e os desafios que essa
tecnologia acrescenta ao desenvolvimento de sistemas. É traçado um comparativo entre os
sistemas transacionais e os sistemas de Data Warehouse e são conceituados Data Warehouse e
Data Mart. É descrita a estrutura do ambiente de Data Warehouse e o processo de construção
de um Data Warehouse. São apresentadas algumas das metodologias para desenvolvimento de
sistemas de Data Warehouse.
No capítulo 3, é apresentada uma visão geral sobre medição de software. Inicialmente
são descritas algumas considerações sobre definição de medições e suas classificações. São
apresentadas algumas abordagens de métricas de tamanho existentes: LOC, Halstead, APF,
MKII e Full Function Points/COSMIC. É citada também uma proposta de medição de
tamanho para o contexto de Data Warehouse/Data Mart (SANTILLO, 2001).
Uma proposta de adequação é então apresentada no capítulo 4. Inicialmente, são
descritas algumas considerações sobre as diferenças de Data Mart e um sistema transacional.
São apresentadas sucintamente algumas abordagens de medição de tamanho existentes como
APF, COSMIC e a proposta de Santillo (2001) e é justificada a escolha da APF para
adequação. A proposta de adequação é detalhada e a aplicação da proposta é analisada em 11
sistemas de Data Mart das três instituições.
O capítulo 5 apresenta as principais contribuições do trabalho para a melhoria da
medição em sistemas de Data Warehouse e propõe os trabalhos futuros que poderão ser
realizados a partir desta dissertação.
6
2.1 INTRODUÇÃO
Proposta no início dos anos 1990, a tecnologia de Data Warehouse surgiu como uma
solução para satisfazer a necessidade de informações gerenciais da organização (MOODY e
KORTINK, 2000).
Um Data Warehouse é uma coleção de dados integrados, orientados a assunto,
variantes no tempo e não voláteis utilizados pela organização para a tomada de decisões
(INMON, 1999). Sistemas de Data Warehouse são criados para o processamento analítico das
informações (On Line Analytical Processing - OLAP) e o seu objetivo é transformar o dado
transacional, distribuído heterogeneamente pela organização, em informação estratégica para
suporte a processos de tomada de decisão, de forma a garantir a competitividade necessária
para o negócio (KIMBALL e ROSS, 2002, p. 3-5).
O desenvolvimento de sistemas de Data Warehouse apresenta uma série de aspectos
diferentes do desenvolvimento de sistemas transacionais ou On-Line Transaction Processing
(OLTP).
Sistemas transacionais são desenvolvidos com base nos requisitos operacionais
(tecnologia OLTP) do modelo de negócio da organização (GARDNER, 1998). Estes sistemas
possuem as características de serem utilizados no dia-a-dia da organização, apresentando os
dados de natureza detalhada e uma estrutura relacional e normalizada (CHAUDHURI e
DAYAL, 1997).
Por outro lado, sistemas analíticos (tecnologia OLAP) são compostos de informações
para departamentos ou unidades de negócio com a visão gerencial da empresa e permitem o
cruzamento de informações funcionais para análises de negócios, de forma a garantir uma
vantagem competitiva. São características desses sistemas de Data Warehouse: utilizar as
informações para análise; possuir dados de natureza sumarizada e detalhada e ter uma
estrutura multidimensional e desnormalizada (CHAUDHURI e DAYAL, 1997).
O processo sistemático de construção de um sistema de Data Warehouse é chamado de
Data Warehousing e é composto por uma coleção de tecnologias, algoritmos, ferramentas,
técnicas e por uma arquitetura concebida para facilitar o armazenamento e o gerenciamento
desses grandes volumes de dados e de várias origens, com o objetivo de proporcionar ao
trabalhador do conhecimento (executivos, gerentes e analistas) a visão do todo ou de parte do
negócio. (CHAUDHURI e DAYAL, 1997; GARDNER, 1998).
7
As abordagens iniciais para projetos de Data Warehouse e Data Mart surgiram das
propostas de Bill Inmon e Ralph Kimball em meados dos anos 1990 (BARBIERI, 2001,
p.52).
A abordagem de Bill Inmon baseou-se, inicialmente, no estilo mais tradicional de
banco de dados e busca uma forte integração entre todos os dados da empresa gerando um
único projeto integrado, coeso e monolítico, ou seja, um Data Warehouse da organização ou
corporativo.
Kimball propôs uma abordagem mais incremental. Criou a metodologia do esquema
estrela que aponta para projetos de Data Mart separados que devem ser integrados na medida
de sua evolução. Permite projetos menores, independentes, focando áreas ou assuntos
específicos que terão sua conexão com o passar do tempo, desde que mantida a
compatibilidade dimensional entre chaves e tabelas.
Estas duas abordagens atualmente são compatíveis, havendo somente diferenças na
nomeação das suas estruturas (GALLAS, 1999), conforme pode ser observado a seguir.
Inmon (1999) define Data Warehouse como “uma coleção de dados orientada a
assunto, integrada, não volátil e variante no tempo para suporte a decisões gerenciais”.
Orientada a assuntos, porque, diferente das bases transacionais (que são organizadas em torno
de transações), no Data Warehouse as informações giram em torno de um assunto definido
pelo usuário. Integrada pois o Data Warehouse necessita manter a consistência e a
uniformidade dos dados extraídos de fontes distintas. Não volátil, considerando que os dados
em um Data Warehouse não são atualizáveis, são apenas carregados e disponibilizados para
consultas e variável no tempo, pois cada registro se refere a um dado instante do objeto.
Para Machado (2000, p.26) e Poe (1996, p.6), Data Warehouse representa uma grande
base de dados analítica capaz de integrar, de forma concisa e confiável, as informações de
interesse para a empresa. É um armazém de dados e históricos cuja finalidade é apresentar as
informações que permitam identificar indicadores, evolução de valores, ou seja, servir de
fundamento de informações para a tomada de decisão (KIMBALL e ROSS, 2002, p.3-5).
Inmon (1999) define Data Mart como uma coleção de áreas de interesse (subjects)
para suporte à decisão, baseada nas necessidades de um determinado departamento. O Data
Mart é granular na medida em que representa somente as necessidades do departamento ou de
determinada área. Data Mart são sistemas de suporte à decisão (DSS) departamentais. A
estrutura e conteúdo de um Data Warehouse e de um Data Mart são significativamente
10
Criadores de
Extrair Armazenamento de relatórios
dados: tabelas
relacionais e Barramento do
arquivos simples DW: fatos e
dimensões em Modelagem:
conformidade Previsão,
Processamento: pontuação e
classificação e exploração de
Extrair processamento Data Mart número 2: dados
seqüencial (projetado da mesma
Carregar forma) Acessar
3
Sistemas Integrados de gestão.
13
ODS DM
Bases de aplicações
Extração,
DW OLAP
transferência,
agregação, Relatórios
ERP etc Análises estatísticas
Desktop data Análises financeiras
External data
DM
Web based data
Referência repositório da
Repositórios ferramentas Repositório empresa Metadados empresa
Gerenciamento do Warehouse
4
Operational Data Storage - Cópias integradas e freqüentemente atualizadas de dados transacionais. É um
terceiro sistema físico de tabelas localizado entre os sistemas transacionais e o Data Warehouse, utilizado ou não
conforme a arquitetura de solução adotada (KIMBALL e ROSS, 2002, p. 449).
14
p.18-19) está mais direcionada para construção de Data Marts integrados. Considerando a
proximidade conceitual dessas propostas de arquitetura, será utilizada a abordagem do
Kimball e Ross (2002) para demonstrar de forma mais detalhada o processo de construção de
um Data Mart/Data Warehouse nessa arquitetura.
Meses
1 2 3
Produtos
Refrigerante
Leite
Creme
Sopa
Fortaleza
Localizaçãos
Natal
Tabela
dimensão
Produto
Tabela
dimensão
Data
Tabela
dimensão
Região
Tabela
Tabela
dimensão
dimensão
Produto
Estado
Tabela
dimensão
Data
Além dos quatro processos citados anteriormente, Kimball et al.(1998, p. 24-25) ainda
identificam outros processos necessários para a construção de um Data Warehouse, como
Publicação6, Atualização7, Consultas8, Auditoria9, Segurança10 e Cópia de Segurança e
Recuperação11.
Existem diferentes abordagens para o desenvolvimento de Data Warehouse/Data Mart,
sendo importante considerar uma metodologia no início de sua construção. O subitem 2.6
descreve algumas metodologias existentes para esta tecnologia.
Adaptado de Inmon(2000)
6
Tem o objetivo de notificar que o Data Mart está carregado, atualizado, com qualidade garantida e pronto para
utilização.
7
Visa atualizar o Data Mart frente a mudanças de hierarquias corporativas, status e etc .
8
Tem o objetivo de disponibilizar consultas para usuários finais.
9
Tem como objetivo auditar o sistema.
10
Visa criar mecanismos para garantir a segurança dos dados.
11
Visa garantir que os dados serão armazenados e poderão ser recuperados.
19
Inmon (2003) propõe uma série de fases para construção de um Data Warehouse
(Figura 2.6). A abordagem de Inmon abrange também etapas de alto nível com aspectos do
projeto, como por exemplo, desenvolvimento inicial da organização e infra-estrutura
tecnológica .
20
Desenvolvimento
inicial
Data Mart
Projeto físico
do banco de
dados
Exploração
data
Re- Sistema de
warehouse
especificação registro
Acesso
Carga no
usuário final ,
sistema
análise
desenvolvimento (o projeto de Data Warehouse deve ser dividido em séries de entregas lentas
ou rápidas), a origem dos dados e identificados quais os Data Mart poderão ser derivados
desse processo.
A fase de Modelo de dados consiste de três níveis: o modelo de nível alto ou do
diagrama de Entidade e Relacionamento, o modelo de nível médio (lógico) e o modelo de
nível baixo (físico). Nessa etapa são identificados o escopo, os modelos existentes, os
requisitos do usuário e os níveis de modelos pretendidos. Na primeira interação, define-se a
forma como os dados serão carregados (se por unidade de tempo, por áreas geográficas, linha
de produto, classe de cliente, tipo de atividade, etc); quais áreas funcionais serão definidas
como as iniciais na interação do Data Warehouse (finanças, vendas, marketing, etc); quais
áreas de interesse serão as primeiras a serem trabalhadas (há a necessidade de escolher um
subconjunto de cada área de interesse para iniciar os trabalhos ou implementar somente uma).
Após as fases de definição de infra-estrutura tecnológica, projeto preliminar e modelo
de dados, inicia-se o Projeto físico do banco de dados, onde são definidos layout, tabelas,
chaves, alocação de espaço, características físicas, índices, atributos, redundâncias e
compactação. No projeto físico é implementado o nível de granularidade definido
anteriormente.
A fase seguinte é o Registro do sistema e nesta fase é efetuado o mapeamento dos
dados de origem do legado com relação ao modelo de Data Warehouse. São estudadas e
definidas as interfaces necessárias para a carga do Data Warehouse. A fase de Registro do
sistema é considerada a mais complexa atividade na construção de um Data Warehouse, pois
se identificam as múltiplas origens dos dados, a falta de origens para alguns dados, a
necessidade de sumarização, conversão e recálculo dos dados, reestruturação de atributos de
dados, fusões condicionais de dados, etc.
A Carga do sistema é a próxima fase onde são identificados o número de programas
necessários, a complexidade da lógica desses programas, linguagem desses programas,
desenvolvidos os programas e efetuada a carga do sistema.
A fase de Acesso usuário final /análise e feedback permite a execução dos testes
pelos usuários finais.
Na fase de Re-especificação é definido o plano de construção da próxima interação
para o desenvolvimento.
22
A Figura 2.7 demonstra a abordagem de Kimball e Ross (2002, p. 381), que tem como
base principal um framework conceitual descrevendo uma seqüência de etapas de alto nível
requeridas para o projeto, desenvolvimento e implementação de um Data Warehouse.
Projeto Seleção e
técnico de instalação do
arquitetura produto
Projeto e
Modelagem Manutenção e
Definição dos Projeto físico desenvolvimento Distribuição
Planejamento dimensional da data staging crescimento
requisitos do
do projeto
negócio
Especificação Desenvolvimento
da aplicação da aplicação
analítica
analítica
Gerenciamento do projeto
O ciclo de vida inicia-se com Planejamento do projeto, onde são identificados fatores
como a motivação da empresa, patrocinador do projeto, cultura analítica da empresa, definidas
a análise da viabilidade (técnica, de recursos e de dados) e o escopo do projeto (definido pela
área de TI e de negócios).
Na etapa seguinte, Definição dos requisitos do negócio ocorre a definição de
prioridades (análise de prioridades), impacto no negócio (alta/baixa) e viabilidade de dados
(alta/baixa) juntamente com os gestores e os analistas dos sistemas de origem.
Na etapa do Projeto de arquitetura técnica se realiza a coleta de requisitos
relacionados à arquitetura, requisitos de segurança, e são identificadas as necessidades de
configuração e de infra-estrutura física com relação ao tamanho, escalabilidade, desempenho,
flexibilidade.
Kimball et al (1998) sugere uma fase de seleção e instalação dos produtos que possui
o objetivo de após o entendimento dos processos corporativo de compras, avaliar os produtos,
conduzir a pesquisa de mercado, conduzir um protótipo (se necessário), instalação e
negociação.
23
Uma análise mais aprofundada dos dados gerados pelo processo, avaliação da
granularidade, consistência histórica, valores válidos e disponibilidade de atributos são
ocorrências da fase modelagem dimensional. Identificam-se também nesta fase os sistemas
de origens específicos, campos e regras de transformação para derivar o mapeamento de
origem para destino. É criado o esquema dimensional e são identificados os nomes de tabelas,
colunas, definições e as regras de cálculo para fatos e regras de dimensões (se houver a
especificação de um metadados esta irá consistir uma de suas primeiras entradas).
As demais fases que integram este framework proposto tratam do Projeto físico onde
são efetuadas atividades como ajuste de desempenho, particionamento, criação de índices,
agregação de tabelas (que são alternativas para garantir um desempenho adequado). Nessa
fase são definidas estratégias de agregação de forma pré-calculada e pré-armazenada (quais
dados os gestores estão resumindo com maior freqüência), estabelecidas as estratégias iniciais
de indexação e implementado um sistema de monitoramento para permitir o ajuste contínuo de
desempenho.
Na etapa subseqüente, Projeto de desenvolvimento da data staging area ocorre o
ETL da tabela dimensão com a extração de dados dos sistemas transacionais de origem e
limpeza de valores de atributo12. Também ocorrem as atribuições de chaves substitutas e a
carga da tabela dimensão. Nessa etapa é realizado o ETL da tabela fato com a extração de
dados dos sistemas transacionais de origem, recebimento das dimensões atualizadas, separação
dos fatos por granularidade (sistemas transacionais de origem incluem dados em diferentes
níveis de detalhe dentro de um mesmo arquivo), transformação dos fatos conforme
necessário13, troca das chaves transacionais de origem por substitutas, adição de chaves para
contexto conhecido de forma a garantir a qualidade dos dados das tabelas de fatos. São
também construídas ou atualizadas as tabelas de fatos de agregação e criada a massa para
carga de dados.
Essa etapa é identificada por muitos autores como Allison (2001), Fiori (2002), Inmon
(1997), Meyer (2001) e Mrazek (2003) como o processo de maior impacto na construção de
um Data Mart.
Kimball e Ross (2002) definem ainda as etapas de especificação de aplicação
analítica e desenvolvimento de aplicação analítica nas quais ocorrem a especificação,
desenvolvimento e revisão das estratégias para ajuste de desempenho das aplicações analíticas.
12
Tratamento de valores descritivos inconsistentes, decodificações ausentes, códigos sobrecarregados com vários
significados, dados inválidos e dados ausentes.
13
Cálculos aritméticos, conversões de tempo, equivalência de moedas, unidades de medida, normalização de
fatos e tratamento de nulos.
24
Conceitos de negócio
semiformal
Projeto conceitual
Projeto lógico
especificação desses requisitos é uma lista dos atributos com seus propósitos
multidimensionais.
A fase Projeto conceitual consiste na transformação de requisitos semiformais de
especificação para o esquema formalizado conceitual multidimensional, que compreende o
esquema dos fatos com suas medidas e hierarquias.
No Projeto lógico o esquema conceitual é convertido para o esquema lógico
respeitando o destino dos dados (relacional ou multidimensional). O esquema lógico é gerado
de acordo com as regras de transformação considerando os diagramas conceituais de
desenvolvimento.
Na fase seguinte Projeto físico o desenho de Data Warehouse é implementado
fisicamente incluindo estratégias de índices, particionamento, pré-agregações, ajustes para
desnormalização.
A abordagem de Golfarelli e Rizzi (1999) não identifica etapas de alto nível citadas nas
abordagens de Kimball e Ross (2002) e Inmon (2003). Esses autores definem seis fases de
metodologia para a construção de um Data Warehouse e as descrevem conforme o Quadro
2.3.
Quadro 2.3 - Fases da metodologia propostas por Golfarelli e Rizzi
Fases Entradas Saídas Participantes
Análises dos Documentações existentes Esquema de data base Projetistas, gerentes de sistema
sistemas de de informação
informação
Especificação de Esquema de database Fatos, trabalho de carga Projetistas e usuários finais
requisitos preliminar
Projeto Esquema database, fatos, Esquema dimensional Projetistas
conceitual trabalho de carga preliminar
Refinamento do Esquema dimensional, trabalho Trabalho de carga Projetistas e usuário final
trabalho de de carga preliminar
carga, validação
do esquema
dimensional
Projeto lógico Esquema dimensional, modelo DW esquema lógico Projetistas
lógico direcionado, trabalho de
carga
Projeto físico DW esquema lógico, Banco e DW esquema físico Projetistas
trabalho de carga
endereço
Nota-se que na maior parte das metodologias citadas são identificadas fases de análise
de requisitos, modelagem de dados (INMON, 2003) ou modelagem multidimensional
(KIMBALL e ROSS, 2002), com ênfase maior na modelagem de aspectos voltados ao
domínio multidimensional e projeto físico.
A abordagem de Husemann, Lechtenborger e Vossen (2000) tem como elemento
central a construção do projeto físico e não identifica as etapas abordadas por Kimball e Ross
(2002) e Inmon (2003) de mapeamento dos dados de origem para o destino, de extração e
transformação e carga dos dados e do processo iterativo proposto. Dessa forma, a abordagem
apresenta uma visão simplificada do processo considerando o processo ETL ser um dos
processos de maior impacto na construção de um Data Mart, conforme já citado
anteriormente.
A proposta de Golfarelli e Rizzi (1999) descreve o modelo de DFM como facilitador
da construção de um Data Warehouse. É uma proposta direcionada à criação de um modelo
detalhado e aprimorado de forma a garantir o entendimento das necessidades do usuário, a
representação destas por meio do modelo DFM. Golfarelli e Rizzi (1999) não identificam
etapas de extração, transformação e carga no processo, nem de iteração, o que torna a
abordagem restrita à utilização do modelo proposto.
Tanto a proposta de Kimball e Ross (2002) como a de Inmon (2003) propõem um
desenvolvimento iterativo, identificando etapas como especificação (INMON, 2003) e
manutenção e crescimento (KIMBALL e ROSS, 2002), de forma a garantir uma evolução
constante do modelo. Essas duas abordagens apresentam uma boa cobertura das fases de
desenvolvimento para esse tipo de tecnologia, detalhando, inclusive, o processo de ETL, que é
um dos processos que demanda maior esforço na construção de um Data Mart, e as fases de
alto nível com relação a aspectos iniciais do projeto.
29
3.1 INTRODUÇÃO
LOC ou Source Lines of Code - SLOC foi uma das primeiras métricas utilizada pelas
empresas. A partir de 1960, LOC foi aplicada como base de medida para programas de
qualidade (normalmente medindo indiretamente os defeitos por SLOC) e para definir
produtividade por programador (LOC por programador mês) (FENTON e NEIL, 2000).
LOC foi amplamente utilizada até meados de 1970 e com o aparecimento de uma
diversidade de linguagens de programação houve a necessidade de outras formas de mensurar.
LOC possui alguns pontos negativos como o fato da abordagem aplicada em um tipo de
linguagem não poder ser comparada com a aplicação em outro tipo de linguagem (ex.: a
linguagem assembler não é comparável em complexidade com outra linguagem; em
orientação a objeto, a flexibilidade da ferramenta na utilização de mecanismos de herança dilui
o resultado final da contagem das linhas, etc). Além disso, as contagens de linhas de código
são uma medida de tamanho do que foi feito e não uma medida a ser utilizada no início do
estágio de um projeto de software.
A partir da década de 1970, interessantes mensurações de tamanho, baseadas na
complexidade de software (Halstead) e de medidas de tamanho funcional (APF, MKII,
COSMIC FFP), foram lançadas com a intenção de serem independentes da linguagem de
programação.
A Análise por Pontos de Função (APF) é uma das abordagens mais utilizadas e
estudadas atualmente (Garmus e Herron, 2000, p. xvi). A APF foi proposta, inicialmente, em
1979 por Allan J. Albretch, da IBM, como um método para calcular o tamanho funcional de
um software (LOKAN e ABRAN, 1999).
Para o cálculo do tamanho funcional, a abordagem AFP propõe (IFPUG, 2000):
medir o tamanho do software pela quantificação de suas funções, baseadas no
projeto lógico ou a partir do modelo de dados segundo a visão e os requisitos do
usuário final;
medir independente da tecnologia;
ser aplicável desde o início do software;
apoiar a análise de produtividade e qualidade; e,
estimar o tamanho do software com uma unidade de medida padrão.
Os seguintes passos devem ser observados para mensuração de tamanho do software
utilizando essa abordagem (IFPUG, 2000):
i) Estabelecer o objeto da contagem - a abordagem se propõe a medir projetos de
desenvolvimento, projetos de manutenção ou tamanho de uma aplicação
existente.
ii) Determinar a fronteira de medição - a fronteira de medição deve ser sempre
determinada sob o ponto de vista do usuário. É bastante comum a comunicação
35
14
Resultado de um ou mais elementos combinados com uma fórmula, de modo a gerar ou derivar um ou mais
dados adicionais.
36
A abordagem APF propõe que a organização para obter habilidade e maior acurácia na
estimava de projetos necessita incorporar o processo de estimação ao seu processo de
desenvolvimento/manutenção, de forma a poder calibrar constantemente os resultados de sua
39
contagem. A Figura 3.1 mostra os momentos em que é sugerida, pela abordagem APF, a
contagem.
Inicialmente a contagem é realizada na etapa de requisitos de forma a possibilitar a
contagem estimativa. Essa contagem possibilitará uma estimativa do prazo, custo e recursos
necessários para o desenvolvimento do produto. Posteriormente será realizada a contagem na
etapa de Projeto detalhado, na qual há um maior detalhamento dos requisitos e há a
possibilidade de se ajustar a estimativa elaborada na etapa de requisitos. Na etapa de teste, em
que todo o escopo do produto já está definido e está sendo validado, será realizada uma nova
contagem de forma a verificar a evolução das contagens com relação ao escopo do software.
Na etapa de implementação realizar-se-á a contagem final do produto. Nessa etapa é possível
visualizar a evolução das contagens e o tamanho final do software. A contagem deve ser
contínua em todo o processo de manutenção.
Projeto Projeto
Requisitos Codificação Teste Implementação Manutenção
inicial detalhado
Em 1991, a abordagem Mark II Function points (MK II) foi proposta por Symons,
como uma alternativa à APF e como uma abordagem independente do modelo de processo de
desenvolvimento utilizado e das técnicas de desenvolvimento empregadas. A abordagem Mark
II se propõe a mensurar os requisitos de negócios independente da maneira como foram
implementados (MK II FPA , 1998).
Nessa abordagem, as principais características são os requisitos funcionais e técnicos
do software e as transações lógicas que são os processos de negócio suportados pela aplicação.
Cada transação lógica possui entradas, processamento e saídas, tudo considerando a fronteira
de medição.
41
15
Identificação da categoria de tipos de elementos com base na manipulação do armazenamento de dados
(create, update, delete ou read)
42
3.3.5 Full functions points (1997) e COSMIC Full Functions Points (2001)
A abordagem Full Function Points V.1 foi proposta inicialmente, em 1997, como uma
adaptação da métrica APF para softwares real time. Em 1999, o grupo Common Software
Measurement International Consortium – COSMIC propôs a evolução desta abordagem para
COSMIC – FFP – V.2.1 (Cosmic Ponto de função cheio – Versão 2.1) como uma métrica
totalmente independente de outras métricas. Atualmente o COSMIC está na Versão 2.2.
O COSMIC surgiu como uma alternativa de mensuração mais exata (de forma a não
gerar dúvidas, não sendo ambígua), com independência de domínio e tecnologia e propondo
diferentes medidas para diferentes propósitos (considerando a visão do usuário e do
desenvolvedor).
Essa métrica foi desenvolvida para trabalhar com o tamanho funcional de diversos
tipos de software e mensura o tamanho do software baseado nas funções entregues para o
usuário, possuindo uma visão de usuário mais abrangente que as outras métricas
(CALAZANS, 2003)(Apêndice E).
O método, como a APF, também pode ser utilizado para mensurar estimativa de
esforço de desenvolvimento, evolução de qualidade de software, gerenciamento de contratos
de outsorcing, comparação de softwares especificados em diferentes linguagens, em termos de
produtividade, qualidade e manutenção de custos.
A versão 2.2 do COSMIC foi aprovada em 2003 como Padrão Internacional (ISO/IEC
19761:2003).
Na abordagem COSMIC FFP são consideradas as seguintes características:
Requisitos funcionais dos usuários – São os requisitos correspondentes aos
componentes do software e que descrevem as funções requeridas pelo usuário
para o software. São designados Functional User Requeriments (FUR16).
Usuários do software – Usuários podem ser considerados os seres humanos
(engenheiros de software, usuários finais, etc), um serviço ou mesmo outro
software. Componentes de software podem também ser considerados como
usuários quando interagem com outros componentes. É possível identificar um ou
mais usuários para a função de um componente de software em cada camada.
16
Requisitos funcionais do usuário
43
Definir
propósito, Identificar a
escopo e ponto fronteira do
de vista de software
mensuração
Identificar
processos
funcionais
FUR no
Identificar grupo
modelo
de dados
COSMIC
Identificar atributo
de dados
17
A abordagem citada utiliza o termo functionality, mas quando consultado Houaiss (2001) foi verificado que o
termo correspondente “funcionalidade” não está incorporado na língua portuguesa.
44
de dados
Entradas Entradas são o movimento de atributos de dados, pertencentes a um grupo de dados, do ambiente
externo à fronteira do software para o ambiente interno ao software. Entradas não realizam update
nos dados que movimentam. Podem ser associadas a manipulação (validação de dados) nos
processos ou sub-processos identificados. Entradas incluem todas as formatações e manipulações
requeridas pelos usuários.
Saídas Saídas são o movimento dos atributos de dados pertencentes a um grupo de dados de dentro da
fronteira do software para o lado do usuário do software. Saídas não lêem os dados que
movimentam. Incluem toda a formatação e apresentação de manipulações requeridas pelos usuários,
todo processamento para formatar e preparar para impressão alguns atributos de dados.
Leituras Inclui todo processamento para ler o dado armazenado.
Gravações Inclui todo processamento para criar e armazenar atributos de dados.
18
Requisito funcional do usuário
45
A técnica COSMIC-FFP é uma função matemática que atribui um valor para cada um
dos movimentos de dados citados anteriormente. Cada movimento (entrada, saída, leitura ou
gravação) do processo (ou sub-processo) identificado recebe o tamanho de 1 Cfsu.
Após a identificação dos processos e a contagem de todos os movimentos aplica-se a
fórmula, ou seja, após a identificação da camada a ser medida, cada movimento de dados
identificado nos processos a serem medidos é contado como 1 Cfsu, conforme fórmula a
seguir:
Size Cfsu (layer) = ∑ tamanho (entradas)+ ∑ tamanho (saídas)+
∑ tamanho (leituras)+ ∑ tamanho (gravações)
São pontos positivos identificados nessa abordagem: a habilidade de mensurar os
requisitos de software de maneira fácil e com acurácia (BOOTSMA, 2000) e a medição mais
implícita do objeto, por permitir pontuar subprocessos de objetos. Ou seja, a abordagem
COSMIC oferece mais habilidade para derivar o tamanho funcional para controle de processo
e em casos que requerem a mensuração de pequenas peças de software, essa abordagem
oferece uma granularidade por conta de sua identificação e medidas de subprocessos
(OLIGNY e ABRAN, 1999).
Por ser uma métrica recente alguns autores identificaram a necessidade de aplicar a
abordagem em outros tipos de softwares para melhor avaliar sua adequação e re-avaliação das
definições da abordagem de forma a não gerar dúvidas na aplicabilidade da métrica (BEVO,
LEVESQUE e ABRAN, 1999).
Todas estas métricas mencionadas neste subitem 3.3, não propõem uma abordagem
específica para o contexto de Data Mart e a seguir é apresentada uma abordagem de medição
de tamanho para este contexto proposta por Santillo(2001).
Santillo (2001) propõe uma abordagem, para medição de tamanho para a tecnologia de
Data Warehouse , utilizando duas métricas a APF (IFPUG, 2000) e a COSMIC FFP (ABRAN
et al, 1999).
Santillo (2001) sugere a adequação da métrica de APF com a utilização da visão de
usuário da métrica COSMIC-FFP, onde cada etapa do processo pode ser mensurada de acordo
com a visão dos usuários daquela etapa. Dessa forma, se estaria pontuando as etapas não
visualizadas pelo usuário final.
46
Santillo (2001) propõe os mesmos passos da APF para mensurar o tamanho do Data
Warehouse/Data Mart com algumas adaptações:
Com relação a (i) estabelecer o objeto da contagem, Santillo (2001) não sugere
nenhuma adequação, pois identificar o objeto da contagem segue os mesmos padrões de um
desenvolvimento de um software transacional.
Para (ii) Determinar a fronteira de medição do aplicativo, Santillo (2001) identifica,
utilizando a abordagem COSMIC-FPP, uma série de usuários de um Data Warehouse:
administrador de procedures de ETL;
administrador de Banco de Dados;
administrador de OLAP (on line analytical processing);
usuário final; e,
algum software que provê e/ou receba dados para/do Data Warehouse.
Considerando essas visões diferentes da tecnologia de Data Warehouse, Santillo
(2001) identifica três camadas ETL19, Administração e Acesso que seriam as subfronteiras do
projeto. Essas fronteiras variam conforme o tipo de produto a ser gerado, se Data Warehouse,
Data Mart independente ou Data Mart dependente. As contagens também variam conforme o
produto a ser mensurado.
No que se refere a (iii) contar as funções de dados e suas complexidades, Santillo
(2001) cita que a tabela fato não é visualizada pelo usuário de Data Warehouse e sugere que
cada estrela lógica (fatos e dimensões associados) seja pontuada como um ALI – Arquivo
lógico interno. Cada fato e tabela dimensional seria considerado um RLR - Registro Lógico
Referenciado daquele ALI.
Pela visão do administrador, Metadados técnicos, como por exemplo freqüência de
updates, controle de versão do software, mapeamento físico lógico dos arquivos, seriam
computados como ALI. Metadados de negócio (dicionário de dados, dados com aspectos
históricos) também seriam computados como ALI.
Para a definição de complexidade não é proposta nenhuma alteração, e a complexidade
seria medida de acordo com a abordagem da APF (Quadro 3.2, p. 34).
Para (iv) contar as funções transacionais e suas complexidades, Santillo (2001)
sugere para cada ALI considerar uma EE – Entrada externa, pois eles são atualizados a partir
dos dados de softwares operacionais que funcionam como uma EE. Na fronteira de
Administração seriam computadas quantas EE fossem necessárias para pontuar o
19
Extraction, Transformation and Load (Processo de extrair, transformar e carregar os dados transacionais no
Data Warehouse), conforme citado no capitulo 2 .
47
gerenciamento das transações para criar, atualizar e excluir metadados. Na fronteira de Acesso
é sugerida a existência de pelo menos uma SE – Saída externa para cada estrela lógica.
Para a definição de complexidade não é proposta nenhuma alteração, e a complexidade
seria medida de acordo com a abordagem da APF (Quadro 3.3 e 3.4, p. 35).
No que se refere à etapa (v) Calcular os pontos de função não ajustados não é
sugerida nenhuma alteração, ou seja seria utilizada a proposta da APF, descrita no Quadro 3.8
a seguir.
Quadro 3.8 - Tipos de função e correlação
Tipo Fronteira Produto Exemplos
ALI ETL DW, DM Arquivos lógicos
ALI Admin DW, DM Metadados, arquivos Log , estatisticos
AIE ETL DW, DM Arquivos lógicos operacionais
AIE DW DM Dep DW ALI quando acessado por ETL
AIE ADM DW, DM Arquivos de suporte
EE ETL DW, DM 1 EE para cada ALI identificado
EE Admin DW, DM Criar, atualizar e apagar metadados
CE Admin DW Visão de Metadados
SE Acesso DM 1 SE para cada ALI identificado no ETL
CE Acesso DM 1 CE para cada identificada ALI no ETL
CE List Box DM Drill down triggers, outras listas
20
Data Mart dependente é considerado o Data Mart que apesar de ser implementado separadamente por grupos
de trabalho ou departamentos, é integrado ou interconectado a outros Data Mart, provendo uma visão corporativa
dos dados (MACHADO, 2000).
21
Segundo Machado (2000) Data Mart independente é um Data Mart isolado, controlado por um grupo
específico de usuários e que atende a necessidades específicas, sem foco no corporativo.
48
Com relação à proposta de utilização da técnica COSMIC FFP em conjunto com APF
não foram encontradas na literatura pesquisada restrições mas, depois da análise desta
proposta foram identificadas as seguintes:
a utilização de duas métricas diferentes, com visões fundamentais diferentes em
relação à visão do usuário e unidades de medidas diferentes não parece adequada;
a não utilização de fatores de ajuste poderá gerar distorções com relação ao
tamanho;
a sugestão da pontuação de cada estrela (tabela fato e suas dimensões) como um
único ALI. A tabela dimensão pode ser utilizada em mais de uma estrela, e é
comum essa utilização, dessa forma se pontuaria várias vezes as mesmas tabelas
dimensões. Isso com certeza geraria uma distorção na mensuração.
Um fator importante a ser destacado é que Santillo (2001) não chegou a aplicar sua
proposta em nenhum software de Data Mart, nem Data Warehouse.
Existem muitas abordagens para mensurar o tamanho de um software e não existe uma
abordagem que seja melhor que outra, sob todos os aspectos, em qualquer situação. A
abordagem de mensuração de tamanho deve ser escolhida e/ou adequada dependendo das
características particulares do software que se pretenda desenvolver. Na Quadro 3.9 é
apresentada a comparação entre algumas características das métricas abordadas, considerando:
se o modelo que é apresentado é baseado em algoritmo ou função (funcional);
se a abordagem possibilita a estimativa de tamanho no início do processo de
desenvolvimento do software;
que visão é utilizada na aplicação da abordagem (se a aplicação considera o
código ou a visão das necessidades do usuário final);
o nível de maturidade da abordagem (considerando a utilização e a quantidade de
artigos envolvendo a abordagem);
a possibilidade de aplicação em todos os tipos de tecnologias de software; e,
a existência de proposta específica dentro de cada abordagem para a tecnologia de
Data Warehouse/Data Mart.
49
4.1 INTRODUÇÃO
Sistemas de Data Mart são sistemas voltados à execução de análises estratégicas com
o objetivo de propiciar às organizações suporte ao processo de tomada de decisões. O
desenvolvimento dessas aplicações é bastante diferente do desenvolvimento aplicado aos
sistemas transacionais. Como visto no capítulo 2, as diferenças vão desde o objetivo geral dos
sistemas até características como a organização, a natureza e a atualização dos dados, a
quantidade de usuários e outras.
Devido ao crescimento substancial de sistemas de Data Mart, nos últimos tempos,
torna-se necessário o estudo de métricas de tamanho para esta tecnologia. No capítulo 3, foi
apresentada a importância das medições de tamanho nos projetos de tecnologia, destacando a
sua utilização como forma de previsão, efetuada no início do ciclo de vida do sistema, de
modo a subsidiar a estimativa de custos, cronograma e recursos.
Todas as propostas de medição de tamanho apresentadas, com exceção da de Santillo
(2001), não apresentam nenhuma adequação para Data Mart.
Dessa forma, este estudo aborda as características e peculiaridades de sistemas de
Data Mart e propõe uma adequação de métrica de tamanho para essa tecnologia. A abordagem
proposta define uma adequação da métrica APF para Data Mart. É descrito um conjunto de
alterações a serem aplicadas em uma métrica já existente para que ela se torne mais adequada
e dimensione de forma mais eficaz o tamanho de um software de Data Mart.
Esta abordagem foi aplicada em 11 projetos de Data Mart de três instituições
governamentais federais localizadas no Distrito Federal. Estas instituições, denominadas I1, I2
e I3, subsidiaram o processo de coleta e análise dos dados, fornecendo informações através de
entrevistas estruturadas e documentos dos sistemas que foram pontuados.
A proposta original da APF também foi aplicada nestes projetos de Data Mart.
Os resultados das pontuações da abordagem proposta e da APF foram comparados e
analisados.
Inicialmente, na seção 4.2, são descritas algumas considerações sobre as diferenças de
Data Mart e um sistema transacional e, na seção 4.3, algumas abordagens de medição de
tamanho existentes como APF, COSMIC e a proposta de Santillo (2001). Na seção 4.4, se
justifica a escolha da APF para adequação. Na seção 4.5 e 4.6 é descrita a proposta de
51
adequação. A seção 4.7 apresenta a análise dessa proposta de adequação no ciclo de vida de
um sistema de Data Warehouse. Na seção 4.8, é demonstrada a aplicação da proposta em
sistemas de Data Mart de três instituições públicas federais e se analisa a adequabilidade da
proposta. A seção 4.9 resume algumas considerações sobre a proposta de abordagem de
tamanho de sistemas de Data Mart descrita neste capítulo.
22
Conforme citado no capítulo 2, data staging area é a área de armazenamento de dados e de conjunto de
processos que preparam os dados de origem para serem utilizados (KIMBALL, 1998).
23
Processo de extração, transformação e carga dos dados no ambiente de Data Warehouse.
52
Projeto Projeto
Requisitos Codificação Teste Implementação Manutenção
inicial detalhado
Projeto Seleção e
técnico de instalação do
arquitetura produto
Projeto e Manutenção
Modelagem
Definição dos Projeto físico desenvolvimento Distribuição e
Planejamento dimensional da data staging
requisitos do crescimento
do projeto
negócio
Especificação Desenvolvimento
da aplicação da aplicação
analítica
analítica
Gerenciamento do projeto
4.3.1 APF
A Análise por pontos de função - APF é uma das abordagens funcionais mais
estudadas atualmente.
Essta métrica, conforme descrita no capítulo 3, se propõe a medir o tamanho do
software considerando as funções de dados e transações do software e aplicando 14
características gerais de sistemas para mensurar aspectos especiais referentes à operação,
54
qualidade, infra-estrutura, etc. A quantidade de pontos de função é obtida após a aplicação das
fórmulas definidas nas quais são computadas todas as funções de dados e transações com suas
complexidades e calculadas as características gerais de sistema.
Existem muitos pontos positivos nessa abordagem entre elas, a possibilidade de
estimar o tamanho de um software no início e durante todo o processo de desenvolvimento do
produto e de utilizar uma base histórica de produtividade da organização ou de dados do
mercado (possibilitando a derivação de custo e tempo) (GARMUS e HERRON, 2000, p.68,
88).
Por ser uma das métricas mais antigas, a APF possui um diferencial em relação a
abordagens mais novas, pois existem dados de produtividade da indústria com relação a APF
computados por vários órgãos entre eles o International Software Benchmarking Standards
Group - ISBSG, que possibilitam estudo ou mesmo a utilização desses índices por
organizações que não possuem um histórico de contagens.
Existe também um grupo de usuários (International Function Point Users Group -
IFPUG) para suporte e atualização da métrica (GARMUS e HERRON, 2000, p.xxvii).
Apesar de ser a métrica de tamanho mais utilizada pelo mercado, existem muitos
autores que criticam sua adequação à mensuração de projetos atuais, pois foi criada na década
de 1980, quando a construção de software era feita de forma estruturada (SYMONS, 2001).
Symons (2001) identifica a necessidade de uma mensuração que trabalhe com todos os
domínios de tecnologia.
Fenton e Pfleeger (1997, p.262-264) concordam com esta crítica e identificam
problemas na abordagem APF com relação a aplicação da métrica em diferentes tecnologias e
domínios de aplicação, conforme já citado no capítulo 3.
Outros autores identificam dificuldades de aplicar a APF nos diferentes domínios de
sistemas de informação (ABRAN et al, 2001) e a necessidade de adequar ou criar novos
modelos de mensuração para atender a diversos tipos de tecnologias existentes (LOKAN e
ABRAN, 1999).
Com relação à aplicação desta abordagem à tecnologia de Data Mart ou Data
Warehouse só foi encontrado o trabalho de Santana (2001), citado no item 3.3.3.1, e que não
foi conclusivo.
4.3.2 COSMIC
A abordagem COSMIC FFP, citada no capítulo 3, é uma das abordagens mais atuais
com relação à medição de tamanho de software. Foi criada pelo grupo COSMIC e tem como
55
4.3.3 Santillo
24
UML – Unified Modeling Language
56
20
15
Tempo em
10
meses Tempo real
5 Tempo estimado Santillo
0
I1S1 I1S2 I1S3
Sistemas
Figura 4.2 - Comparação do tempo real com a estimativa de tempo da proposta de Santillo
minerar ou consultar historicamente esses dados. A métrica APF examinada não trata
exemplos específicos para contagem de tamanho de sistemas de Data Mart.
A COSMIC FFP, apesar de ser uma proposta inovadora, não possui atualmente dados
históricos que possam ser aplicados para um estudo comparativo, além de autores terem
identificado dificuldades na aplicação da métrica e necessidade de melhor detalhamento. Não
foi encontrada nenhuma aplicação da COSMIC para a tecnologia de Data Mart/Data
Warehouse.
A proposta de Santillo, apesar de ser uma proposta voltada para esse contexto, não
demonstrou ser muito adequada à mensuração de tamanho e conseqüente estimativa de tempo.
Além disso, o fato de nunca ter sido utilizada pelos próprios autores da métrica indica a
necessidade de melhor validação. Conforme já enfatizado anteriormente, a mescla de duas
abordagens (APF e COSMIC) com unidades de medida diferentes não parece adequada e a
não aplicação das características gerais de sistema pode causar distorções.
Das métricas estudadas, a que possui maior maturidade tanto no meio acadêmico como
na indústria é a APF. Essa métrica, apesar das críticas quanto à sua adequabilidade a diversos
tipos de software, possui bases históricas de mercado, um instituto para garantir a sua
evolução e oferece certificação.
A atividade de estimativa de tamanho voltada para sistemas de Data Mart é uma
atividade difícil e ainda muito deficiente. As definições da APF necessitam de modificações
para que possam ser utilizadas no mundo de hoje para as diversas tecnologias existentes. As
diretrizes para contagem (IFPUG Counting Guidelines) não têm sofrido modificações nos
últimos oito anos. Nesse período, a tecnologia tem evoluído com novas propostas,
metodologias e arquiteturas, enquanto a APF permanece sem grandes modificações. A
tecnologia de Data Mart/Data Warehouse, como citado no capítulo 2, surgiu no início dos
anos 1990. Muitos autores reconhecem ser difícil aplicar as definições da APF às novas
tecnologias, e segundo este trabalho, essa dificuldade acontece também no contexto de Data
Mart.
Baseados nessas observações, optou-se por elaborar uma proposta de adequação da
APF para o contexto de Data Mart. É importante adaptar as Regras de contagem da APF
(mantendo a conformidade com os padrões do passado) ao mundo de hoje, as tecnologias
novas e emergentes. A proposta elaborada causa impacto na contagem de pontos de função,
melhora o entendimento e aplicabilidade da métrica. Para um bom resultado na estimativa de
tamanho é de suma importância a utilização de modelo adequado, com métricas bem definidas
e coletadas.
59
Nesta seção será apresentada como a APF foi adaptada para o contexto de Data Mart
considerando os sete passos de medição apresentados no capítulo 3: (i) estabelecer objeto de
contagem, (ii) determinar fronteira de medição, (ii) contar funções de dados e suas
complexidades, (iii) contar funções de transações e suas complexidades, (iv) calcular os
pontos de função não-ajustados, (v) obter o fator de ajuste e (vi) determinar os pontos de
função ajustados.
29
Processo elementar que processa dados ou informações de controle procedentes de fora da fronteira do
aplicativo.
30
Processo elementar que gera dados ou informações de controle e/ou derivados, enviados para fora da fronteira
do aplicativo.
31
Processo elementar com componentes de entrada e saída que resulta na recuperação de dados.
62
Neste passo, 14 características gerais do software são avaliadas segundo uma escala de
0 (nenhuma influência) a 5 (grande influência). Essas características influenciarão a
complexidade do software e conseqüentemente o seu tamanho.
Para obter o fator de ajuste mais adequado à tecnologia de Data Mart, foi necessária
análise dessas características gerais para estes sistemas.
Muitos autores reconhecem que as características gerais de sistema devem ser
redefinidas. Lokan (2000) cita que estas características foram definidas entre 1979 e 1984
considerando aspectos importantes naquela época e que atualmente estes aspectos possuem
menor significância. Jones (1996) identifica 100 características que seriam relevantes.
Por outro lado, outros autores acham alto o número de 14 características gerais de
sistema. Kitchenham (1992) encontrou variações comuns nas características gerais de
sistema. Em seus estudos somente 5 a 6 características do total de 14 seriam suficientes.
Garmus e Heron (1996) e Lokan (2000) identificaram padrões que podem ser observados nas
características gerais de sistema para diferentes tipos de software, ou seja, dependendo do tipo
de software somente algumas características gerais de sistema são utilizadas.
Considerando a quantidade de propostas existentes para adequação das características
gerais de sistema e após uma análise cuidadosa das 14 características propostas pela APF no
que se refere ao contexto de Data Mart percebe-se que:
quatro características são aplicáveis para esse tipo de software: Processamento
distribuído, Desempenho, Reusabilidade de código e Facilidade operacional;
duas cararacterísticas podem ser adaptadas para Data Mart: Eficiência do
usuário final e Processamento complexo;
oito características estão muito vinculadas a sistemas transacionais, o que
implica que, quando aplicadas ao contexto de Data Mart recebem valor 0
(nenhuma influência). Por exemplo, as características Entrada de dados on-line
e Atualização on-line, uma vez que sistemas de Data Mart não possuem
entradas nem atualizações on-line. Outro exemplo seria a característica
Múltiplos locais pois, Data Mart não são instalados em locais específicos.
Na seção 4.6 serão descritos detalhadamente os critérios adotados para definição das
características gerais de sistema para o contexto de sistemas de Data Mart. Foram mantidas as
quatro características da abordagem APF aplicáveis, foram adaptadas duas características e
criadas mais sete características para o contexto de Data Mart. Desta forma, a proposta ficou
com um total de 13 características e não 14 características como a proposta original da APF.
63
Como foi reduzido o número de características gerais proposto pela APF, foi
necessário adaptar a fórmula de fator de ajuste apresentada na seção 3.3.3, que é:
FA = 0,65 + (0,01 x Soma dos graus de influência das características gerais).
Como destacado no capítulo 3, as características gerais do software definidas na
proposta inicial da APF eram 10 e possuíam uma variação de mais ou menos 25% (WITTIG
et al, 1997; LOKAN e ABRAN, 1999).
Analisando a abordagem inicial e atual das características gerais, identifica-se que para
cada característica geral de sistema foi atribuído o valor de 2,5, considerando que as 14
características incrementam ou diminuem em até 35% do valor de pontos brutos computados.
Com a proposta voltada para o contexto de Data Mart, as características gerais de
sistema foram reduzidas de 14 para 13. Foi necessário então adequar o valor da fórmula para
um ajuste de mais ou menos 32,5 %. Para isto foi utilizada uma regra de três simples com
relação à proposta atual. E a fórmula de cálculo foi adequada para:
FA = 0,67 + (0,01 x Soma dos graus de influência das características gerais).
Duas características podem ser adaptadas para Data Mart, são elas: Eficiência do
usuário final e Processamento complexo.
Eficiência do usuário final identifica os aspectos relacionados com a eficiência do
aplicativo na interação com o usuário e pontua com relação à quantidade de recursos
implementados de maneira a tornar o aplicativo mais amigável. Estes recursos são
identificados pela abordagem APF como: auxílio à navegação (teclas de função, acesso direto,
menus dinâmicos), menus, documentação e ajuda on-line, movimento automático de cursor,
movimento horizontal e vertical da tela, etc).
Os sistemas de Data Mart não constróem consultas nem atualizações on line e essa
característica, da forma como está definida pela APF, não tem como ser aplicada, mas
segundo Barbiere (2001, p.110), a definição de agregação facilita o acesso aos dados pelo
usuário final e agiliza os processos decisórios.
A definição dos níveis de agregação necessários no contexto de Data Mart tem como
objetivo proporcionar eficiência para o usuário final e desta forma decidiu-se adequar a
característica Eficiência do usuário final para Quantidade de agregação, considerando que a
definição dos níveis de agregação necessários visa melhorar o desempenho das consultas e
aumentar a eficiência para o usuário final.
Processamento complexo é definida pela abordagem APF como um conjunto de
aspectos do sistema que necessitam ser analisados, tais como: a existência de processamento
lógico extensivo, processamento matemático, processamento complexo, processamentos
especiais de auditoria e etc.
No processo de Data Warehouse estes aspectos definidos pela APF, não tem aplicação,
mas a quantidade de tratamento, tais como: integração, limpeza, eliminação, combinação,
verificação de integridade referencial , desnormalização e renormalização, conversão de tipo
de dados, cálculos, derivação e alocação, etc podem ser considerados como um nível de
complexidade do processo.
Desta forma, a característica Complexidade do processamento foi adequada para
Qualidade dos dados.
A seguir são descritos os critérios definidos para essas duas características gerais
adaptadas.
68
Segundo Barbiere (2001, p.110), os valores agregados são representados por meio de
tabelas prontas, trabalhadas e sumarizadas em várias dimensões, visando facilitar os acessos
aos dados e agilizar os processos decisórios. São armazenadas utilizando mais espaço, pois são
dedicadas a dados num estado pré-processado.
Esse autor também considera que, na definição das agregações é importante analisar e
definir a estratégia de carga total x atualização incremental. Essa definição passa por aspectos
como tempo de processamento e complexidade dos programas.
Kimball et al (1998, p.543, 544) citam que as agregações interferem muito na
performance, proporcionando um benefício direto para os usuários que terão suas informações
acessadas de forma mais rápida.
Lokan e Abran (1999) identificam a performance como um dos requisitos não-
funcionais e a quantidade de agregação visa preliminarmente, garantir performance para o
usuário final.
Na proposta APF existe a característica Eficiência para o usuário final cujo objetivo é
identificar o nível de eficiência do produto de software. Nesta proposta optou-se por substituí-
la pela quantidade de agregações utilizadas no projeto e a quantidade de definições necessárias
para implementá-las.
A escala escolhida, em conjunto com especialistas, identificou o número máximo de
agregações que receberiam o nível de influência 5 (Oito ou mais quantidades de agregação
identificadas) e se definiu as faixas e os respectivos níveis de influência abaixo desse item.
0. nenhum nível de agregação identificado;
1. Um nível de agregação identificado;
2. De dois a três quantidades de agregação identificadas;
3. De quatro a cinco quantidades de agregação identificadas;
4. Seis a sete quantidades de agregação identificadas;
5. Oito ou mais quantidades de agregação identificadas.
Barbiere (2001, p. 74, 75) identifica alguns processos de transformação como filtro,
integração, condensação, conversão e derivação.
Kimball et al (1998, p.23, 24, 25) identificam uma série de tipos de transformações que
poderiam ser utilizadas na etapa de transformação do dado no processo de ETL do Data
69
Na seção 4.6.4 serão descritas detalhadamente os critérios adotados para definição das
novas características gerais propostas para o contexto de Data Mart
Para cada uma das características, foram definidos os níveis de influência numa escala
de 0-5 conforme proposto na APF.
Para a definição das novas características foram considerados os estudos a seguir
relacionados.
Como citado anteriormente, vários autores, entre eles Allison (2001), Fiori (2002),
Inmon (1997), Meyer (2001) e Mrazek (2003) identificam o processo de ETL como o
processo de maior impacto e que demanda maior esforço dentro do processo de construção de
um Data Mart, representando de 40 a 70% do projeto.
Segundo Lokan e Abran (1999) as características gerais de sistema identificam vários
aspectos funcionais e não-funcionais do software que são utilizados na mensuração de
tamanho funcional, entre eles:
Complexidade, representada pela característica geral da APF Processamento
complexo;
suporte ao usuário, representado pelas características da APF Eficiência
usuário final e Facilidade de mudanças;
qualidade: características de Reutilização do código e Facilidade de mudanças;
arquitetura: características da APF como Comunicação de dados, Múltiplos
locais e Processamento distribuído;
interação, representada pelas características de Entrada de dados on line e
Atualização on line;
71
Quantidade de Facilidade de Estão disponíveis facilidades como consultas e relatórios flexíveis para atender a
itens mudanças necessidade simples.
implementados Estão disponíveis facilidades como consultas e relatórios flexíveis para atender a
dentro do necessidade média (conte dois itens).
intervalo de 0 Estão disponíveis facilidades como consultas e relatórios flexíveis para atender a
a 5, necessidade complexas (conte três itens).
considerando Dados de controle são armazenados em tabelas que são mantidas pelo usuário por meio
também uma de processos on-line, com mudanças se refletindo nos dias seguintes.
escala ordinal Dados de controle são armazenados em tabelas que são mantidas pelo usuário por meio
interna de processos on-line, com mudanças se refletindo imediatamente.
(simples, Pontuação:
média, 0. Nenhum item contado.
complexa). 1. Um item contado.
2. Dois itens contados.
3. Três itens contados.
4. Quatro itens contados.
5. Cinco ou mais itens contados.
Intervalo de 0 Comunicação de 0. Aplicativo batch ou stand-alone.
a 5 com outra dados 1. Aplicativo batch com entrada ou saída de dados remota.
graduação de 2. Aplicativo batch com entrada e saída de dados remota.
complexidade 3. Aplicativo com entrada de dados on-line para alimentar processamento batch.
4. Aplicativo com entrada de dados on-line, suportando apenas um tipo de protocolo
de comunicação.
5. Aplicativo com entrada de dados on-line, suportando vários tipos de protocolo.
Kimball et al (1998, p. 296, 298, 304) demonstram que a utilização de várias origens
de dados causa impacto no escopo do projeto, pois todo o trabalho de análise e extração dos
dados deve ser realizado considerando suas origens. Segundo esses autores, é importante
entender a dificuldade das origens dos dados no projeto de Data Warehouse.
Para Machado (2000, p.24), a extração de dados de fontes heterogêneas ou externas é
uma atividade complexa.
Considerando essas afirmativas, vinculando essa característica aos aspectos citados por
Lokan e Abran (1999) de complexidade e operação e analisando o processo de extração de
dados do Data Mart, foi definido considerar a quantidade de sistemas transacionais envolvidos
no projeto como uma característica geral de sistema para o contexto de Data Mart.
Quanto maior a quantidade de sistemas transacionais envolvidos no processo maior
será a complexidade do Data Mart. Maior será a quantidade de extrações, de tratamentos e de
cargas. E maior será, também, o nível de operacionalização necessário para controlar todo
este processo.
Considerando os 5 níveis de influência definidos pela APF, decidiu-se em conjunto
com especialistas que um sistema de Data Mart que envolvesse dados de mais de 8 sistemas
transacionais poderia ser considerado de alta complexidade e seria classificado com o item de
influência 5. Foi, também, definido que os demais itens de influência teriam faixas de forma
a chegar ao sistema menos complexo, que somente trataria dados de um sistema transacional
(item de influência 1). Neste caso não tem sentido o item de influência 0, pois o Sistema de
Data Mart é construído sempre com dados de pelo menos um sistema transacional.
0. Não aplicado.
1. quando o projeto envolve 1 sistema transacional;
2. quando o projeto envolve de 2 a 3 sistemas transacionais;
3. quando o projeto envolve de 4 a 5 sistemas transacionais;
4. quando o projeto envolve de 6 a 7 sistemas transacionais;
5. quando o projeto envolve mais de 8 sistemas transacionais.
75
32
Metadados – Segundo Inmon et al(2001, p.251), dados sobre dados, no caso de Data Warehouse a descrição da
estrutura, conteúdo, chaves, índices e etc.
76
4.6.4.7 Nível de conhecimento exigido pela equipe de Data Mart da base de dados
/regras de negócio dos sistemas transacionais de origem.
33
Medida de capacidade de armazenamento do computador, representando aproximadamente um bilhão de bytes.
34
Medida de capacidade de armazenamento do computador, representando aproximadamente mil gigabytes.
79
1 Pouco conhecimento da equipe de Data Mart das regras de negócio dos sistemas
transacionais.
3 Médio conhecimento da equipe de Data Mart das regras de negócio dos sistemas
transacionais.
5 Alto conhecimento da equipe de Data Mart das regras de negócio dos sistemas
transacionais.
A APF é uma métrica que se propõe a estimar o tamanho do software desde o início do
projeto. Na proposta APF são identificadas etapas do desenvolvimento do produto, em que a
contagem deve ser realizada com o objetivo de obter dados históricos da evolução e mesmo da
adequação dos fatores de produtividade, custo e prazo utilizados, conforme citado no capítulo
3 (Figura 3.1). São sugeridos na abordagem da APF cinco momentos em que a contagem será
realizada.
Conforme mencionado no capítulo 2, e destacado na seção 4.2, o processo de
desenvolvimento de um projeto de Data Mart se diferencia do processo de desenvolvimento
de um sistema transacional.
Como a proposta de adequação de APF visa à tecnologia de Data Mart /Data
Warehouse, definiu-se dentro do processo de desenvolvimento proposto por Kimball et al
(1998, p.41) as etapas em que deveriam ser realizadas as contagens respeitando os mesmos
objetivos propostos pela APF de acompanhamento e adequação do processo, discutido na
seção 3.3.3.1.
80
Projeto Seleção e
técnico de instalação do
arquitetura produto
Projeto e Manutenção
Modelagem
Definição dos Projeto físico desenvolvimento Distribuição e
Planejamento dimensional da data staging
requisitos do crescimento
do projeto
negócio
Especificação Desenvolvimento
da aplicação da aplicação
analítica
analítica
Gerenciamento do projeto
Nesta seção será apresentada a aplicação dessa proposta em projetos reais da indústria,
iniciando com o planejamento do estudo, a efetiva aplicação e concluindo com a análise dos
resultados.
4.8.1 Planejamento
Para cada instituição foram definidos os seguintes critérios para permitir a análise dos
dados: quantidade de dias por mês, carga horária diária, quantidade de recursos alocados para
construção do sistema e um fator de produtividade por pontos de função a ser utilizado.
Para todos os projetos foi considerada a quantidade de 22 dias por mês, com a carga
horária de 8 horas diárias. A quantidade de recursos alocados para cada sistema de todas as
instituições pesquisadas foi obtida por meio de entrevistas dirigidas com os líderes dos
projetos de Data Mart.
A seguir estão descritos os critérios adotados para cada instituição com relação ao fator
de produtividade.
4.8.1.1 Critérios adotados para a Instituição 1 (I1)
desenvolvimento com a linguagem, e que um processo automatizado de ETL reduz parte deste
esforço, foi necessário investigar e definir uma adequação para esta média de produtividade
obtida.
O processo de ETL na construção de um Data Mart, como citado no início deste
capítulo, é identificado por autores como Allison (2001), Fiori (2002), Imnon (1997), Meyer
(2001) e Mrazek (2003) como o processo de maior impacto e que demanda maior esforço,
conforme pode ser visualizado na Tabela 4.1.
Empresas como Áquila (BROKAW, 2003), Enbridge Inc. (MACMILLAN, 2003)
Principal Financial Group(HOUSE, 2003) Towers Perrin (BOYER, 2003) que utilizam uma
ferramenta de ETL relataram em estudos de casos ganhos de produtividade de até 50%
(Tabela 4.4)
Tabela 4.4 - Levantamento das empresas que utilizam ferramenta ETL
Empresas Ambiente, Linguagem ou sistema Ganho de produtividade
operacional
Áquila Grande porte/Unix 43%
Enbridge Inc. Grande porte/Unix 50%
Principal Financial Group Cobol 30%
Towers Perrin Sun solaris 50%
Média 43%
Analisando esses dados, ficou claro que a utilização de uma ferramenta proporciona
ganho de produtividade, decidiu-se recalcular a quantidade de horas necessárias para a
produção de um ponto de função da Instituição 3.
Para isto, a produtividade por ponto de função definida anteriormente (9,0 horas por
ponto de função) foi recalculada considerando:
que a etapa de ETL é a etapa de maior impacto na construção de um Data
Mart (segundo o Tabela 4.1 pode chegar até a 70% do processo total de
construção), e decidiu-se considerar que o processo de ETL consome 57%
(média obtida por meio da bibliografia consultada) do esforço de construir um
Data Mart;
a utilização de uma ferramenta de ETL pode proporcionar um ganho de
produtividade de até 50% e, nesse caso, foi decidido considerar uma média de
ganho de produtividade de 43% (considerando a bibliografia consultada).
Foi então aplicada a redução de 43% em 57% da produtividade de mercado de 9,0
horas por ponto de função e obtido o novo fator de produtividade de 6,8 horas por ponto de
função.
85
4.8.2 Aplicação
Foram aplicadas a APF e a Proposta nos 10 projetos de Data Mart que estão em fase
de produção. Na Tabela 4.5 estão relacionados os resultados da pontuação dos ALI – arquivos
lógicos internos, AIE – arquivos de interface externa, EE – entradas externas, CE – consultas
externas, SE – saídas externas, IF – itens dos fatores, PFN – pontos de função não-ajustados,
FA – fator de ajuste e PFA – pontos de função ajustados.
Devido a problemas, como falta de tratamento dos dados, necessidade de limpezas, e etc
foram reconstruídos totalmente com a estrutura de data staging área. A base anteriormente
definida foi mantida. O que foi considerado neste estudo, foi a construção do Data Mart sobre
essas bases já criadas, pois as informações obtidas, para análise da proposta real,
consideraram somente essa nova versão da construção. Neste caso não foram pontuados os
ALI que já existiam antes do início dessa nova construção dos projetos.
Após a aplicação da métrica APF e da proposta foi necessário efetuar as comparações
entre os resultados obtidos com relação ao tempo real dos projetos.
Para isto foram utilizados os fatores de produtividade definidos nos itens 4.8.1, 4.8.2.
Foi utilizada a quantidade de recursos efetivamente alocada nas equipes durante o tempo real
de desenvolvimento. É interessante ressaltar que a definição da quantidade de recursos (com
casas decimais) utilizadas pelos sistemas I1S5 e I3S3 se refere a alocação parcial de recursos
durante o tempo do projeto. Na tabela 4.6 são apresentados os resultados.
Tabela 4.6 - Resultados com relação ao tempo real, estimado APF e estimado proposta
Sistema Tempo real Qtd recursos PF estimados Tempo PF estimados Tempo
em meses utilizados APF estimado APF Proposta estimado
em meses Proposta em
meses
I1S1 10 6 286,26 4,33 662,33 10,03
I1S2 8,5 7 305,76 3,97 682,64 8,86
I1S3 19 5 590,92 10,74 1380,5 25,1
I1S4 10,5 2 108,00 4,9 230,05 10,45
I1S5 5,5 4,2 128,44 2,78 303,48 6,56
I1S6 8 2 108,75 4,94 212,40 9,65
I2S1 1,5 5 58,4 0,53 203,28 1,84
I3S1 3,0 3 154,78 1,99 271,32 3,49
I3S2 6 4 385,44 3,72 667,85 6,44
I3S3 4 1,3 42,60 1,26 168,21 4,99
1400
1200
1000
800
Qtd PF
600 APF
400 Proposta
200
0
I1S1 I1S2 I1S3 I1S4 I1S5 I1S6 I2S1 I3S1 I3S2 I3S3
Sistemas
30
25
20
Tem po em
m eses 15 Tempo real em meses
Tempo estimado APF
10 Tempo estimado proposta
5
0
I1S1 I1S2 I1S3 I1S4 I1S5 I1S6 I2S1 I3S1 I3S2 I3S3
Sistem as
Conforme pode ser observado na Tabela 4.6 e na Figura 4.5 a estimativa de tempo
entre a abordagem proposta e o tempo real de desenvolvimento dos projetos de Data Mart
ficou bem aproximada. Em contraste todas as estimativas efetuadas pela métrica APF para
Data Mart ficaram abaixo do tempo real do sistema, o que demonstra, nesse escopo, uma
mensuração não totalmente adequada de tamanho.
88
O único sistema que ficou com um tempo estimado da Proposta de adequação menos
aproximado ao real foi o I1S3. Quando consultada, a equipe informou que esse sistema foi
construído por uma equipe altamente especializada de consultores e foi inferido que, talvez,
nesse caso, o fator de produtividade tenha sido subestimado.
Conforme já citado, a abordagem APF propõe a mensuração durante todo o ciclo de
vida do sistema. As medições acima elaboradas consideraram sistemas já concluídos, de
forma a conseguir dados com relação a tempo inicial e final e quantidade de recursos alocados,
ou seja, no processo de desenvolvimento do produto de Data Mart as métricas foram
aplicadas nos projetos de Data Mart na penúltima etapa da contagem, conforme demonstrado
na Figura 4.6.
Projeto Seleção e
técnico de instalação do
arquitetura produto
Projeto e Manutenção
Modelagem
Definição dos Projeto físico desenvolvimento Distribuição e
Planejamento dimensional da data staging
requisitos do crescimento
do projeto
negócio
Especificação Desenvolvimento
da aplicação da aplicação
analítica
analítica
Gerenciamento do projeto
1400
1200
1000
800
PF
600 APF
400 Proposta
200
0
I1S1 I1S2 I1S3 I1S4 I1S5 I1S6 I2S1 I3S1 I3S2 I3S3 I1S7
Sistemas
os tempos estimados (com a APF e com a Proposta) com o propósito de verificar o tempo
mais aproximado ao tempo real no contexto de Sistemas de Data Mart.
A análise estatística foi realizada considerando a Tabela 4.6 – Resultados com relação
ao tempo real, estimado APF e estimado proposta, gerados a partir:
do tempo real utilizado para construção de Data Mart;
do tempo estimado após a aplicação da APF; e,
do tempo estimado após a aplicação da Proposta.
Esta análise foi efetuada considerando os dados de 10 sistemas de Data Mart de três
instituições governamentais.
Como o objetivo principal da análise estatística foi verificar o tempo estimado (da APF
ou da Proposta) mais aproximado com relação ao tempo real, foram definidos os seguintes
testes estatísticos a serem aplicados:
Como são considerados três tratamentos (tempo real, tempo estimado APF e tempo
estimado proposta) com o mesmo objetivo, mas obtidos de maneira diferente, pode se aplicar a
ANOVA - Análise de Variância35 para verificar se as amostras, que têm variâncias
homogêneas, têm médias iguais ou diferentes, claro que, observadas as premissas estatísticas
da normalidade e independência entre populações que participarão do teste.
ANOVA é conhecida como a técnica estatística mais empregada para interpretação de
dados experimentais. Em geral, a finalidade da ANOVA é testar diferentes significâncias entre
médias (PHADKE, 1989). Wohlin et al. (2000, p.57) também sugerem o uso de ANOVA
quando existe três tratamentos a serem analisados para verificar uma hipótese.
Uma ANOVA permite estabelecer se as médias das populações em estudo são, ou não
são estatisticamente iguais. No entanto esse tipo de análise não permite detectar quais são as
médias estatisticamente diferentes das demais. O objetivo de usar a ANOVA é, portanto,
garantir que, considerando os três tratamentos, pelo menos uma das médias é diferente.
Dessa forma, foram formuladas as seguintes hipóteses:
Hipótese Inicial
35
Variância é uma média aritmética calculada a partir dos quadrados dos desvios obtidos entre os elementos da
série e a sua média.
91
Hipótese alternativa37:
H1: Mi ≠
Mj para algum i≠j, onde
M = média
i e j podendo assumir os valores de 1 a 3 (inclusive)
A hipótese inicial prevê a igualdade das médias dos três tratamentos (tempo real,
tempo estimado APF e tempo estimado proposta), enquanto que a hipótese alternativa afirma
que pelo menos uma das médias dos três tratamentos é diferente.
Testar as hipóteses envolve diferentes tipos de riscos. Alguns testes avaliam a rejeição
à hipótese verdadeira, enquanto outros testes avaliam a não rejeição à hipótese alternativa.
Neste estudo para identificar o risco, foi escolhido utilizar o Nível de significância.
Nível de significância é definido como a probabilidade de rejeitar a hipótese nula (Ho),
quando ela(Ho) é verdadeira (conhecido como erro de tipo I). Ou seja, nível de significância
identifica a probabilidade de se ter observado uma amostra38 que apresenta uma diferença
entre as médias que não existia na população39.
36
A hipótese nula é a negação da hipótese alternativa.
37
É uma hipótese de uma pesquisa e normalmente é a negação da hipótese nula.
38
Amostra é qualquer subconjunto de elementos retirado da população.Os testes estatísticos sempre são
realizados com amostras.
39
População é definida como o conjunto de elementos sobre os quais se deseja informação.
92
Para realizar a análise estatística foi utilizado o pacote estatístico SPSS40 para realizar
as análises. Neste pacote é possível realizar tanto a ANOVA como o teste de Tukey.
40
Software comercial que possui um conjunto de ferramentas estatísticas
93
Estatísticas Descritivas
Para efetuar o teste da hipótese citado anteriormente, foi efetuada a análise utilizando a
ANOVA. Conforme já descrito, uma ANOVA permite estabelecer se as médias das
populações em estudo são, ou não são, estatisticamente iguais.
Primeiro foi definido o nível de significância41 a ser aplicado. Segundo Vieira (1999,
p.38) a escolha do nível de significância é arbitrária e quando se escolhe o nível de
significância 5%, é usual afirmar que o resultado é significante. Foi definido, então, nesta
análise, o nível de significância de 5%.
Foi necessário estudar as causas de variação. Existem duas explicações para os dados
variarem. Uma explicação é o fato das amostras provirem de populações diferentes (tempo
real, tempo estimado APF e tempo estimado Proposta). Outra explicação é o acaso, porque
mesmos dados, provenientes da mesma população, também variam.
Além de definir as causas de variação, para se comparar mais de duas médias é
necessário aplicar o p-valor42.
Nesta análise foi utilizado o cálculo do p-valor para rejeitar a Hipótese nula em favor
da Hipótese alternativa.
O teste p-valor é fornecido por programas estatísticos de computador e neste teste se
oferece a possibilidade do valor do teste t43 ser, na distribuição teórica, maior que o valor
41
Nível de significância é definido como a probabilidade de cometer o erro de tipo I, ou seja, rejeitar a hipótese
nula (Ho), quando ela é verdadeira.
42
A estatística de p-valor avalia dados com relação a média de cada grupo, variância de cada grupo e variância
ponderada, isto tudo implementado com uma distribuição teórica.
94
obtido. Então, toda a vez que o p-valor for menor que o nível de significância estabelecido
(neste estudo 0,05), rejeita-se a hipótese de que as médias são iguais. Segundo Vieira (1999,
p.40) é muito complicado calcular o p-valor manualmente, sem auxílio de uma ferramenta.
A aplicação da ANOVA é apresentada na Tabela 4.9, onde são listados:
Tratamento - representa a variação considerando fatores controlados, neste caso o
tempo real, tempo estimado APF e o tempo estimado proposta.
Resíduos (ou acaso) - representam a variação considerando uma série de fatores
não controlados.
Soma dos quadrados - representa a soma dos quadrados da amostra menos um
valor de correção44.
Graus de liberdade - É um conceito ligado ao número de dados disponíveis (livres)
para o cálculo da estatística. No caso da Tabela de ANOVA, os graus de liberdade
do grupo será igual ao número de grupos menos 1, o grau de liberdade total será
igual a n-1 e o grau de liberdade do resíduo, a diferença entre esses dois.
Quadrado médio - Razão da soma dos quadrados divididos pelo grau de liberdade.
P-valor - avalia dados com relação à média de cada grupo, variância de cada grupo
e variância ponderada, isto tudo implementado com uma distribuição teórica
Todos os dados calculados servem para cálculo do p-valor e também serão utilizados
na aplicação do teste de Tukey.
Total 436,801 29
Pode ser observado na Tabela 4.9 que o p-valor = 0,017 é bem pequeno. Quanto menor
o p-valor, maior a evidência contra H0, o que leva a rejeitar a Hipótese nula em favor da
Hipótese alternativa. Além disto, o p-valor é menor que o nível de significância determinado
para a análise (0,05). Logo, existe pelo menos uma média estatisticamente diferente.
Uma ANOVA permite estabelecer se as médias das populações em estudo são, ou não
são, estatisticamente iguais. No entanto, esse tipo de análise não permite detectar quais são as
43
Teste t – teste mais utilizado para comparar médias. É baseado no nível de significância, na média de cada
grupo, na variância de cada grupo e na variância ponderada.
44
Valor de correção é dado pelo total geral da amostra elevado ao quadrado dividido pelo número de
observações.
95
médias estatisticamente diferentes das demais. Por exemplo, a ANOVA apresentada na Tabela
4.9 mostrou que as médias das populações não são iguais, mas não permite concluir qual é, ou
quais são as médias diferentes das demais.
Para verificar quais médias diferem entre si foi utilizado o teste Tukey HSD,
apresentado na Tabela 4.10. Conforme citado anteriormente o teste de Tukey permite
estabelecer a diferença mínima significante, ou seja, a menor diferença de médias de amostras
que deve ser tomada como estatisticamente significante, em determinado nível.
O teste de Tukey é realizado considerando: o quadrado médio do resíduo da análise da
variância, o número de repetições de cada tratamento e um valor dado em tabela. O valor de
Tukey foi calculado pelo programa estatístico utilizado e foi obtido o valor da menor diferença
significante(Tukey) de 3,2325.
De acordo com o teste de Tukey, duas médias são estatisticamente diferentes toda a
vez que o valor absoluto da diferença entre elas for igual ou maior ao valor da menor diferença
significante (Tukey).
Conforme pode ser observado na Tabela 4.10, os valores absolutos das diferenças entre
as médias estão apresentados na coluna Diferença entre as medias (I-J). E é fácil verificar que
a diferença absoluta entre o Tempo real e Tempo APF (4,3664) e o Tempo Proposta e Tempo
APF (3,8715) são superiores ao valor de Tukey (3,2325), ou seja, são estatisticamente
diferentes, considerando o nível de significância de 0,05.
Variáveis
Diferença 95% Intervalo de confiança
Erro
Entre as Médias Sigcalc.
Padrão
(I)Tratamento (J)Tratamento (I-J)
Limite Inferior Limite Superior
(*) A diferença entre estas médias é significante (superior ao Tuckey) ao nível de significância de 0.05.
observado, o primeiro subgrupo possui somente o tratamento Tempo de APF, que conforme a
Tabela 4.10 foi identificado como estatisticamente diferente. No segundo subgrupo estão os
tratamentos Tempo proposta e Tempo real, subgrupos identificados na Tabela 4.10 como
estatisticamente semelhantes. As medidas homogêneas estão no mesmo subgrupo e, neste
caso, possuem valor bem aproximado.
Com base no que foi analisado e nas Tabelas 4.10 e 4.11, pode-se concluir que a média
da estimativa de Tempo APF difere das outras duas. Em contrapartida, a média da estimativa
de Tempo proposta é igual estatisticamente ao Tempo real, o que leva a concluir que a melhor
ferramenta de medição para Sistemas de Data Mart é o Tempo Proposta calculado com base
na proposta elaborada neste trabalho.
45
Nível de significância
97
Uma das maiores dificuldades encontradas pela gestão de projetos é estimar o porte do
que está sendo construído. Existem muitas abordagens para mensurar o tamanho de um
software e não existe uma abordagem que seja melhor que outra, sob todos os aspectos, em
qualquer situação. A abordagem de mensuração de tamanho deve ser escolhida e/ou adequada
dependendo das características particulares do sistema que se pretenda desenvolver ou do
problema que se pretenda solucionar (CALAZANS, OLIVEIRA e SANTOS, 2003)
(Apêndice D).
Sistemas de Data Warehouse/Data Mart propõem uma nova visão no processo de
desenvolvimento. Diferentemente dos sistemas transacionais, o processo de construção é mais
complexo, especializado e com características específicas desse tipo de software. Isso requer
que outros processos, como os processos de medição (atualmente voltados para sistemas
transacionais), que interagem com o processo de construção de forma a viabilizar um melhor
gerenciamento do processo de construção de um software, sejam adaptados de forma a
garantir o gerenciamento adequado de recursos, custos e tempo.
Com essa motivação em mente, esta dissertação teve por objetivo a definição de uma
proposta de mensuração de tamanho para Projetos de Data Mart e os seguintes objetivos
específicos foram elaborados:
(i) Estudar as características principais de sistemas de Data Mart/Data Warehouse,
identificando aspectos diferenciados em relação aos sistemas transacionais;
(ii) Estudar algumas abordagens de métricas de tamanho existentes, analisar sua
aplicabilidade a este contexto e identificar a melhor alternativa para adequação à
tecnologia de Data Mart;
(iii) Propor a adequação de uma das abordagens de métricas de tamanho para projetos
de Data Mart;
(iv) Utilizar e avaliar a nova adequação em projetos de Data Mart;
(v) Comparar os resultados da aplicação desta proposta de adequação com os
resultados da abordagem escolhida.
Para atender a esses objetivos foram estudadas as principais características da
tecnologia Data Mart/Data Warehouse e identificadas as principais diferenças com relação
aos sistemas transacionais. Foram estudadas algumas abordagens de métricas de tamanho
existentes, seus pontos fortes e as críticas existentes. Dessa forma atende-se aos objetivos (i) e
(ii).
99
Alguns temas interessantes para pesquisa também podem ser derivados a partir de
dessa proposta:
Investigar outras tecnologias e domínios que necessitam ser mensurados e verificar
a adequabilidade das métricas existentes para esses domínios e tecnologias;
Aplicar esta abordagem em um número maior de projetos de Data Mart; e,
Expandir a aplicação das métricas para as demais categorias de projetos
envolvendo a área de BI (Bussiness Intelligence) como um todo, ou seja, abordar
os aspectos da construção de Data Warehouse corporativo, analisando as diversas
estratégias para a sua arquitetura, ambientes de integração e as variações no
conceito do datawarehouse, como Active Data Warehouse, Real-time Data
Warehouse, entre outros.
Desenvolver uma metodologia para criação de métricas mais adequadas visando
possíveis mudanças de tecnologia e domínio.
101
REFERÊNCIAS BIBLIOGRÁFICAS
____________________________________________________________________________
ABRAN A., SYMONS C., OLIGNY S. An Overview of COSMIC –FFP field trial results. In:
ESCOM-SCOPE. Londres, 2001.
ABRAN, A., DESHARNAIS, J., OLIGNY, S., ST-PIERRE, D., SYMONS C. Cosmic FFP
Measurement Manual. v. 2.2, Ed. S.Oligny, Software Engineering Management
Research Laboratory. Université du Quebec a Montreal. Canada, 1999.
BATENBURG, F., RIDDER, E., KERF, J. APL Extended compared with other languages
according to Halstead´s theory. ACM Sigplan Notices. 33(6), p. 54-60, 1998.
BERSON, A., SMITH, S. Data Warehousing, data mining, and OLAP. EUA: McGraw-
Hill, 1997.
BEVO, V., LEVESQUE, G., ABRAN, Alain. Application de la methode FFP a partir d’une
specification selon la notation UML: Compte rendu des premiers essais d’apllication et
questions. In: International Workshop on Software Measurement. Canada, 1999.
102
BEVO, V., LEVESQUE, G., ABRAN, Alain. Application de la methode FFP a partir d’une
specification selon la notation UML: Compte rendu des premiers essais d’apllication et
questions. In: International Workshop on Software Measurement(IWSM’99).
Canadá, p.230-242, 1999.
CALAZANS, A., OLIVEIRA, K., SANTOS, R. Dimensionando Data Marts :Uma adequação
de uma métrica funcional. In: II Simpósio Brasileiro de Qualidade de Software, 2003.
Fortaleza. Anais SBQS 2003. Fortaleza, Unifor, 2003.
FENTON, N., PFLEEGER, S. Software metrics a rigorous & practical approach. 2nd. Ed.,
PWS Publishing Company, 1997.
103
GALLAS, S. Kimball Vs. Inmon. EUA: The Thompson Corporation and DM Review. Set,
1999.
GARDNER, S. Building the Data Warehouse. Communications of the ACM. Vol.41, n. 9.,
p. 52 – 60, Set, 1998.
GOLFARELLI, M., RIZZI, S. Design the Data Warehouse: key steps and crucial issues.
Journal of Computer Science and Information Management. vol. 2, N. 3, 1999.
IFPUG. International Function Point Users Group. Function Point Counting Practices
Manual: Release 4.1. Ohio: IFPUG. 2000. 1 v.
INMON, Bill. The Data Warehouse Budget: Special Feature from January 1997. Portal
Feature, Jan, 1997.
104
INMON, W.H., Separating operational from DSS: Some criteria. 2000. Disponível em:
<www.billinmon.com//library/whiteprs/earlywp/ttoperdw.pdf>. Acesso em 05 Mai
2003.
ISO/IEC 20926. Software engineering – IFPUG 4.1 Unadjusted functional size measurement
method – Counting practices manual.2003.
ISO/ IEC 20968. Software engineering – Mk II Function Point Analysis -- Counting Practices
Manual. 2002.
JONES, C. Applied Software Mesurement (2nd edition). McGraw-Hill, New York, 1996.
KIMBALL, R., ROSS, M. Data Warehouse toolkit: o guia completo para modelagem
multidimensional. Rio de Janeiro: Campus, 2002.
105
KIMBALL, R., THORNTHWAITE, W., REEVES, L.. ROSS, M., The Data Warehouse
lifecycle toolkit: experts methods for designing, developing and deploying Data
Warehouses. New York: John Wiley & Sons, 1998.
McKENDRICK, J. Make Room for the Monster Data bases. Database Trends and
Applications, vol. 15, n. 12, Dez, 2002.
MACMILLAN, Hugh. Enbridge Inc., Distribution and services division. Disponível no site
<http://www.ascentialsoftware.com/cgi-bin/litlib.cgi?URL=enbridge-profile.pdf>.
Acesso em: 08/08/2003.
MENDES, E., MOSLEY, N., COUNSELL, S. Web metrics – estimating design and authoring
effort. Web Engineering, IEEE, 2001.
MEYER, Steven. Which ETL Tool is Right for You. DM Review. Mar 2001.
106
MICHAEL, J., BOSSUYT, B., SNYDER, B. Metrics for measuring the effectiveness of
software-testing tools. In: Proceedings of the 13 th International Symposium on
Software Reliability Engeneering (ISSRE’02). IEEE Computer Society, 2002.
MK II FPA. United Kingdom Software Metrics Association UKSMA. MKII Function Point
Analysis Counting Practices Manual: Version 1.3.1. Reino Unido, 1998.
MRAZEK, Jan. ETL: The best-Kept Secret of Success in Data Warehousing. DM Review,
Jun 2003.
OLIGNY, S., ABRAN, A. On the compatibility between full function points and IFPUG
function points. In: Proceedings of the 10th European Software Control and Metric
Conference – ESCOM, Inglaterra, 1999.
OLIGNY, S., BOURQUE, P., ABRAN, A., FOURNIER, B. Devoloping project duration
models in software engineering. The journal of systems and Software, 2002.
PFLEEGER, S., JEFFERY, R., CURTIS, B., KITCHENHAM, B. Status report on software
measurement. IEEE Software, p.33-38, Mar, 1997.
PHADKE, M.S., Quality Engineering Using Robust Design. Prentice Hall, Englewood
Cliffs New Jersey, 1989.
107
POE, V. Building a Data Warehouse for decision support. New Jersey: Prentice Hall PTR,
1996.
PORTER, J., ROME, J. Lessons from a Successful Data Warehouse Implamentation. Arizona:
Cause/Effect, p. 43-50, 1995.
SANTANA, S. Desenvolvendo Data Mart utilizando a Análise por pontos de função: uma
proposta para integração entre sistemas transacionais e sistemas de apoio à
decisão. 2001. Dissertação (Mestrado Engenharia da Produção) – Programa de Pós-
Graduação em Engenharia de Produção, UFSC, Florianópolis.
SANTILLO, L. Size & estimation of data warehouse systems. In: The European Software
Measurement Conference – FESMA/DASMA. Alemanha , 2001.
STUTZKE, R. Predicting Estimation Accuracy. In: The European software control and
metrics conference – ESCOM, Alemanha, p. 211 – 220, 2000.
SYMONS, Charles. Come back function point analysis (modernised) – all is forgiven!. In:
The 4th European Conference on Software Measurement and ICT Control -
FESMA – DASMA. Alemanha, p. 1-12, 2001.
VAVOURAS, A., GATZIU, S., DITTRICH, K. Modeling and executing the Data Warehouse
refreshment process. In: International Symposium on Database Applications in Non
traditional Environments. IEEE, 1999.
WITTIG, G., MORRIS, P., FINNIE, G., RUDOLPH, E. Formal methodology to establish
function points coefficientes. School of Information Technology. Australia, [1997?].
Item de
Características gerais Níveis de influência
Influência
Item de
Características gerais Níveis de influência
Influência
Item de
Características gerais Níveis de influência
Influência
Item de
Características gerais Níveis de influência
Influência
Item de
Características gerais Níveis de influência
Influência
itens);
O aplicativo minimiza a necessidade de
montagem de fita magnética;
O aplicativo minimiza a necessidade de
manuseio de papel;
5 O aplicativo foi desenhado para trabalhar sem
operador. Nenhuma intervenção do operador é
necessária além de iniciar e encerrar o
aplicativo porque este já contém rotinas
automáticas de recuperação de erros.
12
Volume de dados 1 Baixo (até 500 gigabytes)
Previsão do volume de dados do projeto 3. Médio (de 500 gigabytes a 1 terabyte)
O volume de dados interfere no tamanho e 5. Alto (acima de 1 terabyte)
deve ser previsto visando garantir
performance
13. Nível de conhecimento exigido pela
equipe de Data Mart da base de 1 Pouco conhecimento da equipe de Data Mart das
dados/regras de negócio dos sistemas regras de negócio dos sistemas transacionais
transacionais de origem 3 Médio conhecimento da equipe de Data Mart
(Vinculada à existência de ferramenta ETL, das regras de negócio dos sistemas transacionais
pois a existência obriga a equipe de Data 5 Alto conhecimento da equipe de Data Mart das
Mart a conhecer todas as regras de negócio regras de negócio dos sistemas transacionais
transacional e definir outras formas de
extração).
116
Item de
Características gerais Níveis de influência Influência
Item de
Características gerais Níveis de influência Influência
Pontuação:
Item de
Características gerais Níveis de influência Influência
Item de
Características gerais Níveis de influência Influência
Resumo
Estimar o tamanho de um projeto para permitir definir prazos, custos e recursos é uma necessidade contínua das
empresas. Nesse sentido, várias abordagens surgiram com o objetivo de estimar o tamanho do software,
destacando-se entre elas, a Análise por Pontos de Função como uma das abordagens mais utilizadas pelo mercado
atualmente. Com o surgimento da tecnologia de Data Mart e o aumento da demanda de desenvolvimento desses
sistemas, as empresas passaram a exigir também estimar o tamanho desses produtos para permitir uma melhor
gerência na produção dos mesmos. Sistemas de Data Mart, no entanto, possuem características próprias e
particularidades no desenvolvimento diferentes dos sistemas tradicionais. Dessa forma, se faz necessário a
adequação de uma das abordagens de medição de sistemas tradicionais para sistemas de Data Mart. Neste artigo,
propomos uma adequação da Análise por Pontos de Função e apresentamos os resultados da aplicação desta
proposta em projetos reais da Caixa Econômica Federal.
Palavras Chaves: Métricas funcionais, Data Mart, estimativa de tamanho, Análise por pontos de Função.
Abstract
Estimate the size of a project to define time, cost and resources is a continuous necessity of the companies. In this
direction, several boardings had appeared with the objective of estimate the size of software, like the Analysis
for Points of Function - one of boardings more used by the market currently. With the appearing of Data Mart
technology and the increase of the demand of development of these systems, the companies had started to also
demand estimate of these products to allow a better management in the production of them. Data Mart systems,
however, have proper characteristics and particularitities in the development different of the traditional systems.
So, it makes necessary the adequacy of one of the boardings of measurement of traditional systems for Data
Mart systems. In this article, we consider one adequacy of the Analysis for Points of Function and present results
of application of this proposal in real projects of Caixa Econômica Federal.
Key words: Functional measurement, Data Mart, size estimation, Function Point
Analysis.
Introdução
Definição
Segundo [5], um “Data Warehouse é uma coleção de dados orientada por assuntos, integrada,
variante no tempo, e não volátil, que tem por objetivo dar suporte aos processos de tomada de
decisão”.
A tecnologia utilizada tanto no Data Warehouse como no Data Mart é a mesma, sendo que as
variações que ocorrem são mínimas, mais voltadas para o volume de dados, abrangência da
arquitetura e o foco [2]. Os Data Marts são voltados somente para uma determinada área
referenciando um escopo menor, a uma unidade de negócio, a um departamento, ou a um
123
conjunto especifico dos usuários, já o Data Warehouse é voltado para os assuntos de toda
empresa.
As principais características de um Data Warehouse/Data Mart são [8]: informações
facilmente acessadas e consistentes, adaptabilidade e flexibilidade às mudanças, proteção
destas informações e utilização das informações como base para tomada de decisões.
Existem quatro componentes separados e distintos no ambiente de Data Warehouse (Figura 1)
[8]:
sistemas operacionais de origem - sistemas que capturam as transações da empresa;
data stanging area - área de armazenamento de dados e de conjunto de processos que preparam
os dados de origem para serem utilizados;
área de apresentação de dados - local onde os dados ficam armazenados e disponíveis ao
usuário final;
e ferramentas de acesso a dados - ferramentas OLAP e de mineração de dados que permitem
aos usuários utilizar os dados de uma maneira rápida, interativa, de forma fácil para executar
análises mensuráveis.
Os Data Mart servem como fonte de dados para estas ferramentas e devem assegurar
consistência, integração e precisão.
Sistemas Data Área de Ferramentas
Operacionais Staging Apresentação de acesso
De origem Área de dados a dados
Processo de Construção
As fases básicas para se criar e atualizar um Data Warehouse são [8]: (i) extração, (ii)
transformação e (iii) carga dos dados (ETL – Extraction, Transformation, Load).
O processo de extração (i) envolve a leitura e compreensão dos dados de origem e cópia destes
dados na staging area para serem manipulados posteriormente. Normalmente, cada sistema de
origem é uma aplicação independente e que possui pouco compartilhamento de dados comuns
como produto, cliente e geografia com outros sistemas operacionais da empresa. A integração
destes dados é uma das tarefas que geram mais esforço no projeto de um Data Warehouse. A
quantidade de sistemas transacionais envolvidos, suas estruturas de dados46 e o nível de
documentação (o Data Mart necessita apresentar todos os conceitos e as origens dos dados)
interferem diretamente na dimensão do sistema de Data Mart. O processo de extração pode
ser realizado de forma automatizada através de ferramenta de ETL. A existência ou não desta
ferramenta também impacta o tamanho do produto seja na geração de um maior número de
funcionalidades para a extração destes dados ou na exigência de conhecimento profundo, por
parte dos desenvolvedores do Data Mart, das regras de negócio dos sistemas transacionais e
definição de formas de extração.
Na fase de transformação (ii) modifica-se a estrutura do armazenamento de dados. Nesta fase
ocorrem ”transformações em potencial, como filtragem dos dados (correções de erros de
digitação, solução de conflitos de domínio, tratamento de elementos ausentes ou a divisão em
formatos padrão), combinação de dados de várias origens, cancelamento de dados duplicados
e atribuições de chaves” [8]. Nesta fase também podem ser aplicados níveis de
desnormalização e renormalização47, combinação48, auditoria no conteúdo de dados49 e
agregações necessárias para melhorar o desempenho das consultas para o usuário final
(considerando a previsão de volume de dados). Toda esta transformação ocorre na staging
area ou Operational data storage (ODS) (se a arquitetura da solução envolver este
componente) e também impacta no tamanho de um projeto de Data Mart.
A fase de carga (iii) é um processo interativo, pois o Data Warehouse tem que ser povoado
continuadamente e refletir de forma incremental as mudanças do sistemas operacionais.
Manutenções que possam ocorrer nas fontes de dados interferem diretamente na dimensão do
projeto, pois além das transformações precisarem ser re-definidas e aplicadas, a carga também
é alterada a cada modificação das fontes de dados das origens. A carga é a última etapa do
processo de ETL e é realizada no banco de dados do DW, na área de apresentação de dados.
Neste banco de dados (que pode ser desenvolvido em uma tecnologia de banco de dados
multidimensional ou relacional) os dados são armazenados em cubos. Um modelo
multidimensional possui três elementos básicos: fatos, que são definidos como a coleção de
itens de dados, composta de dados de medidas e de contexto, representando um item de
negócio, uma transação de negócio ou um evento de negócio; dimensões que são os elementos
que participam de um fato e determinam o contexto de um assunto de negócios e medidas que
são atributos numéricos que representam um fato [9].
Medição de Software
46 Definição da estrutura em que estão os dados de origem: VSAM, Banco de Dados Relacional (DB2, Sybase,
Oracle, etc), Banco de dados hierárquico (IDMS), etc.
47 Reunificação das hierarquias de dados, separadas pela normalização dentro de uma tabela desnormalizada.
48 Realizada quando fontes de dados possuem os mesmos valores de chaves representando registros iguais ou
complementares ou atributos de chaves não iguais, incluindo equivalência textual de códigos de sistemas de
legados distintos.
49 O processo de transformação deve realizar constantes verificações de somas, contagens de linhas e testes.
125
Medição é o processo através do qual números ou símbolos são atribuídos a características das
entidades do mundo real de forma a tornar possível caracterizar cada entidade através de
regras claramente definidas [3], ou seja, é o processo de obtenção de uma medida para uma
entidade do mundo real. Uma medida fornece uma indicação de quantidade, dimensão,
capacidade ou tamanho de algum produto de software ou de um processo. Em outras palavras
uma medida refere-se a um valor de uma métrica. Segundo [7], métrica é a composição de
métodos para medição e escalas de medição.
Para se chegar a uma medida de software, existem técnicas de estimativas que avaliam as
variáveis de tamanho, esforço e prazo. Estas técnicas podem ser classificadas basicamente em
Analógicas (baseada na experiência de quem faz estimativas), Modelos Algoritmos (que
considera modelos matemáticos, por exemplo, o COCOMO que pontua o número de
instruções fontes (número de linhas de código), regressão linear, Halstead) e Análise de
Funcionalidade (baseada nas funcionalidades do software, por exemplo, a APF) [12].
Algumas das principais abordagens utilizadas para análise de funcionalidade são a Análise por
Pontos de Função, definida desde 1979 e que vem continuamente sendo utilizada e melhorada
desde então, e a COSMIC-FFP [1] proposta em 1999, tornou-se um padrão em 2003, mas
ainda sem grande experimentação prática.
A seguir serão descritas as principais características da APF por ser essa a métrica adequada
nesse trabalho.
A Análise por Pontos de Função (APF) mede o tamanho do software pela quantificação de
suas funcionalidades, baseadas no projeto lógico ou a partir do modelo de dados segundo a
visão e os requisitos do usuário final [6]. Suas principais características são: medir o que foi
requisitado e recebido do usuário, medir independente da tecnologia, ser aplicável desde o
início do sistema, apoiar a análise de produtividade e qualidade e estimar o tamanho do
software com uma unidade de medida padrão.
Os seguintes passos devem ser observados para mensuração de tamanho do software
utilizando esta abordagem [6]:
Estabelecer o objeto da contagem (projetos de desenvolvimento, projetos de manutenção ou
contagem de uma aplicação);
Determinar a fronteira de medição (a fronteira de medição deve ser sempre determinada sob
o ponto de vista do usuário);
Contar as funções de dados, divididos em Arquivos Lógicos Internos (ALIs - que são grupos
lógicos de dados mantidos dentro da fronteira da aplicação) e Arquivos de Interface Externa
(AIEs – arquivos somente referenciados pela aplicação);
Contar as funções transacionais, divididos em Entradas Externas (EEs), Saídas Externas
(SEs) e Consultas Externas (Ces);
Determinar o Fator de Ajuste (conjunto de 14 características que influenciarão a
complexidade do software. São elas: comunicação de dados, processamento distribuído,
performance, utilização de equipamento, volume de transações, entrada de dados on-line,
eficiência do usuário final, atualização on-line, processamento complexo, reutilização de
código, facilidade de implantação, facilidade operacional, múltiplos locais, facilidade de
mudanças); e,
Determinar o tamanho do projeto (considera as funções de dados, transacionais, fatores de
ajuste e tipo de projeto).
Cada função de dado ou transacional terá um peso diferente dependente de sua complexidade.
Diversas tabelas baseadas na quantidade de elementos de dados, de registros e de arquivos
126
referenciados são utilizadas para determinar a complexidade de cada função em Baixa, Média
ou Alta.
A Tabela 1 mostra o número de pontos de função atribuídos a cada tipo de função conforme o
grau de complexidade.
No que se refere a (iii) contar as funções de dados deve ser considerado que o usuário possui
a visão das dimensões que necessitará para suas pesquisas, e que estas visões estão muito
interelacionadas aos fatos, todos os fatos e dimensões devem ser pontuados como ALIs. Como
AIE serão pontuados os dados corporativos utilizados no projeto.
O usuário também possui a visão de que estes dados deverão ser tratados, limpos, agregados,
sumarizados em uma área antes de serem disponibilizados para consulta. Com base nesta visão
e considerando também a necessidade de se computar os dados da staging área, sugerimos
que para todos os ALI computados inicialmente sejam também computados ALI para a
staging área. Os dados da staging área são dados que permanecem e que são utilizados
constantemente para as novas cargas e atualizações. Normalmente, podem ser criados mais de
um arquivo na staging area para cada dimensão e fato, mas inicialmente será inferido somente
a existência de um para cada ALI.
A definição da complexidade para cada função de dado será aplicada conforme a proposta da
APF.
Para (iii) contar as funções transacionais deve-se para cada ALI considerar uma EE, pois
eles são atualizados a partir dos dados de sistemas operacionais que funcionam como uma EE.
Na realidade o processo de carga é muito mais complexo e gera muito mais processos do que
apenas um como esta sendo sugerido, mas considerando a visão do usuário sugerimos a
definição de uma EE para cada ALI. Com relação a SE ou CE sugere-se que sejam
computadas qualquer solicitação de relatórios/consultas/view pré formatadas para facilitar a
consulta do usuário final, respeitando-se a distinção entre SE e CE da proposta APF. A
definição da complexidade para cada função transacional será aplicada conforme a proposta da
APF.
O passo referente a (iv) Determinar os Fatores de ajuste implicou numa análise cuidadosa
dos fatores de ajuste propostos na APF no que se refere à Data Marts. Como resultado dessa
análise percebemos que dos 14 fatores de ajuste:
4 fatores são aplicáveis a este tipo de software: Processamento distribuído de dados,
Desempenho, Reusabilidade de Código e Facilidade Operacional.
2 fatores poderiam ser adaptados para Data Warehouse/Data Mart, são eles:
Eficiência do usuário final50 que poderia ser adequado para considerando a Quantidade de
agregação51 onde a definição dos níveis de agregação necessários tem como objetivo
proporcionar eficiência para o usuário final.
Processamento complexo52 que poderia ser adequado para Qualidade dos dados53 onde a
quantidade de tratamento (de dados e das exceções) necessário ao projeto pode ser comparada
como um nível de complexidade do processo.
Os demais fatores (no total de 8) estão intrinsecamente relacionados a sistemas
transacionais o que implica em quando analisados no contexto da Data Warehouse/ Data Mart
sempre receberiam o valor 0 (nenhuma influência). Por exemplo, entrada de dados on-line54 e
atualização on-line55 pois no contexto de Data Warehouse/Data Mart não existem entradas
nem atualizações on-line; e ainda múltiplos locais56 considerando que o Data
Warehouse/Data Mart não é instalado em nenhum local.
Baseados nessa análise resolvemos considerar os 4 fatores realmente aplicáveis, substituir os 2
fatores possíveis de adequar por nomes mais pertinentes, e propor novos fatores de ajustes que
representem as características de Data Mart. Para cada um dos fatores, foram definidos os
níveis de influência numa escala de 0-5 conforme proposto na APF. A proposta final de
adequação dos fatores de ajuste para Data Mart pode ser visualizada na Tabela 2.
Finalmente para (vi) determinar o tamanho do projeto utilizamos as fórmulas propostas na
APF.
Nos últimos anos a Caixa Econômica Federal tem utilizado a Análise de Ponto de Função para
mensurar o tamanho de seus sistemas. Esta métrica tem características próprias, conforme
131
poderá ser verificado no escopo deste trabalho, e tem sido utilizada na medição de Sistemas de
Informações operacionais, Data Mart, Workflows.
Foram escolhidos três projetos de Data Mart que já estão em produção e possuem dados com
relação ao tempo de construção e quantidade de recursos envolvidos, de forma a poder se
efetuar uma comparação entre as duas abordagens: a APF como ela é proposta, e a adequação
da APF apresentada na seção 5.
Foram pontuados os seguintes sistemas: SIST. 1, sistema de informações gerenciais dos
negócios da empresa; SIST. 2, um sistema de informações gerenciais de determinada área
negocial da empresa; e, SIST. 3, um sistema de informações gerenciais de Recursos Humanos.
Não foi contada nenhuma SE nem CE para os projetos em questão, pois, a empresa utiliza
ferramentas OLAP para geração de relatórios e consultas. Estas ferramentas são utilizadas pelo
usuário final que define suas próprias consultas dinamicamente. Os resultados são
apresentados na Tabela 3.
SIST. 2 252 24 116 13 392 0,78 305,76 504 24 116 39 644 1,04 669,76
SIST. 3 252 5 110 13 367 0,78 286,26 504 5 110 40 619 1,05 649,95
Legenda: IF – Itens de influencia
PFN – Pontos de função não ajustados
FA – Fator de ajuste
PFA – Pontos de função ajustados
Tabela 3 – Contagem dos sistemas de Data Mart
Como pode ser observada na Tabela 4, a proposta de adequação se aproxima mais ao tempo
real do projeto do que a abordagem APF. O único sistema que ficou com um tempo estimado
da Proposta de adequação menos aproximado ao real foi o Sist. 1. Quando consultada, a
equipe informou que este sistema foi construído por uma equipe altamente especializada de
consultores, e inferimos que, talvez neste caso, o fator de esforço tenha sido superestimado.
132
Conclusões
Uma das maiores dificuldades encontradas pela gestão de projetos é estimar o porte do que
está sendo construído. Existem muitas abordagens para mensurar o tamanho de um software e
não existe uma abordagem que seja melhor que outra, sob todos os aspectos, em qualquer
situação. A abordagem de mensuração de tamanho deve ser escolhida e/ou adequada
dependendo das características particulares do sistema que se pretenda desenvolver ou do
problema que se pretenda solucionar.
A partir da observação de que os sistemas de Data Warehouse/Data Mart possuem diferenças
substanciais da construção de um software transacional iniciamos uma pesquisa de como
adaptar uma abordagem de medição de tamanho (a análise por pontos de função) para esse
contexto. O resultado desta investigação demonstrou que uma adequação da abordagem APF é
necessária para uma mensuração de tamanho de software mais adequada e confiável para este
domínio. A adequação e a medição de três projetos reais nos mostrou resultados promissores.
Sabemos que são necessárias mais aplicações da abordagem proposta para confirmar a sua
melhor adequabilidade para projetos de Data Warehouse e Data Mart, mas este pode ser o
caminho inicial para a solução do problema de mensurar tamanho de softwares para domínios
de Data warehouse/Data Mart.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] ABRAN, A., DESHARNAIS, J., OLIGNY, S., ST-PIERRE, D., SYMONS C. Cosmic
FFP Measurement Manual, version 2.2, Ed. S.Oligny, Software Engineering Management
Research Laboratory, Université du Quebec a Montreal, Canada, 1999. 81 p.
[6] IFPUG. International Function Point Users Group. Function Point Counting Practices
Manual: Release 4.1. Ohio: IFPUG. 2000. 1 v.
[8] KIMBALL, R., ROSS, M. Data warehouse toolkit: o guia completo para modelagem
multidimensional.Rio de Janeiro: Campus, 2002. 494 p.
[9] MACHADO, F. Projeto de Data Warehouse – uma visão multidimensional. São Paulo:
Erica, 2000.
[10] OLIGNY, S., ABRAN, A. On the compatibility between full function points and
IFPUG function points. In: PROCEEDINGS OF THE 10TH EUROPEAN SOFTWARE
133
[11] SANTILLO, L. Size & estimation of data warehouse systems. In: THE EUROPEAN
SOFTWARE MEASUREMENT CONFERENCE – FESMA – DASMA, 2001. Heidelberg,
Alemanha .p.12.
[13] UK. UKSMA Metrics Practices Committee. MKII Function Point Analysis Counting
Practices Manual. Version 1.3.1. UK, 1998. 100 p.
134
O método Cosmic Full Function Points é uma das abordagens mais atuais
com relação à mensuração de tamanho de software. Foi proposto em 1997
com o nome de Full Function Points V.1, como uma adaptação da métrica
FPA/IFPUG para sistemas real time.
O Cosmic surgiu como uma alternativa de mensuração mais exata (de forma
a não gerar dúvidas, não sendo ambígua), com independência de domínio e
propondo diferentes medidas para diferentes propósitos (considerando a
visão do usuário e do desenvolvedor).
conhecidas e analisadas.
Conclusões
Isto tudo torna a abordagem Cosmic uma técnica interessante para equipes
e empresas que querem iniciar o processo de mensuração como forma de
incrementar a qualidade, produtividade e controle de seus produtos; para
equipes que não conseguiram bons resultados utilizando-se de outros
mecanismos de estimativa; e também para empresas que necessitam de um
método de mensuração simples e de fácil aplicabilidade em diversos
tipos/projetos de desenvolvimento e/ou manutenção (OO, Data Warehouse,
Workflow, etc.).
Referências
ABRAN A.; SYMONS C.; OLIGNY S. An Overview of Cosmic – FFP field trial
results. In: The 12nd European Software Control and Metrics Conference -
ESCOM. 2001. Londres. Inglaterra. p. 1-10. Disponível em
http://www.lrgl.uqam.ca/cosmic-ffp/publications/
HO, V.; ABRAN, A.; OLIGNY, S; Using Cosmic – FFP to quantify functional
Reuse in Software Development. In: THE European Software Control and
Metrics Conference – ESCOM. 2000. Munique. p.1-8. Disponível em
http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/.