TURNO: NOTURNO VERSÃO: 02 No UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO DE CIÊNCIAS DA COMPUTAÇÃO — BACHARELADO COORDENAÇÃO DE TRABALHO DE CONCLUSÃO DE CURSO PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO TÍTULO: FERRAMENTA DE CONSTRUÇÃO DE DATA WAREHOUSE ÁREA: Banco de Dados Palavras-chave: Sistema de apoio à decisão. Desenvolvimento baseado em dados. Data warehouse. 1 IDENTIFICAÇÃO 1.1 ALUNO Nome: Percio Alexandre de Oliveira Código/matrícula: 25235 Endereço residencial: Rua: Maria Popper Complemento: n°: 371 Bairro: Asilo CEP: 89030-320 Telefone fixo: 3325-5003 Cidade: Blumenau UF: SC Celular: 8409-9387 Endereço comercial: Empresa: Microsiga Softwares Rua: Joinville CEP: 89035-200 n°: 729 Cidade: Blumenau E-Mail FURB: [email protected] 1.2 UF: SC Telefone: 3327-0577 E-Mail alternativo: [email protected] ORIENTADOR Nome: Maurício Capobianco Lopes E-Mail FURB: [email protected] Bairro: Vila Nova E-Mail alternativo: 2 DECLARAÇÕES 2.1 DECLARAÇÃO DO ALUNO Declaro que estou ciente do Regulamento do Trabalho de Conclusão de Curso de Ciências da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada em todas as páginas. Ainda me comprometo pela obtenção de quaisquer recursos necessários para o desenvolvimento do trabalho, caso esses recursos não sejam disponibilizados pela Universidade Regional de Blumenau (FURB). Assinatura: 2.2 Local/data: DECLARAÇÃO DO ORIENTADOR Declaro que estou ciente do Regulamento do Trabalho de Conclusão do Curso de Ciências da Computação e que a proposta em anexo, a qual concordo, foi por mim rubricada em todas as páginas. Ainda me comprometo a orientar o aluno da melhor forma possível de acordo com o plano de trabalho explícito nessa proposta. Assinatura: Local/data: 3 AVALIAÇÃO DA PROPOSTA Percio Alexandre de Oliveira Orientador(a): Maurício Capobianco Lopes ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) ORIENTADOR(A) atende 3.1 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( Assinatura do(a) avaliador(a): ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO Local/data: CONSIDERAÇÕES DO(A) ORIENTADOR(A): Caso o(a) orientador(a) tenha assinalado em sua avaliação algum item como “atende parcialmente”, devem ser relatos os problemas/melhorias a serem efetuadas. Na segunda versão, caso as alterações sugeridas pelos avaliadores não sejam efetuadas, deve-se incluir uma justificativa. Assinatura do(a) avaliador(a): Local/data: Percio Alexandre de Oliveira Avaliador(a): José Roque Voltolini da Silva ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) COORDENADOR DE TCC atende 3.2 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO OBSERVAÇÕES: Assinatura do(a) avaliador(a): Local/data: Percio Alexandre de Oliveira Avaliador(a): Joyce Martins ASPECTOS AVALIADOS 1. não atende Acadêmico(a): atende parcialmente AVALIAÇÃO DO(A) PROFESSOR(A) DA DISCIPLINA DE TCCI atende 3.3 INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? PONTUALIDADE NA ENTREGA atraso de _____ dias A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO OBSERVAÇÕES: Assinatura do(a) avaliador(a): Local/data: 3.4 AVALIAÇÃO DO(A) PROFESSOR(A) ESPECIALISTA NA ÁREA Acadêmico(a): Percio Alexandre de Oliveira 1. não atende ASPECTOS AVALIADOS atende parcialmente atende Avaliador(a): INTRODUÇÃO 1.1. O tema de pesquisa está devidamente contextualizado/delimitado? 1.2. O problema está claramente formulado? 2. ASPECTOS TÉCNICOS 3. 4. 5. 6. 7. ASPECTOS METODOLÓGICOS 8. 9. OBJETIVOS 2.1. O objetivo geral está claramente definido e é passível de ser alcançado? 2.2. São apresentados objetivos específicos (opcionais) coerentes com o objetivo geral? Caso não sejam apresentados objetivos específicos, deixe esse item em branco. RELEVÂNCIA 3.1. A proposta apresenta um grau de relevância em computação que justifique o desenvolvimento do TCC? METODOLOGIA 4.1. Foram relacionadas todas as etapas necessárias para o desenvolvimento do TCC? 4.2. Os métodos e recursos estão devidamente descritos e são compatíveis com a metodologia proposta? 4.3. A proposta apresenta um cronograma físico (período de realização das etapas) de maneira a permitir a execução do TCC no prazo disponível? REVISÃO BIBLIOGRÁFICA 5.1. As informações apresentadas são suficientes e têm relação com o tema do TCC? 5.2. São apresentados trabalhos correlatos, bem como comentadas as principais características dos mesmos? REQUISITOS DO SISTEMA A SER DESENVOLVIDO 6.1. Os requisitos funcionais e não funcionais do sistema a ser desenvolvido foram claramente descritos? CONSIDERAÇÕES FINAIS 7.1. As considerações finais relacionam os assuntos apresentados na revisão bibliográfica com a realização do TCC? REFERÊNCIAS BIBLIOGRÁFICAS 8.1. As referências bibliográficas obedecem às normas da ABNT? 8.2. As referências bibliográficas contemplam adequadamente os assuntos abordados na proposta (são usadas obras atualizadas e/ou as mais importantes da área)? CITAÇÕES 9.1. As citações obedecem às normas da ABNT? 9.2. As informações retiradas de outros autores estão devidamente citadas? 10. AVALIAÇÃO GERAL (organização e apresentação gráfica, linguagem usada) 10.1. O texto obedece ao formato estabelecido? 10.2. A exposição do assunto é ordenada (as idéias estão bem encadeadas e a linguagem utilizada é clara)? A proposta de TCC deverá ser revisada, isto é, necessita de complementação, se: • qualquer um dos itens tiver resposta NÃO ATENDE; • pelo menos 4 (quatro) itens dos ASPECTOS TÉCNICOS tiverem resposta ATENDE PARCIALMENTE; ou • pelo menos 4 (quatro) itens dos ASPECTOS METODOLÓGICOS tiverem resposta ATENDE PARCIALMENTE. PARECER: ( ) APROVADA ( ) NECESSITA DE COMPLEMENTAÇÃO OBSERVAÇÕES: Assinatura do(a) avaliador(a): Local/data: UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO – BACHARELADO FERRAMENTA DE CONSTRUÇÃO DE DATA WAREHOUSE PERCIO ALEXANDRE DE OLIVEIRA BLUMENAU 2006 PERCIO ALEXANDRE DE OLIVEIRA FERRAMENTA DE CONSTRUÇÃO DE DATA WAREHOUSE Proposta de Trabalho de Conclusão de Curso submetida à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso I do curso de Ciências da Computação — Bacharelado. Prof. Maurício Capobianco Lopes - Orientador BLUMENAU 2006 2 1 INTRODUÇÃO A crescente competição em mercados cada vez mais dinâmicos está levando as empresas a tomarem decisões mais rapidamente. Portanto, a informação tornou-se o bem mais valioso dentro das instituições. Os administradores tomam suas decisões com base na análise de dados objetivos, sintetizados e confiáveis acima de tudo, sempre com o intuito maior de melhorar e aperfeiçoar processos internos. É dentro deste cenário que hoje torna-se imprescindível a utilização de recursos computacionais para levantar e analisar as informações necessárias. Uma das principais ferramentas que constitue a nova geração de Sistemas de Apoio a Decisão (SAD) é o Data Warehouse (DW): um banco de dados específico para propósitos gerenciais (DW BRASIL, 2005). Para entender melhor o que é um DW, é relevante que se faça uma comparação com o conceito tradicional de um banco de dados transacional ou operacional, que armazena dados num determinado período de uma empresa onde são registradas e executadas operações prédefinidas. Em decorrência de informações históricas não permanecerem armazenadas por muito tempo, este tipo de banco de dados não possui grandes volumes de dados. Já, em contrapartida, um banco de dados de DW que armazena dados analíticos voltados a tomada de decisões pode envolver consultas complexas que acessem um grande número de dados, exigindo assim um eficaz sistema de acesso ao dado. Neste caso existe uma grande preocupação em obter dados históricos, o que determina um grande processamento e armazenamento dos dados sempre detalhados e resumidos. Segundo Inmon (1997, p. 33), um “data warehouse é um conjunto de dados baseado em assuntos, integrado, não-volátil, e variável em relação ao tempo, de apoio às decisões gerenciais”. Para Kimball (1998 apud COME, 2001, p. 2), DW é o lugar onde as pessoas podem acessar seus dados. Já Wang (1998 apud COME, 2001, p. 2) tem uma definição um pouco mais elaborada quando diz que DW é o processo pelo qual os dados relacionados de vários sistemas operacionais são fundidos para proporcionar uma única e integrada visão de informação de negócios que abrange todas as divisões da empresa. Os diversos sistemas de operação, cada vez mais sofisticados, registram grandes volumes de dados sobre diversas áreas da organização. As dificuldades em buscar informações e gerar conhecimento a partir destes dados, representam um enorme desafio que, se não superado, gera prejuízos devido às oportunidades perdidas e decisões errôneas. 3 Em meio a este cenário, está sendo proposto desenvolver uma ferramenta de DW que irá auxiliar seus usuários no processo de transformação de dados operacionais em informações gerenciais, viabilizando consultas em formato de tabela ou de gráficos em diversos níveis de detalhe. A ferramenta será totalmente executável em ambiente web, portanto acessível através dos principais navegadores hoje disponíveis no mercado. 1.1 OBJETIVOS DO TRABALHO O objetivo deste trabalho é desenvolver uma ferramenta web para transformação de dados operacionais provenientes de uma única ou múltiplas fontes em informações sumarizadas e analíticas para auxiliar o usuário na tomada de decisões. Os objetivos específicos do trabalho são: a) permitir a construção de projetos DW e seus modelos Star Schema1 utilizando a técnica de modelagem dimensional. b) construir o cubo de decisão especificando a tabela fato e seus indicadores para a área de negócio, as dimensões com seus respectivos atributos que definem os níveis de granularidade e a fonte de dados que determina a origem das informações; c) controlar os serviços de carga de dados periodicamente através de logs, armazenando dados referentes a carga como data e tempo de processamento, total de registros incluídos e atualizados e qualquer tipo de erro ocorrido; d) separar o uso da ferramenta em usuários finais e administradores, apresentando uma interface simplificada para usuários; e) consultar os dados gerenciais através de tabelas ou gráficos, com recursos de Drill Down2, rankings e filtros; f) exportar o metadados do modelo de DW para integração com outras ferramentas de DW ou para uso como templates em novos projetos. 1 Star Schema ou esquema em estrela é uma metodologia de modelagem de dados, onde os dados são modelados em tabelas dimensionais ligadas a uma tabela de fatos (MOREIRA, 2006). 2 Drill Down é uma técnica que possibilta fazer um particionamento nas informações, ou seja, partir de dados globais, consolidados, e gradativamente fazer um detalhamento dos mesmos (BISPO, 1998, p. 117). 4 1.2 RELEVÂNCIA DO TRABALHO Pode-se separar a relevância da construção de um banco de dados baseado em DW em aspectos técnicos para a área de computação e práticos para os administradores de empresas e instituições que necessitam absorver o máximo de informações de seus dados operacionais. Dentre os aspectos técnicos deve-se: a) conseguir integrar dados e metadados de diferentes fontes; b) apresentar qualidade nos dados como refinamento e limpeza, que visa tratar possíveis inconsistências e incompatibilidades dos dados; c) sumarizar e detalhar dados em diferentes níveis de agregação; d) sincronizar as fontes de dados com o ambiente de DW a fim de garantir a atualização dos dados; e) solucionar problemas de desempenho relacionados ao compartilhamento de um mesmo ambiente computacional que abriga dados operacionais e o DW. Dentre os aspectos práticos deve-se: a) realizar consultas como base para uma melhor tomada de decisões; b) revelar históricos dos dados de forma resumida e detalhada; c) apresentar as informações da empresa de modo consistente; d) ser adaptável e flexível a mudanças; e) reduzir custos; f) criar indicadores baseados em fatos, gerando conhecimento de situações reais do operacional. Deste modo, a implementação da ferramenta aqui proposta contemplará questões importantes para a área de Computação, pois se pretende não apenas construir um DW específico, mas fornecer uma ferramenta genérica para a construção e implantação de um DW, sem perder de vista sua usabilidade, dando suporte tanto ao projetista do DW quanto ao seu usuário. Além de disponibilizá-la para uso didático aos alunos e professores das disciplinas de Banco de Dados do curso de Ciência da Computação e Sistemas de Informação. 5 1.3 METODOLOGIA O trabalho será desenvolvido observando as seguintes etapas: a) levantamento bibliográfico: realizar levantamento da bibliografia sobre DW, sistemas On-Line Transaction Processing (OLTP) e On-Line Analytical Processing (OLAP), modelagem dimensional, cubo de decisão, programação Java para web e banco de dados MySQL, SQL Server, Oracle e outros; b) levantamento técnico: pesquisar a tecnologia Java e web para cada camada de desenvolvimento como Java Runtime Environment (JRE), Swing, Java Database Connectivity (JDBC), pool de conexões, Java Transaction Manager (JTA), Hibernate, framework3 Struts, Java Server Pages (JSP), HyperText Markup Language (HTML) e Eclipse; c) elicitação de requisitos: detalhar e reavaliar os requisitos, observando as necessidades levantadas durante a revisão bibliográfica; d) especificação da ferramenta: especificar a ferramenta com análise orientada a objeto utilizando a Unified Modeling Language (UML). Será utilizada a ferramenta Enterprise Architect para o desenvolvimento dos diagramas de caso de uso, de classes e de sequência; e) implementação: implementar a ferramenta proposta utilizando banco de dados MySQL para o metadados, linguagem de programação Java para camada cliente e servidor utilizando framework Struts para web, Hibernate para mapeamento objeto-relacional, JSP e HTML para interfaces web com recursos gráficos utilizando o pacote Swing e linguagem Structured Query Language (SQL) para montagem das consultas que irão alimentar o DW; f) projeto de validação: para validação da ferramenta serão construídos pelo menos três projetos de DW a serem definidos no decorrer deste trabalho; g) testes: utilizar dados operacionais de empresas corporativas em cima dos projetos de DW. As etapas serão realizadas nos períodos relacionados no Quadro 1. 3 Framework é um conjunto de classes e interfaces que cooperam para resolver um tipo de problema de software (LIMA, 2005). 6 2007 fev. mar. abr. maio jun. etapas / quinzenas 1 2 1 2 1 2 1 2 1 2 levantamento bibliográfico levantamento técnico elicitação de requisitos especificação da ferramenta implementação projeto de validação testes Quadro 1 – Cronograma das etapas 7 2 REVISÃO BIBLIOGRÁFICA Dentro do tema principal proposto neste trabalho, são apresentadas as principais características e recursos esperados em uma ferramenta de DW. Na seção 2.1 é realizado um comparativo entre sistemas OLTP, OLAP e DW. Na seção 2.2 é apresentado a modelagem dimensional e o conceito de cubo de decisão. Na seção 2.3 são relacionadas as principais características de um ambiente DW e de uma ferramenta de suporte ao DW. Na seção 2.4 é feita uma abordagem ao processo de extração, transformação e carga dos dados. Na seção 2.5 é definido o conceito de um metadado e suas principais funcionalidades. Na seção 2.6 são descritos três trabalhos correlatos. 2.1 OLTP X OLAP X DW OLTP são sistemas que se encarregam de registrar todas as transações ocorridas dentro de um processo organizacional, sem se preocupar na execução de análises. Os sistemas ERP são um grande exemplo desta categoria. Segundo Kimball (1998 apud COME, 2001, p. 19), enquanto um sistema OLTP pode processar milhares, ou até mesmo milhões, de transações diárias porém envolvendo uma pequena quantidade de dados, um DW geralmente processa poucas transações por dia mas cada transação podendo conter até milhões de registros. OLAP descreve uma classe de tecnologias que são projetadas para análise de dados. O objetivo é analisar relacionamentos complexos determinando padrões, tendências e condições de exceção. Relatórios de negócios, gerenciais, marketing, financeiros e outras áreas são aplicações típicas de OLAP. Para Samtani et al. (1998 apud COME, 2001, p. 19) o DW, junto com o OLAP, permite aos tomadores de decisão de negócios, abordar, analisar e entender os problemas de negócios usando uma certa criatividade. O DW inclui o processo de extração, transformação e carga, enquanto as aplicações OLAP apenas se preocupam em analisar os dados, ou seja, o DW é a base para o OLAP. 8 2.2 MODELAGEM DIMENSIONAL E CUBO DE DECISÃO Para Kimball (1997 apud COME, 2001, p. 51) modelagem dimensional é uma técnica utilizada para a definição do projeto lógico de um DW. Três conceitos básicos são importantes nesta modelagem: tabelas fatos que representam as transações de negócios, as dimensões que são os diferentes tipos de visões que os usuários irão utilizar para analisar as métricas e os indicadores ou métricas que podem ser definidos como os atributos numéricos de um fato representando o comportamento de um negócio para as dimensões. Um cubo de decisão nada mais é, do que uma metáfora para a idéia de múltiplas dimensões. Abaixo segue uma figura que representa exatamente cada conceito dentro de uma modelagem dimensional: Figura 1 – Modelo Dimensional Fonte: Tronchin (1998 apud COME, 2001, p. 52) 2.3 CARACTERÍSTICAS DO AMBIENTE DATA WAREHOUSE Segundo Atkinson e Dill (2005), um DW consiste em organizar os dados corporativos da melhor maneira, para dar subsídio de informações aos gerentes e diretores das empresas para tomada de decisão. Tudo isso num banco de dados paralelo aos ambientes operacionais 9 da empresa. Para identificar estas principais características é apresentado um comparativo entre o ambiente operacional e o DW (Quadro 2). Característica Ambiente operacional Data Warehouse Detalhados Detalhados e sumarizados Tipo de dados Por aplicação Por assunto Organização dos dados Atual e volátil Histórica e não-volátil Tipo de informação Dirigido a transação (OLTP) Dirigido a análise (OLAP) Processamento Normalizado Desnormalizado Redundância Variável Uniforme Estado do dado Manutenção do negócio Análise do negócio Objetivo Quadro 2 – Ambiente operacional versus data warehouse Fonte: Come (2001, p. 18) De acordo com Kimball e Ross (2002, p. 3), as características de uma ferramenta de DW devem objetivar as necessidades dos setores de qualquer empresa, escutando sempre o que a gerência tem a dizer, tornando suas afirmações em requisitos de DW. Para uma ferramenta de DW, algumas características são fundamentais para tornar um projeto baseado em dados confiável, seguro e principalmente de fácil manipulação e adequação ao negócio. Pode-se citar algumas principais como: a) recursos de visualização como alertas, rankings, detalhamento, particionamento das informações em níveis através do Drill Down, gráficos e outros; b) integração com outras ferramentas de visualização de dados; c) gerenciamento do metadados permitindo definir o perfil dos usuários que acessam os dados; d) modelagem dos dados usando técnicas, como por exemplo, o Star Schema que permite criar um cubo de decisão com indicadores e chaves de referências às dimensões e seus atributos. e) manipulação, formatação e apresentação dos dados de modo rápido e flexível fazendo com que a apresentação de relatórios na tela seja mais comum do que imprimi-los. 2.4 EXTRAÇÃO, TRANSFORMAÇÃO E CARGA O processo de Extração, Transformação e Carga (ETC) é o mais importante e 10 trabalhoso na construção de um DW. Durante essa etapa é importante ter uma eficiente integração de dados, já que os mesmos podem vir de múltiplas fontes. Sua transformação deve ser feita de forma a gerar informações consistentes e de qualidade. Essa etapa é caracterizada por ser uma das mais críticas já que uma informação carregada erroneamente trará conseqüências imprevisíveis nas fases posteriores (SILVA, 2005, p. 19). Durante o processo de ETC, segundo Silva (2005, p. 19) cada etapa possui suas características e dificuldades: a) extração de dados: os dados podem vir de diferentes fontes e sistemas além de estarem disponibilizados em diferentes plataformas e tecnologias, o que demanda, em alguns casos, modos de extração diferenciados. Os dados extraídos devem ser selecionados segundo o modelo de dados gerado pela etapa de modelagem do DW. Em decorrência disso, a extração dos dados torna-se muito dependente da qualidade com a qual a modelagem foi realizada. É importante também se obter dados o mais recentes possíveis para garantir que o DW contenha informações sempre atualizadas; b) transformação dos dados: um dos tratamentos durante esta etapa é a checagem da integridade dos dados, verificando se chaves estrangeiras realmente existem nas respectivas tabelas. Outro aspecto a ser observado é a padronização dos dados que serão incluídos no DW já que estes podem ser de diferentes sistemas, tendo, portanto, formatos diferentes. Também a limpeza dos dados tratando possíveis inconsitências e incompatibilidades, eliminação de dados inúteis e sumarização são importantes nesta etapa; c) carga dos dados: é nesta etapa que são realizados os tratamentos dos dados rejeitados. Campos que não possuem dados devem apresentar um valor padrão. Há duas formas de efetuar a carga dos dados: incremental, onde os dados são atualizados com novas informações sendo incluídas, e a total, onde todos os registros são excluídos e inseridos novamente. 2.5 METADADOS Pode-se definir como metadados de um DW, os dados do dado, ou seja, este deve conter muito mais do que as descrições de colunas e tabelas, contendo informações que 11 adicionem valor aos dados. Como todo sistema, a documentação do DW é de extrema importância para o entendimento de um projeto (VIEIRA, 2000). Portanto, de acordo com Vieira (2000) vale enumerar algumas informações que o metadados deve conter: a) a estrutura dos dados segundo a visão do programador e dos analistas de SAD; b) a origem das fontes de dados que alimentam o DW; c) a transformação dos dados ocorrida no processo de migração para o DW; d) o modelo de dados e seu relacionamento com o DW; e) o histórico das extrações de dados; f) as informações sobre as consultas e relatórios; g) acesso e segurança; h) os indicadores de qualidade de dados. 2.6 TRABALHOS CORRELATOS As principais ferramentas de DW disponíveis hoje no mercado são muitas vezes desenvolvidas pelas grandes empresas de banco de dados operacionais, como a Oracle e a própria Microsoft com o SQL. Porém, diversas empresas hoje investem em ferramentas de apoio aos seus sistemas Enterprise Resources Planning (ERP), como o SigaDW da Microsiga Software. O Oracle Discoverer é uma ferramenta de Business Intelligence (BI) para apoio à tomada de decisão empresarial. As consultas realizadas no Oracle Discoverer podem ser exibidas em formato de tabela ou matriz, permitindo a definição de campos de seleção de página para o filtro dos dados apresentados. Várias facilidades de formatação de campos e modificação de layout das consultas estão disponíveis, permitindo assim, que formatações condicionais de fontes e cores sejam definidas para cada uma das colunas consultadas. Além disso, existe a possibilidade de movimentação, ordenação e agrupamento das colunas de dados além de permitir a exportação dos relatórios formatados para arquivos HTML e para o Microsoft Excel, além de outros formatos possíveis (MARQUES, 2005). A nova versão do SQL Server 2005 da Microsoft contém dois novos componentes de apoio ao processo de DW, os quais são: SQL Server 2005 Business Intelligence Development Studio e o SQL Server 2005 SQL Server Management Studio. Alguns recursos disponíveis 12 são: análise OLAP, integração com serviços de ETC, relatórios, DW e Data Mining. O SQL Server 2005 inclui avanços significativos ao gerenciamento de dados corporativos nas seguintes áreas: disponibilidade, escalabilidade, segurança, gerenciamento e interoperabilidade (MICROSOFT BRASIL, 2005). A Microsiga Software, empresa do setor de ERP, possui um recurso de construção de DW cuja principal característica é a integração de sua linguagem proprietária dentro das consultas de extração de dados, permitindo assim utilizar recursos de funções prontas para setores empresariais na montagem da carga de dados. Com o SigaDW, a Microsiga passa a oferecer um produto que segue o padrão de mercado de DW, oferecendo em uma mesma ferramenta opções de ETC e visualização das consultas. Outras características são: modelagem dimensional utilizando as técnicas de esquema estrela e cubo de decisão, totalmente executável em ambiente web, desenvolvido na linguagem padrão da Microsiga e com componentes em Java, acesso a diversos bancos de dados através de conexões Open Database Connectivity (ODBC) ou acesso direto a tabelas do tipo Database Files (DBF) e está totalmente incorporado ao ERP da Microsiga (MICROSIGA SOFTWARE, 2006). 13 3 REQUISITOS DO SISTEMA A SER DESENVOLVIDO A ferramenta de DW deverá: a) montar o modelo star schema que irá definir os cubos de decisão, suas dimensões, atributos e seus indicadores de negócio (requisito funcional - RF); b) realizar consultas em formato tabela ou gráfico, usando recursos Drill Down (RF); c) implementar recursos de ranking e filtros nas consultas (RF); d) extrair dados de diferentes tipos de fontes suportadas pelas interfaces de conexão JDBC, como: banco de dados, arquivos texto e planilhas (RF); e) transformar os dados operacionais em dados gerenciais conforme definição do cubo de decisão (RF); f) carregar os dados transformados no DW (RF); g) criar conexões e definir suas fontes de dados, para utilizar na criação de dimensões e cubos de decisão (RF); h) criar rotinas de agendamentos para as cargas de dados de cada fonte definida no projeto de DW controlado através de logs gerados pelo sistema (RF); i) exportar o metadados em formato Extensible Markup Language (XML) (RF); j) apresentar documentação do metadados do projeto de DW em formato HTML (RF); k) apresentar interfaces diferenciadas para usuários e administradores (RF); l) ser implementado usando o ambiente Java (requisito não-funcional – RNF); m) desenvolver mapeamento objeto-relacional utilizando o Hibernate (RNF); n) garantir a segurança dos dados através de uma arquitetura voltada para a web (RNF). 14 4 CONSIDERAÇÕES FINAIS Com o propósito principal de obter informações gerenciais detalhadas e resumidas em dados operacionais, sugere-se o desenvolvimento de uma ferramenta que aplique os conceitos e técnicas de um sistema de apoio a decisão, neste caso o DW. A mesma auxiliará no processo de extração de dados, transformando-os em informações e apresentando-os de forma a obter indicações da evolução e histórico dos dados. A ferramenta irá através dos cubos de decisão orientar as informações por assunto, permitindo montar consultas para cada característica em comum que os dados possam apresentar. Irá ainda, de forma integrada, preocupar-se em trazer dados que possuam informações idênticas, porém de diferentes fontes unificando o estado do dado. O metadados do projeto de DW poderá ser exportado em formato XML incluindo toda a estrutura de objetos referente ao modelo de dados, além de servir como uma documentação e referência futura a novos projetos. Todas as ferramentas relacionadas nos trabalhos correlatos são proprietárias e de alto custo, o que leva os usuários sem recursos financeiros a manter planilhas gerenciais como forma de controlar e centralizar seus dados operacionais, sem uma técnica específica e segurança confiável, fatores estes que incentivaram o desenvolvimento deste trabalho. Pode-se ainda afirmar que em relação aos trabalhos correlatos, a ferramenta possuirá características bem parecidas no quesito técnicas e conceitos de implementação. Porém como a mesma será de uso livre, através de qualquer navegador de internet e com integração para qualquer banco de dado operacional que possua sua interface de conexão implementada em JDBC, tem-se um grande diferencial de usabilidade. 15 REFERÊNCIAS BIBLIOGRÁFICAS ATKINSON, Rodrigo; DILL, Sérgio L. Como organizar um banco de dados moderno e eficiente: uma metodologia para desenvolvimento de data warehouse. Paraná, 2005. Disponível em: <http://www.pr.gov.br/batebyte/edicoes/2005/bb147/como.shtml>. Acesso em: 10 set. 2006. BISPO, Carlos. Uma análise da nova geração de sistemas de apoio a decisão. 1998. 174 f. Dissertação (Mestrado em Engenharia da Produção) – Curso de Pós-graduação em Engenharia da Produção, Universidade de São Paulo, São Carlos. Disponível em: <http://www.teses.usp.br/teses/disponiveis/18/18140/tde-04042004-152849/>. Acesso em: 19 set. 2006. COME, Gilberto. Contribuição ao estudo da implementação de data warehousing: um caso no setor de telecomunicações. 2001. 132 f. Dissertação (Mestrado em Administração) – Curso de Pós-graduação em Administração, Universidade de São Paulo, São Paulo. Disponível em: < http://www.teses.usp.br/teses/disponiveis/12/12139/tde-19042002183028/>. Acesso em: 19 set. 2006. DW BRASIL. Características de um data warehouse. Brasília, 2005. Disponível em: <http://www.dwbrasil.com.br/html/artdw_carac.html>. Acesso em: 11 set. 2006. INMON, William H. Como construir o data warehouse. Tradução Ana Maria Netto Guz. Rio de Janeiro: Campus, 1997. KIMBALL, Ralph; ROSS, Margy. The data warehouse toolkit: guia completo para modelagem dimensional. 2. ed. Tradução Ana Beatriz Tavares e Daniela Lacerda. Rio de Janeiro: Campus, 2002. LIMA, Gleydson. Frameworks para desenvolvimento web. [S.l.], 2005. Disponível em: <http://www.j2eebrasil.com.br/jsp/artigos/artigo.jsp?idArtigo=0002>. Acesso em: 19 set. 2006. MARQUES, Sandro. Oracle Discoverer: uma ferramenta de suporte à decisão para o Oracle E-Business Suite (relatórios para o Oracle E-Business Suite). São Paulo, 2005. Disponível em: <http://www.albaspectrum.com/PressReleases/POR-Oracle-Discoverer-PressRelease.htm>. Acesso em: 12 set. 2006. MICROSIGA SOFTWARE. Protheus: help. Version 8.11. [S.l.], 2006. Documento eletrônico disponibilizado com o Ambiente Protheus 8.11. MICROSOFT BRASIL. Gerenciamento de dados corporativos. São Paulo, 2005. Disponível em: <http://www.microsoft.com/brasil/sql/2005/overview2.mspx>. Acesso em: 19 set. 2006. 16 MOREIRA, Eduardo. Modelo dimensional para data warehouse. São Paulo, 2006. Disponível em: <http://www.scielo.br/scielo.php?pid=S0104530X2005000100006&script=sci_arttext>. Acesso em: 19 set. 2006. SILVA, Diogo. SITC: uma ferramenta de transformação e carga para um data warehouse. 2005. 31 f. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Instituto de Matemática, Universidade da Bahia, Salvador. Disponível em: <http://twiki.im.ufba.br/bin/view/MAT057/TrabalhosSemestre20052#SITC_Uma_ferramenta _de_Transform>. Acesso em: 19 set. 2006. VIEIRA, Fernando. Alguns conceitos sobre DW. São Paulo, 2000. Disponível em: <http://www.datawarehouse.inf.br/>. Acesso em: 19 set. 2006.